-
Notifications
You must be signed in to change notification settings - Fork 1
Validator Guide
How to run a Sentrix node — from source build to validator participation.
Authoritative validator documentation: docs.sentrixchain.com/operations/VALIDATOR_GUIDE and VALIDATOR_ONBOARDING. This wiki is a quick-reference summary.
Currently 4 Foundation-operated validators (Foundation, Treasury, Core, Beacon). Open external onboarding is on the roadmap — criteria, cadence, and timing will be published when the operator-readiness framework is finalized. No specific quarter committed.
If you want to run a testnet validator today, that's open — see below.
Requirements:
- Rust 1.95+
- LLVM (for mdbx bindgen)
-
build-essential,cmake,protoc,pkg-config - Linux, ≥ 4 GB RAM, ≥ 60 GB NVMe/SSD
- Stable network — public IP for libp2p peering
git clone https://github.com/sentrix-labs/sentrix.git
cd sentrix
cargo build --workspace --release
cargo test --workspaceBinary: target/release/sentrix.
sentrix wallet generate
# Outputs address + private key. Save the key in a secure location — never commit.Don't pass private keys on the command line. Use Argon2id-encrypted keystore:
sentrix wallet encrypt \
--private-key 0x<key> \
--output /opt/sentrix/wallets/mykey.keystoreThe keystore is decrypted at node startup with a password (provided via env var or interactive prompt). Compromise of the keystore file alone does not expose the validator key.
sentrix init --admin-address 0x<your_validator_address>This creates chain.db/ and wallets/ under the working directory.
sentrix start \
--validator-keystore /opt/sentrix/wallets/mykey.keystore \
--peers <peer1>:<port>,<peer2>:<port>,...For testnet, peer addresses + bootstrap config are listed in docs.sentrixchain.com/operations/NETWORKS.
# Node alive + height advancing
curl -s http://localhost:8545/chain/info | jq
# Active validator set
curl -s http://localhost:8545/validators
# Liveness — should return 200
curl -sf http://localhost:8545/healthOnce registered as a validator (StakingOp::RegisterValidator or AddSelfStake post-fork), your wallet bonds SRX as self-stake. The active validator set is selected by top-N by total stake (self + delegated).
Validators earn:
- Block rewards (V4 distribution, pro-rata to stake)
- Tx fees (50% of
MIN_TX_FEEper tx in your block)
Both flow through PROTOCOL_TREASURY and are claimed via StakingOp::ClaimRewards. Full details: docs.sentrixchain.com/operations/CLAIM_REWARDS.
Two slashable conditions (post JAIL_CONSENSUS_HEIGHT activation):
- Double-signing: signing two blocks at the same height
- Liveness violation: missing too many blocks in the liveness window
Slashing burns a portion of self-stake and jails the validator (skipped from active set until Unjail opcode is called after cooldown).
Recovery if jailed:
- Wait cooldown
-
StakingOp::AddSelfStaketo clear shortfall (if slashed below minimum) StakingOp::Unjail
- Halt-all + simul-start for binary upgrades on mainnet — never rolling restart (causes BFT livelock from cascade-jailing). Operators run mainnet binary deploys via the hot-fix tooling that enforces this pattern.
- chain.db rsync from canonical is the recovery path for state-fork incidents (rare; happened once on 2026-04-28 during a deploy).
Full operator runbooks: docs.sentrixchain.com/operations.
When external onboarding opens, technical requirements (minimum self-stake, hardware spec, uptime SLA, networking tier) will be published in docs.sentrixchain.com/operations/VALIDATOR_ONBOARDING. Until then, run a testnet validator to demonstrate operational readiness.
Get Started
Build
Operate
Reference