Binary Encoding
Version 2 (0x02). Deterministic layout for hashing and signing.
Block Canonical Encoding
| Offset | Size | Field |
|---|---|---|
| 0 | 1 | Version byte (0x02) |
| 1 | 1 | Type byte |
| 2 | 8 | Asset (left-aligned UTF-8, zero-padded) |
| 10 | 32 | Account (hex-decoded) |
| 42 | 32 | Previous (hex-decoded; "0" → 32 zero bytes) |
| 74 | 8 | Balance (big-endian uint64) |
| 82 | 8 | Timestamp (big-endian int64) |
| 90+ | var | Type-specific tail |
| last | 32 | Representative (32 zero bytes if empty) |
Type Bytes
Send=0x01, Receive=0x02, Claim=0x03, Lease=0x04, LeaseAccept=0x05, LeaseSettle=0x06, Genesis=0x07, MultisigOpen=0x08, MultisigUpdate=0x09, LeaseCancel=0x0A
Full Block Encoding
[canonical bytes] [8 bytes PoW nonce (little-endian uint64)] Vote Encoding
| Offset | Size | Field |
|---|---|---|
| 0 | 1 | Version (0x01) |
| 1 | 32 | RepPubKey |
| 33 | 32 | BlockHash |
| 65 | 32 | ConflictAccount |
| 97 | 32 | ConflictPrev |
| 129 | 8 | Timestamp (big-endian) |
| 137 | 2 | Signature length |
| 139 | N | Signature bytes |
PoW nonce = little-endian; all other numeric fields = big-endian.