Join the Hegemon testnet using the shared chainspec, verify genesis, sync to the tip, and enable mining safely.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: hegemon-testnet-join
description: Join the Hegemon testnet using the shared chainspec, verify genesis, sync to the tip, and enable mining safely.
compatibility: Requires ./target/release/hegemon-node, ./target/release/walletd, network access to hegemon.pauli.group:30333, and a shared chainspec at config/dev-chainspec.json.
metadata:
repo: Reflexivity/Hegemon
version: "1.0"
---
# Goal
Connect a new node to the Hegemon testnet, verify it is on the canonical chain, and mine only after sync completes.
# Defaults
- Boot node: hegemon.pauli.group:30333
- Chain spec: config/dev-chainspec.json
- Genesis hash: 0xcaa718106d1530705c53a99628d929cd78d47a0bf06b177aa4853962b47c637d
- RPC port: 9944
- P2P listen: /ip4/0.0.0.0/tcp/30333
# Steps
1. Ensure binaries exist (fresh clones must run make setup and make node):
- make setup
- make node
- cargo build --release -p walletd
2. Verify the shared chainspec matches the boot node. Do not use --chain dev.
- shasum -a 256 config/dev-chainspec.json
3. Create or open a wallet and export the shielded mining address:
- export HEGEMON_MINER_ADDRESS=$(printf '%s\n{"id":1,"method":"status.get","params":{}}\n' "YOUR_PASSPHRASE" \
| ./target/release/walletd --store ~/.hegemon-wallet --mode open \
| jq -r '.result.primaryAddress')
4. Start the node with the shared chainspec and seed:
- HEGEMON_MINE=1 \
HEGEMON_SEEDS="hegemon.pauli.group:30333" \
HEGEMON_MINER_ADDRESS="$HEGEMON_MINER_ADDRESS" \
./target/release/hegemon-node \
--dev \
--base-path ~/.hegemon-node \
--chain config/dev-chainspec.json \
--listen-addr /ip4/0.0.0.0/tcp/30333 \
--rpc-port 9944 \
--rpc-external \
--rpc-methods safe \
--name "TestnetNode"
5. Monitor sync status and height. Mining pauses while syncing and resumes once caught up.
- curl -s -H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"system_health"}' \
http://127.0.0.1:9944 | jq
- curl -s -H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"hegemon_consensusStatus"}' \
http://127.0.0.1:9944 | jq
- curl -s -H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"chain_getHeader"}' \
http://127.0.0.1:9944 | jq
6. If height stalls, check peers and genesis hash:
- curl -s -H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"chain_getBlockHash","params":[0]}' \
http://127.0.0.1:9944 | jq
# Notes
- If the genesis hash or chainspec differ, stop the node and wipe the base path before restarting.
- Keep RPC access locked down if you expose it beyond localhost.
No comments yet. Be the first to comment!