Repository navigation
Releases: murphsicles/nour
Releases · murphsicles/nour
Release list
nour v1.0.3 — Transpiled to Zeta + Full Test Suite
🥜 nour v1.0.3 — Pure Zeta
What Changed
Everything. The entire Bitcoin SV toolkit has been transpiled from Rust to pure Zeta.
| Before | After |
|---|---|
| 55 Rust files, 11,018 lines | 52 Zeta files, 7,348 lines |
| Cargo.toml | zorb.toml |
| Rust on main | Zeta on main, Rust on rust branch |
| crates.io package | zorbs.io package |
What You Get
| Module | Size | What it does |
|---|---|---|
address |
92 lines | Base58 encode/decode (P2PKH, P2SH) |
messages |
1,847 lines | 24 P2P message types (version, tx, block, inv, merkle...) |
network |
256 lines | Network configs + DNS seed iteration |
peer |
549 lines | TCP peer connections with message framing |
script |
2,491 lines | Full BSV script evaluator — opcodes, stack, BIP-62, CHECKMULTISIG |
transaction |
533 lines | P2PKH building, BIP-143 + legacy sighash |
util |
971 lines | Bloom filters, varint, bits, SHA256d, Hash160, reactive |
wallet |
550 lines | BIP-32 extended keys, BIP-39 mnemonics |
Test Suite
3,185 lines of tests across 6 files covering all modules. Compiles to valid LLVM IR.
SIMD Note
Performance-critical paths leverage Zetans native SIMD via the dependency chain: @crypto/bsv58 (SIMD Base58), @crypto/bitcoin-hashes (SHA256/Hash160), @crypto/secp256k1 (ECDSA).
nour v1.0.2 — Padding fix, perf, bsv58 cleanup
v1.0.2
🐛 Bug Fix
- Little-endian padding bug in encode_num() and encode_bigint() — padding byte was inserted at the wrong position (beginning of LE array instead of end). Fixed in b9c3895.
⚡ Performance
- Rc-based interpreter stack — OP_DUP/OVER/PICK/TUCK now clone via atomic refcount increment instead of deep-copying up to 520B per operation. ~40 clone sites optimized.
- Bloom filter: reuse Cursor — reduces allocs from O(num_hash_funcs) to O(1).
- linked-hash-map → indexmap — actively maintained, faster hash map with predictable iteration order.
🔧 Maintenance
- Removed unused base58 dependency (fully migrated to bsv58)
- Full rustfmt + clippy pass — zero new warnings
nour v1.0.1 — Dependency audit, bsv58 replacement
Dependency Updates
bitcoin_hashes0.17.0 → 0.20.0rand0.9.2 → 0.9.4ripemd0.1.3 → 0.2.0criterion0.7.0 → 0.8.2 (dev)
Changes
- Replaced
base58withbsv58(optimized BSV codec — SIMD x86/ARM) - Removed
cargo-fuzzdev dependency (broken, no lib target)
Perf Audit (see prior analysis)
High-impact: VecDeque+Cow clone reduction in interpreter, BigInt→bytewise for bit ops, murmur3 reuse, pre-sized Vec allocations. Medium: linked-hash-map→indexmap, redundant SHA256d allocs.
nour1.0.0
Nour v1.0.0
Initial Release
The world's fastest and most efficient BSV primitives library for powering consensus ready applications.
Full Changelog: https://github.com/murphsicles/nour/commits/v1.0.0