Enum BlockVerificationLevel
The validation applied to each block assembled from the (unverified) block stream before it is delivered.
Namespace: Hiero.BlockNode
Assembly: Hiero.dll
Syntax
[Experimental("HIERO001", UrlFormat = "https://github.com/bugbytesinc/Hiero/blob/main/docs/blocknode-client-plan.md")]
public enum BlockVerificationLevel
Remarks
Block nodes forward subscribe-stream items as they arrive from the publishing consensus node, before verification — malformed or incomplete blocks are possible on the wire. This setting controls how much scrutiny the client applies before delivery. A signature verification level is planned for a future release once the upstream specifications stabilize.
Fields
| Name | Description |
|---|---|
| HashChain | Structural validation plus SHA-384 merkle root recomputation: each block's root hash is recomputed from its items and the chain is verified — every block's PreviousBlockRootHash must equal the root computed for the preceding block. A mismatch raises VerificationFailed and is never automatically resubscribed (the same node would return the same bytes). A block this SDK cannot hash with certainty (filtered or redacted items, or item types newer than this build) raises Unverifiable under the same no-resubscribe rule, under every gap policy. Roots are computed with the 16-branch block root tree used by consensus node v0.77 and later, which also covers all wrapped record-stream history; blocks produced by earlier consensus node releases (for example, a local network that has not been upgraded) do not verify. Verified blocks carry their computed root in VerifiedRootHash. The chain-continuity check is skipped under Deliver (gaps break the chain by definition); per-block roots are still computed. |
| None | No validation; every completed block is delivered as received. |
| Structural | Structural validation (the default): the block must open with a header whose number matches the stream's block boundary marker, contain a footer, and close with its proof. Cheap, and catches truncated or garbled blocks; does not verify hashes or signatures. |