Show / Hide Table of Contents

Enum BlockNodeExceptionCode

The status codes returned by a BlockNodeException, identifying the underlying failure condition reported by (or detected while communicating with) a Hiero Block Node.

Namespace: Hiero
Assembly: Hiero.dll
Syntax
[Experimental("HIERO001", UrlFormat = "https://github.com/bugbytesinc/Hiero/blob/main/docs/blocknode-client-plan.md")]
public enum BlockNodeExceptionCode

Fields

Name Description
BadBlockProof

The block node could not verify the published block's proof. Permanent for that attempt — resend the block with a valid proof.

CommunicationError

A network-level gRPC failure not covered by a more specific code. Transient — retry.

DuplicateBlock

The block node reported the published block as a duplicate of one it already holds. Permanent for that block — resume publishing after the node's last acknowledged block.

InvalidEndBlockNumber

The requested ending block number was rejected by the block node. Permanent — adjust the end.

InvalidRequest

The block node rejected the request as malformed or inconsistent. Permanent — correct the request before retrying.

InvalidStartBlockNumber

The requested starting block number was rejected by the block node. Permanent — adjust the start.

NotAvailable

The requested block or range is outside the span of blocks this node holds (it may have been pruned, or not yet produced). Check GetServerStatusAsync for the node's available range. Permanent for this node — another node (or a later time) may serve the request.

NotImplemented

The block node does not implement the requested API. Block nodes serve different subsets of the Block Node APIs — the HIP-1137 registry advertises which ones each endpoint offers, and proof and state-snapshot services in particular are absent from many deployments. Permanent for this node — query a node that advertises the API instead. A node that serves its status API on a separate endpoint needs StatusUri set before it can be subscribed to.

PersistenceFailed

The block node failed to persist a published block. Transient — the publisher may reconnect and resend.

ServerError

The block node reported an internal error, or returned a status code unknown to this client. Transient — the request may be retried, possibly against another node.

StreamGapDetected

The client detected a gap in the unverified block stream (a completed block arrived with a number that does not contiguously follow the last delivered block) and the subscription's gap policy is Throw. Transient — resubscribe from the last delivered block number + 1.

Timeout

The block node timed out an in-progress publish stream. Transient — reconnect and resume from the last acknowledged block.

Unavailable

The block node is not reachable at this time. Transient — retry after a delay.

Unverifiable

A block could not be checked at the requested verification level: it is well formed, but holds content this SDK cannot hash with certainty — filtered or redacted items, or item types newer than this SDK build — so a recomputed root could disagree with the network's without the block being wrong. Distinct from VerificationFailed, which means the block's data does not verify. Permanent for this block — retrying returns the same bytes. Lower the verification level to accept the block unchecked, or use a newer SDK.

VerificationFailed

A block failed hash-chain verification: its recomputed merkle root does not chain from the preceding verified block (or a checkpoint). Permanent for this node and block — retrying returns the same bytes; the data itself does not verify. Obtain the block from another node or investigate.

  • Edit this page
  • View Source
In this article
Back to top .NET Client Library for Hiero Network and Hedera Hashgraph