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
andRewardsPool
), -
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.