The SDK for interacting with Hedera Hashgraph: the official distributed consensus platform built using the Hashgraph consensus algorithm for fast, fair and secure transactions. Hedera enables and empowers developers to build an entirely new class of decentralized applications.
Maintained with ❤️ by LaunchBadge, Swirlds Labs, and the Hedera community
Clone this repository and its submodules:
git clone --recursive https://github.com/hashgraph/hedera-sdk-rust.git
Update \protobufs
submodule to recent version (if necessary):
git submodule update --recursive --remote
To check dependencies validity, run the following command in the root directory:
cargo check
Check out the Hedera Rust SDK API reference docs.
If you have any questions on the Hedera SDK or Hedera more generally, you can join our team and hundreds of other developers using Hedera in our community Discord:
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:
cargo run --release --example <EXAMPLE_FILENAME>
Create Account Example:
cargo run --release --example create_account
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)
cargo test
# Run specific tests in a module
cargo test <MODULE_NAME>::<FILE_NAME>::<FUNCTION_NAME>
e.g.
# Run account module tests
cargo test account
# Run account module tests in file
cargo test account::create
# Run a single test
cargo test account::create::initial_balance_and_key
Hedera offers a way to run tests through your localhost using the hedera-local-node
service.
For instructions on how to set up and run local node, follow the steps in the git repository: https://github.com/hashgraph/hedera-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
Contributions are welcome. Please see the contributing guide to see how you can get involved.
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 [email protected].