What are the steps to getting a single-node validator in a private network (using the solana-validator binary) running? The current setup I'm doing is

solana-genesis \
  --enable-warmup-epochs \
  --cluster-type development \
  --bootstrap-validator "$HOME/validator-keypair.json" "$HOME/vote-account-keypair.json" "$HOME/validator-stake-keypair.json" \
  --ledger "$LEDGER_DIR"

solana-validator \
  --allow-private-addr \
  --enable-rpc-transaction-history \
  --full-rpc-api \
  --no-poh-speed-test \
  --dynamic-port-range 8200-8300 \
  --identity "$HOME/validator-keypair.json" \
  --incremental-snapshot-interval-slots 200 \
  --log "$LEDGER_DIR/validator.log" \
  --public-rpc-address "$GOSSIP_HOST:8111" \
  --vote-account "$HOME/vote-account-keypair.json" \
  --ledger "$LEDGER_DIR"

but my validator is stuck with messages saying Haven't landed a vote, so skipping my leader slot after the initial ____ reset PoH to tick 64 (within slot 0). My next leader slot is 1.

If I pass the --no-wait-for-vote-to-start-leader flag to the validator, I instead get messages saying slot_state_update: DuplicateConfirmed(DuplicateConfirmedState { duplicate_confirmed_hash: ___, bank_status: Frozen(___) }).

Are there any flags I need to pass during genesis or to the validator to allow it to run and permanently stay as the single-node leader?

  • This doesn't address your exact question, since you're asking about how to run a single solana-validator instance, but how about just using solana-test-validator? That gives all of the functionality that you need without the gossip and voting, which are unnecessary for a single-validator cluster.
    – Jon C
    Feb 6, 2023 at 22:06
  • Did you ever find an answer to this? I am seeing the same results trying to start my own cluster...
    – T3chie
    Apr 2, 2023 at 23:13


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.