2 KiB
2 KiB
Changelog — nu-node
All notable changes to this project will be documented in this file. Format: Keep a Changelog
[Unreleased]
[0.2.0] — 2026-04-24
Added
nu-vm/engine.rs—execute_block: runs all txs in a block againstStateDb;TokenTransferfully applied, other variants produce a "not implemented" receiptsrc/block_loop.rs— tokio task producing one block per slot (6 s) in dev mode; drains mempool, executes txs, removes successful ones, persists block to RocksDB--dev --validatorflags inmain.rstrigger block production loop on startup
Changed
StateAccessortrait:set_balance/inc_noncenow take&self(RocksDB provides interior mutability — no&mutrequired at the Rust level)StateDbwrapped inArc<Mutex<StateDb>>— block loop holds write lock per block, RPC holds read lock fornu_getAccountnu-vmnow depends onnu-block(was implicit via engine)
[0.1.0] — 2026-04-24
Added
nu_sendRawTx— decodes JSONRawTransaction, deduplicates bytx_id, inserts into mempool; returns{ tx_id }on successTxPayloadenum innu-block/types.rs— all variants withpriority_hint()TxPriorityderived fromTxPayloadinnu-mempool(Critical > High > Normal)nu-rpcaxum HTTP server onPOST /rpc— dispatches JSON-RPC 2.0 requestsnu_chainInfo— returnschain_idandnode_versionnu_getAccount— readsAccountStatefrom RocksDB; returns empty account for unknown addresses (zero balance, nonce 0)StateAccessortrait implemented onStateDb— canonical single source of truth for balance and nonce access--dev,--validator,--rpc-addr,--db-path,--chain-idCLI flags via clap- Rust workspace scaffold with six crates:
nu-consensus,nu-mempool,nu-state,nu-block,nu-rpc,nu-vm Dockerfile.dev— multi-stage Rust build (builder: rust:1.79-slim, runtime: debian:bookworm-slim)