29 lines
1.0 KiB
ABNF
29 lines
1.0 KiB
ABNF
; VERSION 0.1
|
|
; ------------ BLOCK ----------------------
|
|
BLOCK = HEADER CONTENT
|
|
; ------------ HEADER ---------------------
|
|
VERSION = %x01
|
|
HEADER = VERSION HEADER-FIELDS MOCK-LEADER-PROOF ORPHAN-PROOFS
|
|
HEADER-FIELDS = CONTENT-SIZE CONTENT-ID BLOCK-DATE PARENT-ID
|
|
CONTENT-SIZE = U32
|
|
BLOCK-DATE = BLOCK-SLOT
|
|
BLOCK-SLOT = U64
|
|
PARENT-ID = HEADER-ID
|
|
MOCK-LEADER-PROOF = COMMITMENT NULLIFIER EVOLVE-COMMITMENT
|
|
EVOLVE-COMMITMENT = COMMITMENT
|
|
ORPHAN-PROOFS = ORPHAN-PROOF-CNT *ORPHAN-PROOF
|
|
ORPHAN-PROOF-CNT = U32
|
|
; note this is not recursive, only the header leadership proof will be processed (orphan proofs are ignored)
|
|
ORPHAN-PROOF = HEADER
|
|
|
|
; ------------ CONTENT --------------------
|
|
CONTENT = *OCTET
|
|
|
|
; ------------- MISC ----------------------
|
|
U32 = 4OCTET ; unsigned integer 32 bit (BE)
|
|
U64 = 8OCTET ; unsigned integer 32 bit (BE)
|
|
HEADER-ID = 32OCTET
|
|
CONTENT-ID = 32OCTET
|
|
COMMITMENT = 32OCTET
|
|
NULLIFIER = 32OCTET
|