Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Genesis Block

This section is directly derived from the go-algorand reference implementation.

The genesis block defines the Algorand “universe”, which is initialized with:

  • The initial account states (GenesisAllocation), which includes the ALGO balance and the initial consensus participation state (and keys),

  • The initial consensus protocol version (GenesisProto),

  • The special addresses (FeeSink and RewardsPool),

  • The schema of the Ledger.

⚙️ IMPLEMENTATION

Genesis type definition in the reference implementation.

⚙️ IMPLEMENTATION

GenesisBalances type definition in the reference implementation. It contains the information needed to generate a new Ledger:

  • Balances: a map with the account data for each address,
  • FeeSink: address where fees are collected,
  • RewardsPool: address holding distribution rewards (legacy),
  • Timestamp: time when the object is created.

Genesis Block Example

The Algorand MainNet genesis block is available as JSON file.