Bidding & Staking
Before your Validator is considered for the active set, you must stake the necessary amount of tFLIP.
The Staking Web App currently supports MetaMask Wallets only.
Becoming a Chainflip Validator requires you to own some
tFLIPand win a Validator slot in an auction cycle. The amount of tFLIP that you need to own in order to participate as a Validator is not fixed and will change on a fairly regular basis. For this reason it is recommended that you have more
tFLIPthan the current minimum cost of a Validator node if you want to continue staking through multiple epochs.
The current amount of
tFLIPrequired to become an Active Validator can be checked on the Chainflip Auctions page.
tFLIP is an ERC20 token on the Ethereum Goerli Testnet.
To get tFLIP:
- Send a message containing your Node Public Key and you wallet address. You should have gotten this ID during the setup process in the Generating Keys section of the docs
We will send youtFLIP after verifying you have setup a node.
Remember to import the
tFLIPToken using the address above in order for the assets to show up in your wallet. tFLIP Address:
For the remainder of this guide, we will assume that you have an adequate amount of
tFLIP, but you can proceed with the rest of the steps without tokens until you reach the staking stage.
Finally, you do not need to move the tFLIP to your Validators' Ethereum wallet. You should use your Ethereum wallet connected to Goerli and use that to stake instead.
To become an active validator, you'll need to win an Auction. To win an auction, you'll need to stake some
tFLIP. For more information about Auctions and how they are supposed to work, you can check out this article: Chainflip Validator Auction Theory.
In order to stake your $tFLIP, you should use the Staking App. You could also interact with the Smart Contract directly, but since that's ugly we'll use the Dashboard for the purposes of this tutorial.
- 1.Make sure you have
tFLIPin your Metamask. The contract address is
- 3.Connect your Metamask wallet with the
- 4.Click the button "+ Add Node" -> You should see the "Register new node" modal
- 5.Enter the Validator ID you got during Generating Keys step — your
Public Key(SS58)— and the amount of
tFLIPyou want to stake. Click on "Stake"
- 6.Metamask will ask you to sign two transactions. The first one is a token approval and the second one transfers and stakes your
- 7.Congrats! You should see the new node on "My Nodes" page
- 8.Once you have successfully staked, jump back to your terminal and run the following.sudo systemctl restart chainflip-engine
You have not finished all the steps! Please continue to the bottom of your page otherwise your node will show as Offline
Even after you successfully staked, your node could still be in the Offline state. Just wait for your node to sync all the blocks
Before you start bidding to become an Authority node, you need to tell the network that your account will be used by a node performing the Validator role, and register the cryptographic keys that will be used for consensus.
If you don't follow all of these steps, your Validator cannot be selected to win an Auction.
Please ensure that all connections on ports
8078are not blocked! Some VPS providers enable an all-port firewall by default, but if this is not the case your node will not be able to participate in Keygen / Signing ceremonies.
🚨 As a result of this you node will never become active and you'll be slashed and might lose all your tFLIP.
First, make sure your node is fully synced! Otherwise the cli commands will likely fail.
Register your account for the Validator role by running the following command:
sudo chainflip-cli --config-root /etc/chainflip register-account-role Validator
It may take some time in order to have the account activated as Validator after running the last command.
If everything worked, you should see a transaction hash, also known as an 'extrinsic hash,' displayed on your terminal by the CLI. Congratulations! You just submitted a transaction to the Chainflip State Chain! You can go and check on it by copying the extrinsic hash and pasting it into https://blocks-perseverance.chainflip.io/.
🐞 Bug Alert 🐞
For the remaining commands, the CLI may incorrectly report success! Please copy and paste the extrinsic hash into the block explorer to ensure it suceeded. If you see an ExtrinsicFailed event, this means you need to try again.
Registration gives your account access to Validator-specific commands on the State Chain. The first of these is rotating and registering your authorship keys:
sudo chainflip-cli --config-root /etc/chainflip rotate
Now your node should be synced, your account be fully registered, your ports open, your Chainflip Engine humming along. Check the logs once more, check your node status in the web app, then crack your knuckles one more time and signal your intent to bid in the next auction:
sudo chainflip-cli --config-root /etc/chainflip start-bidding
Optionally, you can set a Vanity Name for your validator by running:
You can really help us by setting your Vanity Name as your Discord username. It helps us know who to contact if we find a problem.
sudo chainflip-cli --config-root /etc/chainflip vanity-name <my-discord-username>
Once the Auction cycle is complete, the network will attempt to include your node in the next Key generation ceremony, and if successful, you'll be a real Authority! Remember you can always add more
tFLIPto have a better chance at winning an Auction.