Skip to content

Add Running Genesis Mode HOWTO#2037

Open
dnadales wants to merge 1 commit into
mainfrom
damian/genesis-howto
Open

Add Running Genesis Mode HOWTO#2037
dnadales wants to merge 1 commit into
mainfrom
damian/genesis-howto

Conversation

@dnadales
Copy link
Copy Markdown
Member

Summary

  • Add an operational HOWTO for running Genesis-mode nodes, covering configuration, networking, small-testnet tuning, stall debugging, and tracer setup.

Motivation

The existing Genesis documentation (genesis_design.md) describes the design for implementers.
There was no documentation for people actually running, configuring, or debugging Genesis-mode nodes.

This gap became apparent while investigating sync stalls on the dijkstra and leios testnets (3 relays each).
The root cause was that MinBigLedgerPeersForTrustedState (default 5) prevents the HAA from being satisfied when the network has fewer than 5 big ledger peers — a fact not documented anywhere.
Lowering SyncTargetNumberOfActiveBigLedgerPeers alone is not sufficient; the HAA gate must also be lowered.

The new doc distills the debugging knowledge acquired during that investigation into reusable guidance.

Operational guide for running, configuring, and debugging Genesis-mode
nodes. Covers host networking (IPv4/IPv6), small-testnet peer selection
overrides (including MinBigLedgerPeersForTrustedState), sync stall
diagnosis, and tracer configuration.
@dnadales dnadales added no changelog skip-tests Skip building and running tests for this PR. Use for changes to documentation. labels May 11, 2026
@crocodile-dentist
Copy link
Copy Markdown
Contributor

lgtm, and indeed there is documentation on configuring and running in GenesisMode on the dev portal, in particular the note about MinBigLedgerPeersForTrustedState is mentioned.

Comment on lines +20 to +21
"UseTraceDispatcher": true,
"TurnOnLogging": true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last two are generic tracing options, rather than something Genesis related, using UseTraceDispatcher is probably not even necessary, e.g. one can run the new tracing system in a mode which traces to stdout rather than through the TraceDispatcher.

Comment on lines +33 to +36
```json
"HostIPv4Addr": "0.0.0.0",
"HostIPv6Addr": "::"
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I never used these config options (are you sure they exist?), there are CLI options for them in the node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog skip-tests Skip building and running tests for this PR. Use for changes to documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants