Nanvil Documentation

Architecture

Nanvil is built on the neo-go blockchain core and adds:

  • pkg/nanvil/ — dev node, fork bootstrap, RPC cheats
  • cmd/nanvil/ — dev node CLI
  • cmd/ncast/ — cast-style transaction CLI
  • Patches to witness.go, blockchain.go, rpcsrv/register.go

Components

  • DevNode — in-memory chain, RPC server, optional explorer, account funding, state persistence
  • BlockProducer — auto/interval/on-demand mining
  • Impersonation registry — dev witness bypass
  • RemoteStateStore — lazy StateService fetch + disk cache
  • TrackingOverlay — local write overlay for fork mode
  • Chain snapshot (pkg/nanvil/persist) — full storage dump/load via --data-dir

Data flow

Local mode: sendrawtransaction → mempool → auto-mine → AddBlock

Fork mode: reads from remote via findstates/getproof, caches locally, local blocks append after branch.