Running a QP node requires setting up the configuration for the sourcechain and destinationchain pairs, it is essential to set these values up correctly or the transactions will fail.
The network_vec contains the list of chains that the miner/finaliser will connect to, this should include the url of the chain, the qp ledger manager address and the chain id of the respective chain.
signer_public_key contains the public key of the address you will use to sign the mine/finalise transactions, do ensure that the address has balance to execute the transactions on both chains.
authority_manager_contract_addres refers to the address of the QP authority manager contract.
NODE_ROLE signifies the role you choose for the node, it should be one of QP_FINALIZER or QP_MINER
An example config for mining between Mumbai testnet and BSC testnet would be as follows :
Next, make sure you set the ownership and permissions accordingly for the local directory that stores the chain data. In this case, set the necessary permissions either for a specific or current user (replace DOCKER_USER for the actual user that will run the docker command):
# chown to a specific usermkdir/var/lib/ferrum-datachownDOCKER_USER/var/lib/ferrum-data# chown to current usersudochown-R $(id-u):$(id-g) /var/lib/ferrum-data
Before you can start the node, you have to insert the keys
You need to insert the ofsg key for the account to sign and post transactions on the QP chains
Once the node has started, your output should look similar to this
2023-04-2817:22:41FerrumParachain2023-04-2817:22:41✌️version0.0.1-742b47b9d102023-04-2817:22:41❤️byFerrumNetwork<https://github.com/ferrumnet>,2020-20232023-04-2817:22:41📋Chainspecification:FerrumTestnet2023-04-2817:22:41🏷Nodename:TestNode2023-04-2817:22:41👤Role:AUTHORITY2023-04-2817:22:41💾Database:RocksDbat./chain/alice/chains/ferrum_testnet/db/full2023-04-2817:22:41⛓Nativeruntime:ferrum-parachain-1 (ferrum-parachain-0.tx1.au1) 2023-04-2817:22:43assemblingnewcollatorsfornewsession0at#0 2023-04-2817:22:43assemblingnewcollatorsfornewsession1at#0 2023-04-2817:22:43Parachainid:Id(1000) 2023-04-2817:22:43ParachainAccount:5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ2023-04-2817:22:43Parachaingenesisstate:0x000000000000000000000000000000000000000000000000000000000000000000cb981b199b0dfb2631bbac63b767890daad314c0ce7b0d681e0fa76354a9b89803170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314002023-04-2817:22:43Iscollating:yes2023-04-2817:22:43 [Parachain] assembling new collators for new session 0 at #0 2023-04-2817:22:43 [Parachain] assembling new collators for new session 1 at #0
Depending on how long the testnet has been running, your node will take a while to sync with the latest state of the network.
Run using binary
Install the required dependencies to compile rust and substrate, refer the documentation here : https://docs.substrate.io/install/
Once the node has started, your output should look similar to this
2023-04-2817:22:41FerrumParachain2023-04-2817:22:41✌️version0.0.1-742b47b9d102023-04-2817:22:41❤️byFerrumNetwork<https://github.com/ferrumnet>,2020-20232023-04-2817:22:41📋Chainspecification:FerrumTestnet2023-04-2817:22:41🏷Nodename:TestNode2023-04-2817:22:41👤Role:AUTHORITY2023-04-2817:22:41💾Database:RocksDbat./chain/alice/chains/ferrum_testnet/db/full2023-04-2817:22:41⛓Nativeruntime:ferrum-parachain-1 (ferrum-parachain-0.tx1.au1) 2023-04-2817:22:43assemblingnewcollatorsfornewsession0at#0 2023-04-2817:22:43assemblingnewcollatorsfornewsession1at#0 2023-04-2817:22:43Parachainid:Id(1000) 2023-04-2817:22:43ParachainAccount:5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ2023-04-2817:22:43Parachaingenesisstate:0x000000000000000000000000000000000000000000000000000000000000000000cb981b199b0dfb2631bbac63b767890daad314c0ce7b0d681e0fa76354a9b89803170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314002023-04-2817:22:43Iscollating:yes2023-04-2817:22:43 [Parachain] assembling new collators for new session 0 at #0 2023-04-2817:22:43 [Parachain] assembling new collators for new session 1 at #0
Depending on how long the testnet has been running, your node will take a while to sync with the latest state of the network.