Hiero 1.0.0
dotnet add package Hiero --version 1.0.0
NuGet\Install-Package Hiero -Version 1.0.0
<PackageReference Include="Hiero" Version="1.0.0" />
<PackageVersion Include="Hiero" Version="1.0.0" />
<PackageReference Include="Hiero" />
paket add Hiero --version 1.0.0
#r "nuget: Hiero, 1.0.0"
#:package Hiero@1.0.0
#addin nuget:?package=Hiero&version=1.0.0
#tool nuget:?package=Hiero&version=1.0.0
Hiero
.NET Client Library for the Hiero Network and Hedera Hashgraph
Hiero provides idiomatic .NET access to the full Hedera public network — cryptocurrency, consensus messaging, tokens, NFTs, smart contracts, file storage, scheduled transactions, airdrops, and more.
Quick Start
Install
dotnet add package Hiero
Requirements: .NET 10 SDK
Hello World — Query an Account Balance
await using var client = new ConsensusClient(ctx =>
{
ctx.Endpoint = new ConsensusNodeEndpoint(
new EntityId(0, 0, 3),
new Uri("https://2.testnet.hedera.com:50211"));
});
var balance = await client.GetAccountBalanceAsync(new EntityId(0, 0, 98));
Console.WriteLine($"Balance: {balance:#,#} tinybars");
Transfer Crypto
await using var client = new ConsensusClient(ctx =>
{
ctx.Endpoint = new ConsensusNodeEndpoint(
new EntityId(0, 0, 3),
new Uri("https://2.testnet.hedera.com:50211"));
ctx.Payer = new EntityId(0, 0, payerAccountId);
ctx.Signatory = new Signatory(payerPrivateKey);
});
var receipt = await client.TransferAsync(
new EntityId(0, 0, senderAccountId),
new EntityId(0, 0, receiverAccountId),
amount);
Create a Token
var receipt = await client.CreateTokenAsync(new CreateTokenParams
{
Name = "My Token",
Symbol = "MTK",
Decimals = 8,
InitialSupply = 1_000_000,
Treasury = treasuryAccount,
Administrator = new Endorsement(adminPublicKey),
Signatory = new Signatory(adminPrivateKey)
});
Console.WriteLine($"Token ID: {receipt.Token}");
Architecture
Hiero provides three client types, each targeting a different part of the Hedera network:
| Client | Purpose | Protocol |
|---|---|---|
ConsensusClient |
Submit transactions and queries to gossip nodes | gRPC |
MirrorRestClient |
Query historical data and state from Mirror Nodes | REST/JSON |
MirrorGrpcClient |
Subscribe to real-time streams (e.g., HCS topics) | gRPC streaming |
Transaction Pattern
All state-changing operations follow the same pattern:
Create *Params → Configure Client → ExecuteAsync → Receive *Receipt
Every transaction type has a dedicated *Params class, a typed *Receipt, and an optional detailed *Record available from the Mirror Node.
Context Stack
Client configuration uses a hierarchical context stack. Child contexts (created via Clone or per-call configure callbacks) inherit from the parent but can override individual settings without affecting it:
var child = client.Clone(ctx => ctx.FeeLimit = 500_000_000);
// child inherits parent's Endpoint, Payer, Signatory — but has its own FeeLimit
Supported Network Services
- Cryptocurrency — Create, transfer, update, and delete accounts; multi-party transfers; allowances
- Consensus Service (HCS) — Create topics, submit messages (including segmented large messages), subscribe to streams
- Tokens — Fungible token lifecycle: create, mint, burn, transfer, freeze, pause, KYC, royalties
- NFTs — Non-fungible token lifecycle: create, mint, burn, transfer, confiscate, update metadata
- Smart Contracts — Deploy, call, query contracts; native EVM transaction support (type 0/1/2)
- File Service — Create, append, update, and delete files on the network
- Scheduled Transactions — Wrap any transaction for deferred execution with multi-sig collection
- Airdrops — Distribute tokens to multiple recipients; pending airdrop claim/cancel workflow
- Network Utilities — Address book, fee schedules, exchange rates, version info, pseudo-random numbers
Key Types
| Type | Description |
|---|---|
EntityId |
Hedera entity address (shard.realm.num), also supports key aliases and EVM addresses |
Endorsement |
Public key or N-of-M key list representing signing requirements |
Signatory |
Private key, key list, or async callback for signing transactions |
ConsensusNodeEndpoint |
Network node identity (account + gRPC URI) |
ConsensusTimeStamp |
Nanosecond-precision Hedera timestamp |
Building from Source
dotnet restore Hiero.slnx
dotnet build Hiero.slnx
Run Tests
Unit tests (no network required):
dotnet test --project test/Hiero.Test.Unit/
Integration tests against a local Solo network (requires Docker with 12GB+ RAM):
./solo/up.sh # Start local Hiero network
./solo/test.sh # Run integration tests
./solo/down.sh # Tear down when done
See solo/ for details.
Build Documentation
dotnet tool restore
dotnet docfx docfx/docfx.json --serve
Project Structure
src/
└── Hiero/ Source library
├── Consensus/ HCS topic operations
├── Contract/ Smart contract operations
├── Crypto/ Account and transfer operations
├── Token/ Fungible token operations
├── Nft/ Non-fungible token operations
├── File/ File service operations
├── Schedule/ Scheduled transaction operations
├── AddressBook/ Consensus node management
├── Root/ System/network admin operations
├── Mirror/ Mirror Node REST query types
├── Utilities/ Network queries and helpers
├── Converters/ JSON serialization
└── Implementation/ Internal machinery
test/ Unit and integration tests (TUnit)
solo/ Local Solo network for testing (Docker only)
reference/ Upstream protobuf definitions (do not modify)
docfx/ DocFX documentation site
docs/ API cookbook and reference
samples/ Runnable sample console apps
Dependencies
- Google.Protobuf + Grpc.Net.Client — Protocol Buffers and gRPC
- Portable.BouncyCastle — Ed25519 and ECDSA Secp256K1 cryptography
Documentation
- API Reference — Generated from XML doc comments
- Tutorials — Getting started guides with code examples
- API Cookbook — Quick reference for all SDK operations
- Samples — Runnable console apps for every major workflow
License
This project is licensed under the Apache-2.0.
Copyright 2025-2026 BugBytes, Inc. All Rights Reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Google.Protobuf (>= 3.33.4)
- Grpc.Net.Client (>= 2.76.0)
- Portable.BouncyCastle (>= 1.9.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.0.0 | 84 | 4/15/2026 | |
| 0.1.0-alpha05 | 101 | 3/24/2026 | |
| 0.1.0-alpha04 | 102 | 3/13/2026 | |
| 0.1.0-alpha03 | 202 | 12/13/2025 | |
| 0.1.0-alpha02 | 253 | 9/12/2025 | |
| 0.1.0-alpha01 | 272 | 8/27/2025 |