Hiero™ Rust SDK
The SDK for interacting with Hiero: the official distributed consensus platform built using the Hashgraph consensus algorithm for fast, fair and secure transactions. Hiero enables and empowers developers to build an entirely new class of decentralized applications.
Maintained with ❤️ by LaunchBadge, Swirlds Labs, and the Hiero community
Requirements
Clone this repository and its submodules:
Update \protobufs submodule to recent version (if necessary):
To check dependencies validity, run the following command in the root directory:
API Docs
Check out the Hiero Rust SDK API reference docs.
Community and Support
If you have any questions on the Hiero SDK or Hiero more generally, you can join our team and hundreds of other developers using Hedera in our community Discord:
Examples
To the run an example, set an operator id and operator key in the .env file. By default, these run against testnet.
# Account that will pay query and transaction fees.
OPERATOR_ID=
# Default private key to use to sign for all transactions and queries.
OPERATOR_KEY=
Cargo Command:
Create Account Example:
Tests
Before running the integration tests, an operator key, operator id, and a network name must be set in an .env file.
# Account that will pay query and transaction fees.
TEST_OPERATOR_ID=
# Default private key to use to sign for all transactions and queries.
TEST_OPERATOR_KEY=
# Network names: "localhost", "testnet", "previewnet", "mainnet".
TEST_NETWORK_NAME=
# Running on-chain tests if this value is set to 1.
TEST_RUN_NONFREE=
Run the tests using cargo test
# Run all tests (unit and integration tests)
# Run specific tests in a module
e.g.
# Run account module tests
# Run account module tests in file
# Run a single test
Local Environment Testing
Hiero offers a way to run tests through your localhost using the hiero-local-node service.
For instructions on how to set up and run local node, follow the steps in the git repository: https://github.com/hiero-ledger/hiero-local-node
Once the local node is running in Docker, use these environment variables in the .env.
# Account that will pay query and transaction fees.
TEST_OPERATOR_ID=0.0.2
# Default private key to use to sign for all transactions and queries.
TEST_OPERATOR_KEY=302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137
# Network names: "localhost", "testnet", "previewnet", "mainnet".
TEST_NETWORK_NAME=localhost
# Running on-chain tests if this value is set to 1.
TEST_RUN_NONFREE=1
Lastly, run the tests using cargo test
Contributing
Contributions are welcome. Please see the contributing guide to see how you can get involved.
Help/Community
- Join our community discussions on discord.
About Users and Maintainers
- Users and Maintainers guidelies are located in Hiero-Ledger's roles and groups guidelines.
Code of Conduct
This project is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to oss@hedera.com.