AI Network

Block Structure

Structure of a block:
  • Block
    • header
      • epoch: The epoch number at which the block was created.
      • number: The number of this block that is incremented by 1 as a new block is created. The genesis block has a block number of 0.
      • last_hash: The hash of the previous block in the blockchain.
      • last_votes_hash: The hash of the last_votes (propose, > 2/3 pre-votes and pre-commits) from validators that were used to reach consensus on the previous block.
      • transactions_hash: The hash of the list of transactions that are included in the block.
      • timestamp: The unix timestamp for when the block was collated.
      • proposer: The node who created and proposed the block.
      • size: The size of the block.
      • state_proof_hash: The hash of the state tree.
      • validators: List of validators who participated in the consensus process for this block.
      • reward: TBD.
    • hash: The hash of the block's header.
    • last_votes: List of validators' voting transactions (propose, pre-votes and pre-commits) that contributed to reaching consensus on the previous block. In order for a block to be added to the blockchain, it needs more than 2/3 of the signed pre-commit transactions from validators where each vote is weighted in proportion to the voter's stake.
    • transactions: List of transactions included in the block.
      • [{hash, signature, transaction data}, ...]