NeoRust
A comprehensive Rust SDK for the Neo N3 blockchain platform, providing a complete toolkit for interacting with Neo N3 networks.
📊 Project Status
- 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
Features
- 🔐 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
Quick Start
Add NeoRust to your Cargo.toml:
[]
= "0.4.2"
Basic Usage
use *;
// Create a new wallet
let wallet = new.unwrap;
// Connect to Neo testnet
let client = new.unwrap;
// Get account balance
let balance = client.get_balance.await?;
println!;
Components
Core SDK (neo3)
The main Rust SDK providing all blockchain functionality.
CLI Tool (neo-cli)
Command-line interface for blockchain operations:
GUI Application (neo-gui)
Desktop application with modern React UI. Note: Requires GTK libraries on Linux.
Building
Core SDK and CLI
GUI Application (requires additional dependencies)
Linux (Ubuntu/Debian):
&& &&
macOS and Windows:
&& &&
Documentation
Examples
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.
License
Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)
Testing
# Run all tests
# Run specific component tests
# Run integration tests
CI/CD
The project uses GitHub Actions for continuous integration:
Running CI Locally
Before pushing changes, run the local CI scripts:
# Run all CI checks
# Or run individual checks
GitHub Workflows
- 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
Contributing
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
Security
For security issues, please email security@r3e.network instead of using the issue tracker.
Acknowledgments
- Neo Foundation for the Neo N3 blockchain
- Rust community for excellent tooling
- All contributors who have helped shape this project