Goal
This procedure records the current chain state and future history, without previous historical data on the local chain.
Before you begin
- Make sure EOSIO is installed.
- Learn about Using Nodeos.
- Get familiar with state_history_plugin.
Steps
- Get the following:
- A portable snapshot (
data/snapshots/snapshot-xxxxxxx.bin) - Optional: a block log which includes the block the snapshot was taken at
- A portable snapshot (
-
Make sure
data/statedoes not exist -
Start
nodeoswith the--snapshotoption, and the options listed in thestate_history_plugin. -
Look for
Placing initial state in block nin the log, where n is the start block number. -
Start a filler with
--fpg-create(if PostgreSQL),--fill-skip-to n, and--fill-trim. Replacenwith the value above. - Do not stop
nodeosuntil it has received at least 1 block from the network, or it won’t be able to restart.
Remarks
If nodeos fails to receive blocks from the network, then try the above using net_api_plugin. Use cleos net disconnect and cleos net connect to reconnect nodes which timed out.
| [[caution | Caution when using net_api_plugin]] |
Either use a firewall to block access to your http-server-address, or change it to localhost:8888 to disable remote access. |
[[info]]
| Whenever you run a filler after this point, use the --fill-trim option. Only use --fpg-create and --fill-skip-to the first time.
[[info]]
| On large chains, this procedure creates a delta record that is too large for javascript processes to handle. 64-bit C++ processes can handle the large record. fill-pg and fill-lmdb break up the large record into smaller records when filling databases.