Mainnet
Hardware Requirements
Minimum | Recommendation |
RAM Memory 64GB | RAM Memory 128GB |
CPU 8 cores | CPU 12 cores |
Storage 1TB | Storage 2TB |
Network 1Gbps+ | Network 5Gbps+ |
Step 1: Create a Validator Account
First, run the keygen command with your desired validator key name.
This will derive a new private key and encrypt it to disk. Make sure to remember the password you used.
The output will contain a mnemonic phrase that represents your key in plain text. Make sure to save this phrase as a backup of your key, since without a key you will not be able to control your validator. The phrase is better be backed up on physical paper, storing it in cloud storage may compromise your validator later.
Remember the address starting from inj
, this is going to be your Injective Validator Account address.
Step 2: Obtain Mainnet INJ
To proceed with the next step, you will need to obtain some real INJ on Mainnet Ethereum (ERC-20 token address 0xe28b3b32b6c345a34ff64674606124dd5aceca30
).
Step 3: "Transfer" INJ to your validator account on Injective
Deposit your Mainnet INJ tokens into your validator's account on Injective by using the staking dashboard. You will have to connect your wallet on our Hub and then deposit INJ from Ethereum Mainnet network. This will trigger an automated bridge that maps tokens from Ethereum network to Injective.
After a few minutes, you should be able to verify that your deposit was successful on the UI. Alternatively, you can query your account balance using the injectived
CLI with the following command:
Step 4: Create your validator account
Obtain your node's Tendermint validator Bech32 encoded PubKey consensus address.
Then create your new validator initialized with a self-delegation with your INJ tokens. Most critically, you will need to decide on the values of your validator's staking parameters.
--moniker
- Your validator's name--amount
- Your validator's initial amount of INJ to bond--commission-max-change-rate
- Your validator's maximum commission change rate percentage (per day)--commission-max-rate
- Your validator's maximum commission rate percentage--commission-rate
- Your validator's initial commission rate percentage--min-self-delegation
- Your validator's minimum required self delegation
Once you decide on your desired values, set them as follows.
Then run the following command to create your validator.
Extra create-validator
options to consider:
You can check that your validator was successfully created by checking the staking dashboard or by entering the following CLI command.
If you see your validator in the list of validators, then congratulations, you've officially joined as an Injective Mainnet validator! 🎉
Step 5: (Optional) Delegate Additional INJ to your Validator
To gain a deeper empirical understanding of user experience that your future delegators will experience, you can try delegation through Staking Guide.
These steps will allow you to experience the delegation flow using MetaMask Transactions. 🦊
Alternatively, you can always use the Injective CLI to send a delegation transaction.
Step 6: (Recommended) Connecting Your Validator Identity with Keybase
By adding your Keybase pubkey to your validator identity information in Injective, you can automatically pull in your Keybase public profile information in client applications like the Injective Hub and Explorer. Here's how to connect your validator identity with your Keybase pubkey:
Create a validator profile on Keybase at https://keybase.io/ and make sure it's complete.
Add your validator identity pubkey to Injective:
Send a
MsgEditValidator
to update yourIdentity
validator identity with your Keybase pubkey. You can also use this message to change your website, contact email, and other details.
That's it! Once you've connected your validator identity with Keybase, the Injective Explorer and Hub can automatically pull in your brand identity, and other public profile information.
Next Steps
Next, proceed to set up your Ethereum Bridge Relayer. This is a necessary step to prevent your validator from being slashed. You should do this immediately after setting up your validator.
Last updated