Run a node: common nodes and BP nodes¶
Node, CLI, and RPC examples target FullOn Core v0.9.2. Contracts, CDT, and wallets have independent versions; their stated verification scope does not automatically change with Core. See version baseline and migration.
For official container deployment, follow the Docker Compose tutorial, including docker-compose.yaml, network isolation, role selection, and health checks.
Choose a role¶
| Role | Responsibilities | Package | Producer identity/key needed? |
|---|---|---|---|
| Common synchronization / seed | Validate, synchronize, and relay P2P | flon-node core |
No |
| RPC | Current-state queries and transaction entry | flon-node core |
No |
| History | History indexes, Trace / State History | flon-node-history |
No |
| BP | Synchronize, validate, and produce when scheduled | flon-node core |
Yes |
A common node also validates blocks and need not be a BP. Actual production requires configured identity/signing, fulfillment of network requirements, and inclusion in the active schedule.
Installation and network preparation¶
- Choose a version/platform compatible with the target network from Core releases. The development branch is not a production release.
- Verify release checksums and extract the node package. CLI/wallet tools come separately in
flon-tools. - Obtain trusted genesis or a compatible snapshot, expected chain ID, P2P peers, and upgrade requirements from network operators.
- Give each process separate configuration/data directories; plan disk, logging, and monitoring. Snapshot format must match the version. A snapshot need not include history indexes.
Mainnet/testnet genesis, snapshot download URLs, and minimum hardware were not verified here; no guessed parameters are provided.
Start a common synchronization node¶
The archive includes config/seed.ini. Copy it into your own configuration and add network peers.
mkdir -p ./node-config ./node-data
cp ./config/seed.ini ./node-config/config.ini
# 启动前编辑 node-config/config.ini,补齐目标网络的 P2P 配置。
./bin/funod --config-dir ./node-config --config config.ini --data-dir ./node-data --genesis-json /path/to/verified-genesis.json
Replace /path/to/verified-genesis.json. This example initializes a new data directory. Follow version-specific rules when restarting existing state, and never mix another network's genesis into it. For snapshot recovery, consult that version's funod --help and release notes.
RPC node¶
The v0.9.2 config/rpc.ini preset enables net_api_plugin while binding ordinary HTTP to 0.0.0.0; default management validation rejects that combination. Do not simply disable protection. Remove unneeded management plugins or separate chain_ro/chain_rw from net_rw and monitoring categories with category listeners, keeping management on loopback or Unix sockets. See the RPC reference.
Additional BP steps¶
- Apply/register under current network governance and prepare separate production signing capability.
- Set
producer-name = yourbpaccountand configure the production public key through a protected signature provider. Keep private keys out of repositories, packages, and screenshots. - If the chain uses Savanna, complete its finalizer identity/key requirements. Verify production signing and finalizer duties separately.
- Synchronize to head and check the active producer schedule and finalizer policy. Registration does not guarantee active scheduling.
- Monitor actual production, missed blocks, LIB progression, and signer health. Do not run uncoordinated simultaneous signing instances for one production identity.
Bind BP HTTP locally and use separate RPC/History nodes for public queries. producer-name alone does not establish BP eligibility.
Acceptance and troubleshooting¶
Check expected chain ID, advancing head/LIB, P2P connections, resources/disk, errors, and required APIs. A core binary cannot enable history plugins omitted at build time.
Sources and scope¶
Source 1, Source 2. Source review: 2026-11-02. This does not verify the version deployed on every network.