Crates.io | neo3 |
lib.rs | neo3 |
version | 0.5.0 |
created_at | 2025-02-28 20:49:56.371597+00 |
updated_at | 2025-08-20 04:36:08.503256+00 |
description | Production-ready Rust SDK for Neo N3 blockchain with high-level API, unified error handling, and enterprise features |
homepage | https://github.com/R3E-Network/NeoRust |
repository | https://github.com/R3E-Network/NeoRust |
max_upload_size | |
id | 1573166 |
size | 2,371,359 |
A comprehensive Rust SDK for the Neo N3 blockchain platform, providing a complete toolkit for interacting with Neo N3 networks.
Add NeoRust to your Cargo.toml
:
[dependencies]
neo3 = "0.4.4"
use neo3::sdk::Neo;
// Quick connection to TestNet
let neo = Neo::testnet().await?;
// Get balance with automatic error handling
let balance = neo.get_balance("NbTiM6h8r99kpRtb428XcsUk1TzKed2gTc").await?;
println!("Balance: {} NEO, {} GAS", balance.neo, balance.gas);
// Custom configuration
let neo = Neo::builder()
.network(Network::MainNet)
.timeout(Duration::from_secs(30))
.build()
.await?;
use neo3::prelude::*;
// Create a new wallet
let wallet = Wallet::new().unwrap();
// Connect to Neo testnet
let client = RpcClient::new("https://testnet1.neo.coz.io:443").unwrap();
// Get account balance
let balance = client.get_balance(&wallet.address()).await?;
println!("Balance: {} NEO", balance.neo);
neo3
)The main Rust SDK providing all blockchain functionality.
neo-cli
)Command-line interface for blockchain operations:
cargo run --bin neo-cli -- wallet create
neo-gui
)Desktop application with modern React UI. Note: Requires GTK libraries on Linux.
cargo build --workspace --exclude neo-gui
Linux (Ubuntu/Debian):
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
cd neo-gui && npm install && cargo build
macOS and Windows:
cd neo-gui && npm install && cargo build
Explore our comprehensive examples:
See the examples directory for full code samples.
Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)
# Run all tests
cargo test --workspace
# Run specific component tests
cargo test -p neo3
cargo test -p neo-cli
# Run integration tests
cargo test --test integration_tests
The project uses GitHub Actions for continuous integration:
Before pushing changes, run the local CI scripts:
# Run all CI checks
./check-ci.sh
# Or run individual checks
./scripts/ci/01-format-check.sh
./scripts/ci/02-clippy-check.sh
./scripts/ci/03-rust-tests.sh
./scripts/ci/04-benchmarks.sh
./scripts/ci/05-documentation.sh
./scripts/ci/06-security-audit.sh
./scripts/ci/07-release-check.sh
./scripts/ci/08-neo-gui-tests.sh
Contributions are welcome! Please:
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)Please ensure:
cargo test --workspace
)cargo fmt
)cargo clippy -- -D warnings
)For security issues, please email security@r3e.network instead of using the issue tracker.