AI Network
  • What is AI Network
  • AIN Blockchain
    • Architecture
      • Design Principles
      • Event-driven Architectures
      • Blockchain Database
        • States
          • State Types
          • Operations
          • Predefined Structures
        • Rules and Owners
          • Rule Configs
          • Owner Configs
        • Functions
          • Built-in Functions
      • Instant Execution, and Eventual Consistency
      • Network ID and Chain ID
      • Transactions
        • Structure
        • Nonce
        • Read Concern
        • Propagation
      • Block Structure
      • Account and Keys
      • Consensus
      • Scalability
      • Apps
    • Developer Guide
      • Quick Start
      • AI Network Products
        • AI Network Worker
        • AI Network Insight
        • Testnet Server Node
        • Ainize Trigger
          • Project user
          • Project deployer
          • Why do we have to use Ainize Trigger?
      • Token Bridge
      • Trouble Shooting
    • Developer Reference
      • Blockchain API
        • JSON RPC API
        • Node Client API
      • Blockchain SDK
        • ain-js
        • ain-py
      • Validators
    • Staking
  • AIN DAO
    • What is AIN DAO
      • Runo (Run Your Node)
      • GPU Sponsorship Program
    • Onboarding & Participation
    • Governance
    • Tokenomics
      • AI Network Tokenomics
      • AINFT Tokenomics
  • AI Agents
    • AINFT
    • AINFT Factory
    • AINFT Projects
      • 🍳MiniEggs
      • 🦈Baby Shark
      • 🛸Soul Fiction
      • 🎻NFT Classics Society
    • Developer Reference
      • Ainft-Js
      • AINFT tutorial
        • Create AINFT object and Mint
        • Transfer AINFT
        • Set metadata of AINFT
        • Search and Retrieve AINFT
  • AIN Wallet
    • What is AIN Wallet?
    • AIN Wallet API
  • PROPOSAL DOCUMENTS
    • AIN Improvement Memos (AIMs)
    • AIN Improvement Proposals (AIPs)
Powered by GitBook
On this page

Was this helpful?

  1. AIN Blockchain
  2. Architecture

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}, ...]

PreviousPropagationNextAccount and Keys

Last updated 4 years ago

Was this helpful?