ShardeumShardeum Logo
Connect to ShardeumDelegate NowGithubPartnership EnquiriesTestnet Quickstart
Shardeum Documentation
Shardeum Documentation
Shardeum Documentation
What is Shardeum?Network Endpoints & ExplorerEVM Overview
Supported Wallets
Developers
Testnet Quickstart
Deploy Smart Contracts
Deploy dApps
JSON-RPC GuideNetwork InterfacesIntegration & Tools
Node TypesRun a Full NodeRun a Validator NodeAdvanced OperationsRun an RPC NodeDelegate SHM
Node Setup OverviewRun an RPC NodeRun a Full NodeRun a Validator Node
Ecosystem
Houdini SwapNordstern.Finance
Run a Node on Testnet

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:

sudo apt update
sudo apt install git jq curl make build-essential pkg-config -y

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.

git clone https://github.com/shardeum/shardeum-evm.git
cd shardeum-evm
git fetch --tags
git checkout <supported-testnet-release>

Build and install the binary (may take several minutes):

make install

Add the Go bin directory to PATH:

echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc

Verify the installation:

shardeumd version
command -v shardeumd

3. Set Environment Variables

export SHARDEUM_CONFIG_DIR="$PWD/config"
export SHARDEUM_NETWORK=testnet
export SHARDEUM_CHAIN_ID=shardeum-testnet

4. Initialize the Node

Ensure your validator keys and mnemonic are stored securely. Loss of your mnemonic may prevent recovery of the validator account.

NODE_ID="<validator-id>"
MONIKER="<validator-name>"
 
shardeumd init "$MONIKER" \
  --chain-id shardeum-testnet \
  --home $HOME/.testnet/$NODE_ID \
  --overwrite

5. Copy Genesis File

cp config/environments/testnet-genesis.json $HOME/.testnet/$NODE_ID/config/genesis.json

Verify:

jq -r '.chain_id' $HOME/.testnet/$NODE_ID/config/genesis.json

6. Start and Sync the Node

shardeumd start \
  --home $HOME/.testnet/$NODE_ID \
  --chain-id shardeum-testnet \
  --p2p.seeds "[email protected]:27656,[email protected]:27656,[email protected]:27656" \
  --p2p.laddr tcp://0.0.0.0:27656 \
  --rpc.laddr tcp://127.0.0.1:26657 \
  > $HOME/.testnet/$NODE_ID/node.log &

Monitor node logs::

tail -f $HOME/.testnet/$NODE_ID/node.log

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:

shardeumd status | jq '.SyncInfo'

7. Create the Validator Key

Only perform this step after the node is fully synced.

shardeumd keys add validator-key

Or recover:

shardeumd keys add validator-key --recover

Retrieve your validator address:

shardeumd keys show validator-key -a

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:

shardeumd query bank balances $(shardeumd keys show validator-key -a)

9. Create Your Validator and Stake Testnet SHM

Get consensus key:

shardeumd comet show-validator --home $HOME/.testnet/$NODE_ID

Create validator.json:

Adjust the stake amount based on current testnet requirements and your available testnet SHM balance.

{
  "pubkey": {
    "@type": "/cosmos.crypto.ed25519.PubKey",
    "key": "<your consensus key>"
  },
  "amount": "1000000000000000000ashm",
  "moniker": "<your validator name>",
  "commission-rate": "0.10",
  "commission-max-rate": "0.20",
  "commission-max-change-rate": "0.01",
  "min-self-delegation": "1"
}

Create validator:

shardeumd tx staking create-validator validator.json \
  --from=validator-key \
  --chain-id shardeum-testnet \
  --gas="auto" \
  --gas-adjustment="1.5"

10. Verify Validator Status

shardeumd query staking validator $(shardeumd keys show validator-key --bech val -a)

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:

command -v shardeumd

Create the service file:

sudo nano /etc/systemd/system/shardeumd-testnet.service

Example content:

[Unit]
Description=Shardeum Testnet Validator
After=network-online.target
 
[Service]
User=root
ExecStart=<shardeumd-binary-path> start \
  --home /root/.testnet/<validator-id> \
  --chain-id shardeum-testnet \
  --p2p.seeds "[email protected]:27656,[email protected]:27656,[email protected]:27656" \
  --p2p.laddr tcp://0.0.0.0:27656 \
  --rpc.laddr tcp://127.0.0.1:26657
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
 
[Install]
WantedBy=multi-user.target

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:

sudo systemctl daemon-reload
sudo systemctl enable shardeumd-testnet
sudo systemctl start shardeumd-testnet
sudo systemctl status shardeumd-testnet

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

Previous

Run a Full Node

Next

Ecosystem

On this page

1. System RequirementsInstall dependencies:2. Install Shardeum Node Binary3. Set Environment Variables4. Initialize the Node5. Copy Genesis File6. Start and Sync the Node7. Create the Validator Key8. Fund Your Validator (Testnet)9. Create Your Validator and Stake Testnet SHM10. Verify Validator Status11. Optional: Run as a systemd Service12. Important NotesValidator Setup Complete

Footer

Company name

EVM L1 for Real-World Asset Tokenization

© 2026 Shardeum, Inc. All rights reserved.

XGitHubYouTube

General

  • Home
  • Ecosystem
  • Testnet Quickstart
  • Blog

Community

  • Telegram
  • Discord
  • Twitter
  • GitHub

Resources

  • Explorer
  • Whitepaper
  • FAQs
  • Brand Assets
  • Public Drive

Contact

  • General Enquiries
  • Partnership Enquiries
  • Report Bugs
  • Report Security Issue