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.