Starting the Node
To start the chainflip-node
, run the following command.
sudo systemctl start chainflip-node
To check on the service, we use status
.
systemctl status chainflip-node
On certain cloud service providers, such as Digital Ocean, a glitch with journald prevents it from correctly reading logs from other services. To address this issue, execute the command below:
sudo systemctl restart systemd-journald.service
At this point, you will need to wait for your node to catch up with the latest block. You can find the latest block on our Block Explorer. (opens in a new tab)
If you try to start your engine now it will crash. Wait for your node to sync before proceeding.
To view the live logs for the validator software, check on them via journalctl
. You can quit at anytime using ctrl/control + c
Check the Node:
journalctl -f -u chainflip-node.service
At the start, you should see that your node is synchronising to the network, something like this:
2023-03-24 08:21:30 π» Memory: 7957MB
2023-03-24 08:21:30 π» Kernel: 5.4.0-122-generic
2023-03-24 08:21:30 π» Linux distribution: Ubuntu 20.04.4 LTS
2023-03-24 08:21:30 π» Virtual machine: yes
2023-03-24 08:21:30 π¦ Highest known block at #0
2023-03-24 08:21:30 γ½οΈ Prometheus exporter started at 127.0.0.1:9615
2023-03-24 08:21:30 Running JSON-RPC HTTP server: addr=127.0.0.1:9933, allowed origins=Some(["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"])
2023-03-24 08:21:30 Running JSON-RPC WS server: addr=127.0.0.1:9944, allowed origins=Some(["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"])
2023-03-24 08:21:30 π Discovered new external address for our node: /ip4/178.128.36.211/tcp/30333/p2p/12D3KooWMDs3oyT2YpQw88V7TdmN1dJa73D1jrfQorLaBovh7Kim
2023-03-24 08:21:35 β© Warping, Downloading finality proofs, 7.99 Mib (10 peers), best: #0 (0x2d00β¦c9b3), finalized #0 (0x2d00β¦c9b3), β¬ 1.6MiB/s β¬ 27.8kiB/s
2023-03-24 08:21:40 β© Warping, Downloading finality proofs, 15.97 Mib (14 peers), best: #0 (0x2d00β¦c9b3), finalized #0 (0x2d00β¦c9b3), β¬ 1.7MiB/s β¬ 25.8kiB/s
2023-03-24 08:21:45 β© Warping, Downloading state, 40.83 Mib (15 peers), best: #0 (0x2d00β¦c9b3), finalized #0 (0x2d00β¦c9b3), β¬ 3.5MiB/s β¬ 14.0kiB/s
2023-03-24 08:21:50 β© Warping, Importing state, 58.00 Mib (15 peers), best: #0 (0x2d00β¦c9b3), finalized #0 (0x2d00β¦c9b3), β¬ 2.0MiB/s β¬ 3.1kiB/s
2023-03-24 08:21:54 Unable to author block in slot. No best block header: Chain lookup failed: Failed to get header for hash 0x0cdbβ¦b083
2023-03-24 08:21:55 β© Warping, Importing state, 58.00 Mib (15 peers), best: #1913239 (0x5b6bβ¦c1b3), finalized #1913239 (0x5b6bβ¦c1b3), β¬ 9.3kiB/s β¬ 1.3kiB/s
2023-03-24 08:21:56 Warp sync is complete (57 MiB), restarting block sync.
2023-03-24 08:21:57 β¨ Imported #1913240 (0xa922β¦5e2e)
2023-03-24 08:21:57 β¨ Imported #1913241 (0x3a15β¦012e)
2023-03-24 08:21:57 β¨ Imported #1913242 (0x0cebβ¦c1f8)
2023-03-24 08:21:57 β¨ Imported #1913243 (0xec83β¦ca57)
2023-03-24 08:21:57 β¨ Imported #1913244 (0x52c0β¦6594)
2023-03-24 08:22:00 β© Block history, #4480 (11 peers), best: #1913244 (0x52c0β¦6594), finalized #1913242 (0x0cebβ¦c1f8), β¬ 1.6MiB/s β¬ 110.4kiB/s
2023-03-24 08:22:00 β¨ Imported #1913245 (0xd0b4β¦45a0)
2023-03-24 08:22:05 β© Block history, #9152 (11 peers), best: #1913245 (0xd0b4β¦45a0), finalized #1913243 (0xec83β¦ca57), β¬ 859.4kiB/s β¬ 111.2kiB/s
2023-03-24 08:22:06 β¨ Imported #1913246 (0x93adβ¦15cd)
2023-03-24 08:22:10 β© Block history, #11840 (11 peers), best: #1913246 (0x93adβ¦15cd), finalized #1913244 (0x52c0β¦6594), β¬ 1.1MiB/s β¬ 146.3kiB/s
2023-03-24 08:22:12 β¨ Imported #1913247 (0x1e1cβ¦70df)
2023-03-24 08:22:15 β© Block history, #19392 (11 peers), best: #1913247 (0x1e1cβ¦70df), finalized #1913245 (0xd0b4β¦45a0), β¬ 2.1MiB/s β¬ 150.5kiB/s
2023-03-24 08:22:18 β¨ Imported #1913248 (0xbb74β¦9178)
2023-03-24 08:22:20 β© Block history, #28800 (11 peers), best: #1913248 (0xbb74β¦9178), finalized #1913246 (0x93adβ¦15cd), β¬ 2.9MiB/s β¬ 169.1kiB/s
2023-03-24 08:22:24 β¨ Imported #1913249 (0xb062β¦b457)
2023-03-24 08:22:25 β© Block history, #36288 (11 peers), best: #1913249 (0xb062β¦b457), finalized #1913246 (0x93adβ¦15cd), β¬ 2.4MiB/s β¬ 226.4kiB/s
2023-03-24 08:22:30 β© Block history, #41088 (11 peers), best: #1913249 (0xb062β¦b457), finalized #1913247 (0x1e1cβ¦70df), β¬ 1.6MiB/s β¬ 100.5kiB/s
2023-03-24 08:22:30 β¨ Imported #1913250 (0x4bc1β¦8362)
2023-03-24 08:22:35 β© Block history, #43200 (11 peers), best: #1913250 (0x4bc1β¦8362), finalized #1913248 (0xbb74β¦9178), β¬ 330.6kiB/s β¬ 145.2kiB/s
The systemd unit file shipped with our Debian package for chainflip-node
uses warp sync by default to make joining the network
a faster process for new nodes. However, if you are running a docker setup or building from source, make sure to set --sync=warp
CLI argument.
If you started syncing in archive
mode and you wish to update to warp
sync, make sure to purge the chain and start syncing using --sync=warp
. The sync parameters get stored in the node's database and simply updating the cli flag won't take effect.
To purge the chain, check this section.
Starting the Engine
To start the chainflip-engine
, we issue another command.
sudo systemctl start chainflip-engine
To check on the service, we use status
.
systemctl status chainflip-engine
Check the engine logs:
journalctl -f -u chainflip-engine.service
You should see some output that looks like this:
ββββββββββ βββ ββββββ βββββββ ββββββββββββββ ββββββββββ
βββββββββββ βββββββββββββββββββ ββββββββββββββ βββββββββββ
βββ βββββββββββββββββββββββββ βββββββββ βββ βββββββββββ
βββ βββββββββββββββββββββββββββββββββββ βββ ββββββββββ
βββββββββββ ββββββ βββββββββ βββββββββ ββββββββββββββ
ββββββββββ ββββββ βββββββββ ββββββββ ββββββββββββββ
Your Chainflip account is not funded. Note, it may take some time for your funds to be detected. WAITING for your account to be funded at block: 1
In the next section, you'll learn how to fund your node. After you do so the warnings should stop and the output will look something like this:
{"tag":"","msg":"Processing SC block 3591 with block hash: 0xe3ba3f20dc6d6d5956a88e5fcae06cdbb5c9cbf486a8db50cc5a1403bb4f0446","level":"debug","ts":"2022-11-08T15:56:13.652392888+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3592 with block hash: 0x34155ced75831f45b17af9a792e057eabe148428b450ece4408f546342343669","level":"debug","ts":"2022-11-08T15:56:19.052722257+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3593 with block hash: 0x50fdbb6ad0657f0d818e783330d697186d649e793046c7f67f8120559243b5d6","level":"debug","ts":"2022-11-08T15:56:25.782233200+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3594 with block hash: 0xb878309015b27f7b8bc19c67ff5774841d44d9ed4ce189ebd5df32d0a90e5ae5","level":"debug","ts":"2022-11-08T15:56:31.181866542+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3595 with block hash: 0xa047c1f10f595cd73148aa4866a40edb3da87ddd13ae03351c19a8d677cb99ec","level":"debug","ts":"2022-11-08T15:56:37.890330488+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3596 with block hash: 0xaecccf0842c7253bbbc736baa86cebc07d5e6dc6b5b95e73d1ace73e5552fcfd","level":"debug","ts":"2022-11-08T15:56:43.274036666+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3597 with block hash: 0xc4218c16ed3f6745433ec4b50dde94cb3b1a917ee8ddc35f17dc4e956380a787","level":"debug","ts":"2022-11-08T15:56:50.015185019+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3598 with block hash: 0x3a79dc208b48276e7b734da0c8702f817d1a435476d09cbd972f09d3e5786851","level":"debug","ts":"2022-11-08T15:56:55.406457068+00:00","component":"SCObserver"} {"tag":"","msg":"Processing SC block 3599 with block hash: 0x49a53aa5f42190e5dc38d2e44d96235c656eec4101edd7fb26869466635216c3","level":"debug","ts":"2022-11-08T15:57:00.797006133+00:00","component":"SCObserver"}
If the engine starts crashing and reporting errors, don't panic. Your node might be catching up and syncing blocks from the network. Give it some time and it should recover and start working. In the meantime you can head to the next section and start with the process of adding funds.
Enable systemd Services
Tell both the services to start again after a reboot:
sudo systemctl enable chainflip-node
sudo systemctl enable chainflip-engine
Anytime you make changes to your config file, don't forget to run: systemctl restart chainflip-engine