Become a Validator
How to become a Validator / Install Node
Validator Parameters
Minimum Staking Size:
200,000 VCMaximum Validator Size:
15x the self-stake amountMinimum Hardware Requirements:
m6i.large or better (2 vCPUs, 8GB RAM), 200GB SSDUnlock / withdrawal period (from when you undelegate; both must elapse):
Validator self-stake: 180 epochs and 3 days. Delegations to the validator: 6 epochs and 1 day.Rewards:
Block rewards from self-stake + 15% of delegators' rewards. APY varies based on staked %.
Validators
After installing a Read-Only Node, you can upgrade to a VinuChain validator by registering your validator node on-chain. To do this, you need to have at least 200,000 VC to create a validator wallet. The wallet is the validator’s identity in the network which it uses to authenticate, sign messages, etc.
A validator is a network participant responsible for confirming and validating transactions, producing new blocks, and securing the network's consensus protocol. Validators play a critical role in maintaining the integrity and security of the VinuChain blockchain.
Validators receive block rewards for their contribution to the network.
If you have not installed your Read-Only Node yet, please begin at the previous page!
Create a validator wallet
The node is now running and syncing the network in your current console, so you need to open up a new console window, connect via SSH to the server and enter the following commands to create a validator wallet:
After entering the command, you will get prompted to enter a password for the account (= wallet) — use a strong one! You can e.g. use a password manager to generate a 20+ digit password to secure your wallet. It will look something like this:

NEVER share your private key or keystore with anyone!
Fund your validator wallet
The next step is to fund your validator wallet with enough VC to become a validator. That means you need to have at least 200,000 VC in the wallet you just created (send a little more to cover transaction fees). After successfully sending the VC to your newly created Opera wallet, you can register your validator via the SFC Smart Contract.
Make sure you wait for your node to be fully synced, otherwise your VC will not show up in your wallet!
Create a new validator key
We have to create validator private key to sign consensus messages with. It can be done only using go-opera

Follow the prompts and supply the password, the output is as follows:
Create your validator via the SFC
You should wait for your node to sync to the latest block of the network before proceeding.
Attach to Opera console
To proceed, open up the console where you entered the commands to create the validator wallet previously and attach to the Opera node console:
By doing so, you will get a JavaScript console where you can directly interact with the Opera node and e.g. send transactions (which you will do in a moment):

Initialize SFC
Fetch the current SFC ABI from the authoritative contract registry (VinuChain/Vinuchain-Lists) and build a console script — run this on the host shell:
(The script lands under your home directory rather than world-writable /tmp, so another local user cannot swap it before you load it.)
then load it inside the Opera console by pasting the loadScript line the script printed (this initializes both abi and the sfcc contract object in one step):
After loading the script, you can now interact with the network's SFC. The registry ABI tracks the deployed bytecode across SFC patch upgrades — always re-fetch it rather than pasting an ABI from an old guide or pastebin (stale ABIs are missing newer functions such as reactivateValidator).
Sanity check
Enter the following command to check that everything works as expected:
If it looks like this, everything is OK (you should not get an error here):

Get your validator ID
Next, try to get your ValidatorID from the SFC using your previously generated validator wallet address:
Use quotes for "VALIDATOR_WALLET_ADDRESS".
This should return 0, as you are not registered as a validator yet:

Unlock validator wallet
Next, unlock your validator wallet to be able to execute the registration transaction (make sure to use the password you set before).
Note that, you can perform this step (unlockAccount + createValidator) in a separate machine (different from the machine you'll run your validator node), or it'd be even more secure if you use hardware wallet to do it.
Use quotes for "VALIDATOR_WALLET_ADRESS" and "PASSWORD".
This will return “true” if unlocking the wallet was successful:

Register your validator
Next, send the createValidator transaction to register your validator (the value is the representation of the smallest VC unit, so it must be divided by 1e18.
Alternatively, you can use web3.toWei("200000.0", "vc")).
Use quotes for "0xYOUR_PUBKEY" and "0xYOUR_ADDRESS".
0XYOUR_ADDRESS refers to the wallet created on the validator.
0xYOUR_PUBKEYMUST be the canonical 66-byte lachesis-base format — paste thePublic key:value from theopera validator newoutput verbatim. The string starts with0xc004…and is 134 characters long including the0xprefix. Do not strip the0xc0type-byte or hand-construct the value: the canonical format is0xc0(Secp256k1 type byte) +0x04(uncompressed-key marker) + 32-byte X coordinate + 32-byte Y coordinate. The SFC contract rejects any other shape with"invalid pubkey length"or"invalid pubkey type". A validator registered with a malformed pubkey cannot produce verifiable consensus events and any stake delegated to it earns zero rewards.

Check your registration transaction
Make sure to check your registration transaction (could take a few moments to be confirmed):
Look for the status: “0x1” at the bottom, which means the transaction was successful:

You can also copy the transactionHash and go to VinuScan to check your transaction there:
https://mainnet.vinuscan.com/tx/[YOURTX]
This would look something like the below:

Check your validator ID
Finally, execute the following command again to check your validatorID:
It should now return something other than “0”:

Congratulations, you are now a VinuChain validator!
Close the Opera console window by typing “exit”.
Run your VinuChain validator node
Restart your node in validator mode
Before you run off celebrating, you need to restart your node in validator mode!
Make sure your node is already synced to the latest block in read mode, and it's synced in --syncmode full.
Stop the opera process (read mode):
or
Create an empty file and paste validator node password into it.
Then head back to the console window where you started your node with the following command:
Mainnet:
Testnet:
You must replace
ID&VALIDATOR_PUBKEY&PATH_TO_PASSWORDFILEvariables with your own values.
Update validator info
Name & Logo
If you'd like to set up a Name and logo for your node, please go to Update Validator Info
Last updated