Commit graph

13 commits

Author SHA256 Message Date
ef3d18ef56 feat(consensus): slashing, skip tracking, scheduler auto-tx injection into block loop 2026-04-24 12:31:46 +03:00
9837edfb1f feat(node): wire P2P gossip channel to RPC sendRawTx and block announce 2026-04-24 11:55:27 +03:00
04e5f3d166 feat(node): wire P2pSender into block_loop; add --p2p-addr and --bootstrap CLI flags 2026-04-24 11:52:44 +03:00
e30652f264 docs: update CHANGELOG for v0.3.0 2026-04-24 11:36:37 +03:00
2c6db93043 feat(vm): implement NodeSubmit, VoteRegister, VoteCast, StakeOp execution 2026-04-24 11:30:05 +03:00
a81b1851ce feat(vm): define Shell/NUT/NU constants, set NODE_REWARD to 100 NUT 2026-04-24 11:11:35 +03:00
f9925eba79 feat(rpc): implement nu_getBlock handler 2026-04-24 11:04:00 +03:00
70b326a24f docs: add CHANGELOG.md (Keep a Changelog format) 2026-04-24 10:56:50 +03:00
265097375a feat(nu-node): single-validator block production loop
- nu-vm/engine.rs: execute_block runs all txs in a block against StateDb;
  TokenTransfer fully applied, other variants return "not implemented" receipt
- StateAccessor trait: set_balance/inc_nonce now take &self (RocksDB interior mutability)
- src/block_loop.rs: tokio task that produces a block each slot (6s) in dev mode;
  drains mempool, executes txs, removes successful ones, persists block to RocksDB
- StateDb wrapped in Arc<Mutex> — block loop holds write lock per block, RPC holds
  read lock for nu_getAccount
- main.rs: spawns block_loop when --dev --validator flags are set

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:54:48 +03:00
fd829ba1dd feat(nu-node): implement nu_sendRawTx with mempool integration
- nu-block: TxPayload enum with all variants (user + auto/scheduler)
- nu-mempool: PendingTx wraps RawTransaction; priority derived from TxPayload
- nu-rpc: nu_sendRawTx decodes JSON tx, deduplicates, inserts into mempool
- AppState: holds Arc<Mutex<Mempool>> alongside StateDb
- main.rs: initializes mempool and passes to RpcServer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:32:26 +03:00
a42ca0f8d3 feat(nu-node): wire axum RPC server, StateAccessor impl, --dev mode entry point
- nu-rpc: axum HTTP server on /rpc, dispatches JSON-RPC requests
- nu-rpc: nu_chainInfo and nu_getAccount return real state from RocksDB
- nu-state: StateAccessor trait implemented on StateDb (get/set balance, nonce)
- nu-vm: executor uses StateAccessor from nu-state (single source of truth)
- main.rs: clap CLI with --dev --validator --rpc-addr --db-path --chain-id

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:25:48 +03:00
f7cff4513d chore(docker): add dev Dockerfile for multi-stage Rust build 2026-04-24 09:21:40 +03:00
5430c34d9e feat(nu-node): initial Faz 0 scaffold
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 00:00:26 +03:00