Run a Validator Node
A validator node participates in block production and consensus on the Shardeum testnet. It is used to test validator operations, node performance, and network behavior in a live environment.
Validator requirements and staking behavior on testnet may differ from mainnet.
Testnet configurations, chain IDs, staking requirements, and token availability may change. Always refer to the latest repository or official announcements.
1. System Requirements
- Operating System: Ubuntu 22.04 LTS
- CPU: 4 cores (8 threads recommended)
- RAM: 16GB
- Storage: 1TB NVMe SSD
- Network: 100 Mbps dedicated
- Dependencies: git, jq, curl, make, build-essential, pkg-config
- Go: Version 1.25+
Install dependencies:
2. Install Shardeum Node Binary
**Fetch the latest release tags and check out the currently supported testnet release. Replace <supported-testnet-release> in the command line below with the applicable release tag.
Check the official Shardeum EVM releases and use the release tag currently supported for Shardeum testnet.
Build and install the binary (may take several minutes):
Add the Go bin directory to PATH:
Verify the installation:
3. Set Environment Variables
4. Initialize the Node
Ensure your validator keys and mnemonic are stored securely. Loss of your mnemonic may prevent recovery of the validator account.
5. Copy Genesis File
Verify:
6. Start and Sync the Node
Monitor node logs::
Ensure the node is connected to peers and wait until it is fully synced before proceeding.
Wait until fully synced before proceeding.
Note: Initial sync may take time depending on hardware and network conditions.
You can verify sync status using:
7. Create the Validator Key
Only perform this step after the node is fully synced.
Or recover:
Retrieve your validator address:
Store your mnemonic phrase securely. It is required for recovery. Also, the operator may be prompted for a keyring passphrase.
8. Fund Your Validator (Testnet)
Your validator account needs testnet SHM to stake and pay transaction fees. Testnet SHM tokens can be obtained via faucets
Use official testnet faucets/community distribution channels to obtain testnet SHM tokens.
Verify balance:
9. Create Your Validator and Stake Testnet SHM
Get consensus key:
Create validator.json:
Adjust the stake amount based on current testnet requirements and your available testnet SHM balance.
Create validator:
10. Verify Validator Status
Look for:
- Status:
BOND_STATUS_BONDED - Voting power: greater than
0 - Jailed:
false
11. Optional: Run as a systemd Service
Check the installed Shardeum binary path:
Create the service file:
Example content:
Replace <shardeumd-binary-path> with the path returned by command -v shardeumd and <validator-id> with the validator node ID configured earlier.
If the validator is already running from the manual startup command above, stop that process before starting the systemd service.
**Reload systemd, then enable and start the service:
12. Important Notes
- Testnet Chain ID:
shardeum-testnet - EVM Chain ID:
8119 - Network: Shardeum EVM Testnet (subject to resets)
- Testnet SHM has no real-world monetary value.
- Testnet configuration and validator state may be reset or changed between testnet phases.
- Staking, slashing, validator-set parameters, and other network settings may differ from mainnet.
Validator Setup Complete
Your Shardeum testnet validator is now configured and participating in the network when bonded.
You can use the testnet validator environment for:
- Validator operations and testing
- Upgrade and maintenance testing
- Performance monitoring
- Network participation experiments