API Reference Hedera v#0.8.0

Copy Markdown View Source

Modules

A Hedera account identifier shard.realm.num (e.g. 0.0.8260469).

High-level entry point: holds the operator identity and the network's node address book, builds and submits Consensus Service transactions, retries across nodes on transient failures, and fetches receipts.

A Hedera Smart Contract Service contract identifier shard.realm.num.

Pure-Elixir Keccak-256 (the pre-NIST padding used by Ethereum and Hedera for ECDSA secp256k1 signing — distinct from SHA3-256, which uses a different domain-separation byte). No NIF, no external dependency.

secp256k1 helpers for Hedera's ECDSA signature convention: signatures are the 64-byte raw r ‖ s form with s normalized to the lower half of the curve order (low-S, as required by Hedera/Ethereum), and public keys are the 33-byte compressed form on the wire. OpenSSL (via OTP :crypto) produces DER signatures and uncompressed points, which these functions convert.

A Hedera Duration in whole seconds (e.g. a transaction's valid window).

EIP-1559 (type-2) Ethereum transaction assembly + signing, for Hedera's EthereumTransaction (Hedera runs the EVM; a signed Ethereum tx is relayed and executed against its EVM address).

A Hedera File Service file identifier shard.realm.num.

A minimal gRPC unary client over HTTP/2 (via Mint), speaking the cleartext (h2c) protocol Hedera consensus nodes serve on port 50211. Handles the 5-byte gRPC length-prefixed framing and the grpc-status trailer; enough for the single-request/single-response calls this SDK makes.

Shared implementation for Hedera entity identifiers of the form shard.realm.numHedera.AccountId, ContractId, FileId, ScheduleId, TokenId, and TopicId.

Thin client for the public Hedera mirror node REST API — the read side of the network (consensus results, topic messages). Complements the gRPC client, which handles writes and receipts.

Known Hedera network nodes (cleartext gRPC endpoints).

A Hedera private key — Ed25519 or ECDSA secp256k1.

Minimal protobuf (proto3) wire-format encoder — varints, tags, and length-delimited fields. Enough to build the small set of Hedera messages the SDK needs, with no codegen dependency. (A future milestone may switch to protoc-generated modules from the canonical Hedera .proto files.)

A Hedera public key — Ed25519 (32-byte point) or ECDSA secp256k1 (stored as the uncompressed point for crypto operations, serialized as the 33-byte compressed form for the Hedera wire protocol).

A parsed Hedera TransactionReceipt — the consensus outcome of a transaction. For Consensus Service submits this carries the topic's new sequence number and running hash; for Token Service it carries the new token_id (on create) and the token's new_total_supply (on mint/burn).

Minimal RLP (Recursive Length Prefix) encoder — Ethereum's serialization, used here to assemble EIP-1559 (type-2) transactions for Hedera's EthereumTransaction.

A Hedera Schedule Service schedule identifier shard.realm.num.

A Hedera consensus timestamp: whole seconds plus nanos.

A Hedera Token Service token identifier shard.realm.num.

A Hedera Consensus Service topic identifier shard.realm.num.

Builds and signs Hedera transactions for the Consensus, Crypto, Token, File and Schedule services.

A Hedera transaction identifier: the paying account_id plus a valid_start timestamp. The valid-start must be slightly in the past when the transaction reaches the network, so generate/1 backdates it a few seconds.