How To Set Up A Collator For Bifrost Finance With OnFinality
OnFinality's one-click node solution enables web3 users to deploy collators, validators and archive nodes quickly and easily across its 80 supported networks!
OnFinality is a blockchain infrastructure platform that saves web3 builders time and makes their lives easier. We deliver easy-to-use, reliable and scalable API endpoints for the biggest blockchain networks and empower developers to automatically test, deploy, scale and monitor their own blockchain nodes in minutes.
We are already supporting over 80 networks including Avalanche, BNB Chain, Cosmos, Polkadot, Ethereum, and Polygon, and are continuously expanding these mission-critical services to other ecosystems to help developers build the decentralised future, faster!
Introduction
In this How-To Guide, you will learn how to set up your own Collator for Bifrost Finance, which will enable you to earn block rewards. This guide should be used alongside Bifrost Finance’s official guide which is kept up to date and includes more detail.
What is Bifrost Finance ($BNC)?
Bifrost Finance is a web3 derivatives protocol that provides decentralised cross-chain liquidity for staked assets. By leveraging on the cross-consensus message (XCM) it can provide cross-chain liquid staking services for multiple chains.
Its mission is to provide standardised cross-chain interest-bearing derivatives for Polkadot relay chains, parachains, and other application-specific chains bridged with Polkadot.
Why run a Collator for Bifrost Finance
A collator plays an essential role in the Bifrost Finance network and is responsible for crucial tasks, including block production and transaction confirmation.
Useful Links
Disclaimer
Running a Collator comes with a high risk and requires a high level of technical knowledge and skill. As per our Terms of Service, OnFinality is neither responsible for any rewards nor losses, such as from slashing, incurred when running a Collator node on OnFinality. Users should read and fully understand the relevant documentation for the Network before setting up the node, and get in touch directly with the Network if they have any questions or concerns.
HOW TO SET UP A BIFROST FINANCE COLLATOR
1. Log in to OnFinality
Create an account and log in to OnFinality, then add a payment method.
2. Create Dedicated Node
Select the Dedicated Nodes menu and press “Deploy New Node”
2.1 Select Network
Search for Bifrost and then click “Deploy Node”
2.2 Configure Bifrost Node
Enter an easily identifiable Display Name and select the Collator Node Type. Select the latest Image Version.
Scroll down to set the Cloud Provider and Region where you will run the node. Networks may have a preference of where you should run your collator, so check with their official documentation.
Look out for the Lightning Restore indicator to get the node running as fast as possible.
Use at least the recommended configuration suggested by the network, then press “Next”
2.3 Configure Launch Arguments
Next, review the node’s Launch Configuration. The recommended settings are usually sufficient, but we recommend comparing with official documentation to be certain.
Press “Next” at the bottom of the screen
2.4 Review Node
Finally, review the node’s settings and press “Deploy Node”
3. Sync Your Dedicated Node
Once your node is successfully deployed, you can find it in the “Dedicated Nodes” section on our portal. Click on your node and confirm the following:
- Relay chain/ parachain blocks are syncing appropriately
- No configuration errors in the console log. You can find your console by clicking on “Console logs” on the top right hand.
- CPU, Memory, and Storage are within reasonable range of use.
You can cross-reference the respective network blocks on the PolkadotJS App.
4. Set up Accounts and Stake
To run a collator you will need to set up two accounts:
Stash account
This account holds funds bonded for staking, but delegates some functions to the Controller account. It can be kept in a cold wallet, meaning it can stay offline all the time.
Controller account
This account acts on behalf of the Stash account, signalling decisions and necessary execution for staking. It only needs enough funds to pay transaction fees.
5. Generate Session Keys
Session keys are what links the validator or collator to your account.
First, locate your Dedicated Node’s RPC endpoints under API Endpoints. Access is secured by an API Key at the end of the URL, so keep it safe and private.
Option 1 — Polkadot-JS:
Copy your RPC — Websocket endpoint into the Polkadot-JS Custom Endpoint and press save to connect to the node
Navigate to Developer > RPC Calls and submit an author rotateKeys call.
Record the result.
Option 2 — CLI:
Generate the session keys on your Dedicated Node via the author_rotateKeys RPC Request, using your Dedicated Node’s RPC — Http url.
Example request
curl **Node’s RPC Http endpoint here** -H \ “Content-Type:application/json;charset=utf-8” -d \
‘{
“jsonrpc”:”2.0",
“id”:1,
“method”:”author_rotateKeys”,
“params”: []
}’
You will get a response like this
{
“jsonrpc”: “2.0”,
“result”:”0xc05a9d093e4db4c1bde31977716e7a0a39d6f3d1f1bf749e7fec8371147de730af6860aeef81a11130c9fcd317b96e736f6c36141c28f382a18f9faf6e7df797eaa951ead00d12db10937003f0956e3d3444d1774d452ed045dbc1b84d1bf1471abf5d77bf5033845f01be1188a852c6f0ba703042b4d06d14314841c1096c50",
“id”:1
}
The content after “result” is the session keys of your collator node
6. Set Session Keys
In Polkadot.js portal open Developer > Extrinsic
Select your collator account and extrinsic type: session / setKeys
Enter the session keys using the response from author_rotateKeys in step 5,
Submit the transaction.
7. Apply for Candidate
First, you need to get the candidatePool size (this can change through governance) as you’ll need to submit this parameter in a later transaction. To do so, you’ll have to run the following JavaScript code snippet from within Polkadot.js:
// Simple script to get candidate pool size
const candidatePool = await api.query.parachainStaking.candidatePool();
console.log(`Candidate pool size is: ${candidatePool.length}`);
Head to the “Developer” tab, select “JavaScript” from the dropdown, and take the following steps:
- Copy the code from the previous snippet and paste it inside the code editor box. (Optional) Click the save icon and set a name for the code snippet, for example, “Get candidatePool size”. This will save the code snippet locally
- To execute the code, click on the run button
- Copy the result, as you’ll need it when joining the candidate pool
8. Bond Funds
Go to the Polkadot.js portal: Developer > Extrinsic
parameters:
To start collating, you will need to have candidate bonding amount of 5,000,000,000,000,000 (5,000 BNCs)
Submit the transaction.
Congratulations!
If you have followed all of these steps, and been selected to be a part of the collator set, you are now running a Bifrost Collator!
If the total amount of Total Bonded is in the top 16, after 2 rounds, the new Collator can start to generate blocks and receive rewards.
More Resources:
Developer documentation: https://documentation.onfinality.io/support/
About OnFinality
OnFinality is a blockchain infrastructure platform that saves web3 builders time and makes their lives easier. OnFinality delivers scalable API endpoints for the biggest blockchain networks and empowers developers to automatically test, deploy, scale and monitor their own blockchain nodes in minutes. To date, OnFinality has served over hundreds of billions of RPC requests across 80 networks including Avalanche, BNB Chain, Cosmos, Polkadot, Ethereum, and Polygon, and is continuously expanding these mission-critical services so developers can build the decentralised future, faster!