Blocks¶
Block header¶
Field | Type | Description |
---|---|---|
ChainID | []byte | identifier of chain |
PrevBlockHash | []byte | hash of previous block |
BlockNo | uint64 | height of block |
Timestamp | int64 | block timestamp |
BlocksRootHash | []byte | root hash of State SMT(sparse merkle tree) |
TxsRootHash | []byte | Merkle root of transactions |
ReceiptsRootHash | []byte | Merkle root of transaction receipts |
Confirms | uint64 | indicates how many block is confirmed by block in DPOS consensus |
PubKey | []byte | public key of the block producer (BP) |
CoinbaseAccount | []byte | the account address to which block reward is given |
Sign | []byte | BP’s Signature for block header |
ChainID¶
It is used to prevent the wrong block transmission from other chains.
Field | Type | Description |
---|---|---|
Version | int32 | version number of chain |
PublicNet | bool | true if public net |
MainNet | bool | true if main net |
CoinbaseFee | string | Fee consumed per tx. Fixed value |
Magic | string | Magic string, arbitrarily chosen by each blockchain |
Consensus | string | dpos or sbp |
Version¶
Version is used to identify when the block format changes or when the function of the chain changes.
PublicNet¶
Differentiate between public and private networks.
MainNet¶
Differentiate between main net and other test net or other use net.
CoinbaseFee¶
CoinbaseFee is used to set the peak per Tx.
Magic¶
Magic can be considered as a name of a blockchain. The two blockchains with different magic strings reject each other’s blocks (they are seperate, indenpendent blockchains).
Consensus¶
Specify the concensus method name used in the chain.
Block body¶
Field | Type | Description |
---|---|---|
Txs | []Tx | Transactions |