According to JaxNet protocol, blocks consist of two parts: block header and block body. This design improves the throughput of information across the network. Typically the block header contains the most important information about the block. It includes the reference to the body of the block and the commitment of previous block headers in the chain. Block headers are often used to set the order of blocks in the chain and validate the block body data.
Usually, the data in block headers is called consensus data and data in the block body is called application data.
BC header structure
|
Field
|
Description
|
Type
|
Size
|
version
|
Version of the block. This is not the same as the protocol version.
|
BVersion / uint32
|
4 bytes
|
prevBlock
|
Hash of the previous block header in the Beacon chain.
|
Hash
|
32 bytes
|
merkleRoot
|
Merkle tree reference to hash of all transactions for the block
|
Hash
|
32 bytes
|
timestamp
|
Time the block was created. This is, unfortunately, encoded as a uint32 on the wire and therefore is limited to 2106.
|
time / uint32
|
4 bytes
|
Bits
|
Difficulty target for the block
|
uint32
|
4 bytes
|
mergeMiningRoot
|
Root of Merge-mining tree
|
Hash
|
32 bytes
|
MMTshardCount
|
|
uint32
|
4 bytes
|
mergeMiningNumber
|
|
uint32
|
4 bytes
|
treeEncoding
|
Encoding of the Merge-mining tree
|
[]uint8
|
0+ bytes
|
k
|
It's inflation-fix coefficient K for current mining epoch
|
uint32
|
4 bytes
|
voteK
|
It's a proposed inflation-fix coefficient K for mining epoch after the next one
|
uint32
|
4 bytes
|
btcAux
|
It's a container with the bitcoin auxiliary header, required for merge mining
|
BTCBlockAux
|
80+ bytes
|
Nonce
|
This field is for stand-along version of the protocol
|
uint32
|
4 bytes
|
Total size
|
200+ bytes
|
SC header structure
|
Field
|
Description
|
Type
|
Size
|
MMRroot
|
Commitment of previous blocks in the shard chain
|
Hash
|
32 bytes
|
merkleRoot
|
Merkle tree reference to hash of all transactions for the block
|
Hash
|
32 bytes
|
Bits
|
Difficulty target for the block
|
uint32
|
4 bytes
|
BCHeaderContainer
|
|
BeaconHeader
|
|
CoinbaseAux
|
|
|
|
Total size
|
76 bytes
|
See Also
References