API Reference Hedera v#0.2.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).

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.

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).

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.