A comprehensive Rust SDK for the Neo N3 blockchain platform, providing a complete toolkit for interacting with Neo N3 networks.
- Version: 0.4.2 (Production Ready)
- Rust Version: 1.70.0+
- Platform Support: Windows, macOS, Linux
- Security: All dependencies audited, 0 known vulnerabilities
- Coverage: Core functionality tested with integration tests
- π Cryptography - Complete cryptographic functions including key generation, signing, and verification
- πΌ Wallet Management - Create, import, and manage Neo wallets with hardware wallet support
- π RPC Client - Full-featured RPC client for Neo N3 node interaction
- π¦ Smart Contracts - Deploy, invoke, and interact with Neo N3 smart contracts
- πͺ Token Support - Native NEP-17 token operations and custom token support
- π Network Support - Mainnet, Testnet, and custom network configurations
- π₯οΈ CLI Tools - Command-line interface for common blockchain operations
- πΌοΈ GUI Application - Desktop GUI application built with Tauri and React
Add NeoRust to your Cargo.toml
:
[dependencies]
neo3 = "0.4.2"
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);
The main Rust SDK providing all blockchain functionality.
Command-line interface for blockchain operations:
cargo run --bin neo-cli -- wallet create
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:
- Basic Operations: Wallet creation, token transfers, balance queries
- Smart Contracts: Deploy and interact with Neo N3 contracts
- Advanced Features: Multi-sig wallets, hardware wallet integration
- DeFi Integration: Interact with popular Neo DeFi protocols
- Neo X: Cross-chain bridge operations
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
- neorust-build-test.yml - Main Rust build and test workflow
- neo-gui.yml - Separate workflow for GUI (Tauri) builds
- docs.yml - Documentation generation and deployment
- security.yml - Security audits and vulnerability scanning
- ci.yml - Comprehensive CI checks
- rust.yml - Rust-specific checks
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure:
- All tests pass (
cargo test --workspace
) - Code is formatted (
cargo fmt
) - No clippy warnings (
cargo clippy -- -D warnings
) - Documentation is updated
- CI checks pass locally before pushing
For security issues, please email security@r3e.network instead of using the issue tracker.
- Neo Foundation for the Neo N3 blockchain
- Rust community for excellent tooling
- All contributors who have helped shape this project