Where can I track my validator performance?
How to run a node on Gnosis Chain?
What is reward & penalties?
Where can I find hardware requirements to run a node?
Hardware requirements differ by client but generally are not that high. To get a better idea, you can check each specific client’s hardware requirements here: https://docs.gnosischain.com/node/#hardware
How did the merge impact my GBC node?
The Ethereum Mainnet merged with the beacon chain proof-of-stake system. This marked the end of proof-of-work for Ethereum, and the full transition to proof-of-stake. The Gnosis Beacon Chain (GBC) serves in a frontrunning capacity for important Ethereum consensus-layer updates.
My nethermind xdai is lagging, it never seems to catch up to 100%. It fluctuates between 97-99.5% synced. I’m using nethermind xdai execution client, lighthouse gnosis consensus client and the web3 gnosis signer.
- update all packages to the latest version (core, EL, CL, web3signer, etc)
- turn on EL + CL and check if both are on sync before turning on the validator (see that lighthouse has 2 processes, 1 beacon and 1 validator)
- (a) if both are on sync, turn on the validator and check 10 minutes later the beacon explorer (b) if you don’t get both to the head, let me know here and we can troubleshoot together.
My validator is constantly missing attestations. Several of my validators are said to be inactive and getting penalized on beacon.gnosischain.com, although logs show errors that I don’t understand. And half of them are active and well (all running on the same physical machine).
Solution from discord user @pyk: https://discord.com/channels/502416149343109121/920642136272166972/1055445460023783525
This happens on my end due to one beacon node cannot handle all validators request (hence some validators miss their attestations while others dont) and sometimes beacon node lose all its peers.
My solution is to run a few beacon nodes (lodestar) connected to one execution node (nethermind), so I have backup when one beacon node disconnected from their peers.
For example here is how to connect multiple beacon nodes in one validator (lodestar):
I added 3 validators and skipped the “Step 3: Upload Keystores to Web3Signer” in dappNode and got error: Status: error ❌ Message: Error importing keystore: Unable to add validator. Check that the keystore file format is valid and the password is correct.” . I went directly to “Step 4: Fund Your Validators”. Now I see they are active but missing attestations. The password is correct and the keystore files are the same I used in step 4.
- Double-check that you’re uploading your keystores to web3signer Gnosis
- Try restarting both Web3Signer Gnosis and your Consensus Client
- If this is the first time you’re uploading your keystores, make sure you uncheck the import slashing data option
- Triple-check your password is right and was inputed as you intended
Which clients are supported by GBC?
Lighthouse, Prysm, Nimbus, and Teku clients. Read more here.
How long does it take to sync the node?
Along with running the GBC client you can also consider running a Gnosis Node to connect with (optional - recommended for experienced node runners only).
Syncing Gnosis using Nethermind requires ~200GB (and growing) of data to download. You may encounter some errors during syncing. Depending on your setup, you can expect it to take anywhere from a few hours to several days.
- Can I use a node provider to run a Gnosis node?
Check the RPC Providers page for the complete list.
- Can I use DappNode?
- Help! I've lost my validator keys
You are responsible for your keys (deriving and storing your keys and mnemonic securely). If you lose them or your keys are compromised, there is no recourse to recover your funds.
- What is a validator?
Validators propose and vote on blocks to include in the chain. The chain is secured by a staked amount of GNO. Validators stake GNO and receive additional GNO as rewards for correct behavior (proposing and attesting blocks) and a slashed balance as penalties for incorrect behavior (offline node, attesting invalid blocks).
- What is the deposit contract?
The deposit contract keeps track of validators and staking amounts. The GBC deposit contract is based on the original Ethereum beacon chain deposit contract, with some additional functionality.
- Contract Security Audit by Chainsecurity: https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/
- GBC Contract Address: 0x0B98057eA310F4d31F2a452B414647007d1645d9
- How much do validators earn in rewards?
This varies based on how many validators are participating. As the number of validators increases, the reward for validation is reduced as security becomes increasingly decentralized. Additional info is available on the incentives page.
You can view the current reward yield and other statistics on the Gnosis Beacon Chain Dune Analytics dashboard.
- How many validator processes can run per node?
It is possible to run multiple validator processes on a single node with GBC. A 4CPU/8GB node handled 256 validators during testing processes, although for higher decentralization it is recommended to run multiple nodes for this number of validators. The safe recommendation for multiple validators per node is 128.
- How long does fast sync take with Nethermind?
It depends on the mode and hardware specifications. Typically 24 hours should be allowed.
- For more information on syncing with Nethermind see https://github.com/NethermindEth/docs/blob/master/ethereum-client/sync-modes.md
- To learn more about reading logs during syncing see https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started#explaining-nethermind-logs
Shapella & Validator withdrawal FAQs
What is Shapella?
Shapella refers to the combination of both Shanghai and Capella. Shanghai enables GNO staking withdrawals for Gnosis Chain, unlike the previous model that doesn’t allow for staked GNO to be withdrawn. Shanghai is the name given to the execution layer (EL) upgrade, while Capella is the name of the coinciding consensus layer (CL) upgrade.
What are withdrawals?
Validator withdrawal allows a validator’s account balance to get withdrawn from Beacon Chain to Execution Layer, in the form of GNO. The GNO will be accrued on validator’s withdrawal address on the Execution Layer, which is set using
eth1_withdrawal_addressoption during validator key generation.
What are two types of withdrawals?
There are 2 types of withdrawals: Partial Withdrawal and Full Withdrawal. Partial Withdrawal: Any balance in excess of 1 GNO from the account balance gets withdrawn back to withdrawal address. Full Withdrawal: All the balance from validator’s account gets withdrawn back to withdrawal address. This has to be initiated by validator, signing
voluntary_exitmessage and broadcasting it to the network. It is irreversible.
What are 0x00 and 0x01 withdrawal credentials prefixes?
The beacon chain validators have a field called withdrawal credentials, where the first byte is referred to as the withdrawal prefix. Currently, this value can be either 0x00 or 0x01, depending on how it is set during the deposit process using a deposit tool. Validators with 0x00 withdrawal credentials won’t have immediate withdrawal capabilities. To enable partial and full withdrawals and unlock their funds, these validators must undergo a one-time migration to 0x01. As this is a one time process, it is essential to be careful performing it.
How do I change my withdrawal credential?
You can find a full tutorial on how to change your withdrawal credential here.
I have been running multiple validators. Can I set up the same withdrawal credential for all of them?
Yes, you can set up the same withdrawal credential for all of your validators and can also set up different withdrawal credentials for individual validators.
Where can I check my withdrawal credential?
Do partial withdrawals happen automatically?
As we have modified some specs regarding the withdrawals to enable withdrawing GNO instead of the native gas token xDai, unlike Ethereum, partial withdrawals currently do not happen automatically. So, for now, you will need to call
claimWithdrawal function on the contract. However, it is in our plans to automate and subsidize partial withdrawals in the future.
Do full withdrawals happen automatically?
No. If your validator is currently active and participating in the beacon chain, then the full withdrawal will not happen automatically. You will have to manually initiate an exit to cause this.
Additionally, if you initiate an exit but still have a 0x00 withdrawal credential, your funds will not be withdrawn until a
BLSToExecutionChangemessage is included on chain.
Is there a UI that I can use for withdrawals?
No, as you will have to interact with the beacon chain, it is not feasible to provide a UI that encompasses all the clients.
Where does the automatic balance withdraw to?
In case you are using a legacy withdrawal credential 0x00, it will not be withdrawn and you will have to perform a migration to 0x01 credentials to complete the withdrawal. If you have already configured your withdrawal address and have a withdrawal credential of 0x01, then rewards in excess of 1 GNO (32 mGNO) will be transferred to your withdrawal address.
Once I have changed my credential to 0x01, can I change it to an alternative withdrawal address?
No, the migration from 0x00 to 0x01 is a one time process and once you set the address, it cannot be changed. Please make this migration with the utmost care. Note, the withdrawal credential can either be an externally-owned account (EOA) or a smart contract such as a SAFE.
I have lost the private key to my withdrawal address, what can I do?
Unfortunately, there is nothing that can be done if the withdrawal address is lost. Please ensure this address is properly backed up and securely stored.
What happens to my GNO if I make a full withdrawal but I forget to set the withdrawal credential to 0x01?
Nothing. Your validator will exit, and will no longer be assigned duties, neither able to earn nor lose any more additional GNO. You may still migrate your withdrawal credentials from 0x00 to 0x01. Once this is done, the validator’s balance will be withdrawn to the address you specify.
Can I cancel a withdrawal request that is in the queue?
No you cannot, this is a one time, irreversible process. Once you submit your withdrawal request (BLSToExecutionChange and/or exit) you can’t go back. Please only exit or change credentials when you are fully aware of what the specific operation will do and with utmost caution.
Where can I find the client updates for Shapella?