R3E Network has released NeoRust SDK v3.4.0, introducing fluent ScriptBuilder and TransactionBuilder APIs alongside a completed security audit, while maintaining full backward compatibility with v3.3.x. The release, published on Sept. 28 as neo-primitives and neo-protocol on crates.io, focuses on developer ergonomics for both Neo N3 and Neo X.
The update follows v3.0.0, a correctness-focused release that introduced three breaking API changes earlier in September, and v2.1.0, which hardened error handling and retry logic in July. Where those versions prioritized correctness and reliability, v3.4.0 turns to reducing boilerplate without breaking existing code.
Builder APIs for scripts and transactions
The headline addition is a pair of builder APIs that let developers construct scripts and transactions through chainable method calls with compile-time validation. Rather than assembling raw opcodes or manually structuring transaction fields, developers can use fluent patterns like:
ScriptBuilder::new()
.push_data(b"Hello Neo!")
.emit_syscall("System.Runtime.Log")
.build()?
The TransactionBuilder follows the same pattern, offering strongly typed signers and attributes with automatic validation before the final build step. Both APIs support all Neo N3 transaction types and Neo VM opcodes.
Security audit
R3E completed a dependency security audit covering 10 packages used by the SDK. The audit identified six known issues in third-party dependencies, five high severity and one medium, and documented mitigation strategies for each. Active monitoring is in place to track upstream fixes.
Beyond the dependency audit, v3.4.0 includes enhanced input validation across user-facing APIs, sanitized error output to prevent sensitive data leakage, and constant-time cryptographic operations. The core functionality contains zero unsafe Rust code.
Type system improvements
The release adds complete Serde serialization and deserialization support across all types, addressing a practical pain point for developers working with Neo data structures in Rust. Errors now carry richer context through Error::context(), and expanded From and TryFrom trait implementations make type conversions more ergonomic.
All types also gain human-readable Display output, useful for logging, debugging, and CLI tooling. For developers building applications that serialize Neo data, whether for storage, network transmission, or API responses, the full Serde support removes what was previously a manual process.
Testing and compatibility
The release passes 191 tests, over 150 unit tests and 40 integration tests, with a 99.6% pass rate, zero compiler warnings, and zero clippy warnings. Documentation coverage reaches 100% of the public API, with new quick start guides and examples for the builder APIs.
Critically, v3.4.0 introduces no breaking changes. Existing v3.3.x users can upgrade by changing only their version number in Cargo.toml, making it a drop-in replacement.
Jimmy Liao, Neo core developer and R3E Network founder, announced the release noting the SDK’s trajectory: “fluent ScriptBuilder + TransactionBuilder for Neo N3/Neo X: type-safe script & tx construction, full serde types, better error context. 191 tests green, zero clippy warnings.”
The full release notes can be found at the link below:
https://github.com/R3E-Network/neo-rust-sdk/releases/tag/v3.4.0





About The Author: Dean Jeffs
Dean is a digital project manager who has worked extensively with start ups and agencies in the marketing space. Fascinated by the potential applications of blockchain technology, Dean has a passion for realising the new smart economy.
More posts by Dean Jeffs