Releases: augmnt/norn-protocol
v0.19.1
What's New
Real-Time Reactivity (v0.19.1)
- Live contract updates across all wallet apps — pages now auto-refresh when any user interacts with a contract (votes, contributes, stakes, etc.) via loom event WebSocket subscription
useLoomRefreshhook for efficient per-loom-ID event filtering
Security & Fixes (v0.19.1)
- Comprehensive security hardening from code audit
- Fix faucet not crediting NORN after security changes
- Fix governance "already voted" shown for users who never voted
- Auto-join loom participants and check execution success
Smart Contract Wallet Apps (v0.19.0)
- 11 full-featured wallet apps: Governance, Treasury, Escrow, Vesting, Launchpad, Splitter, Crowdfund, Staking, Swap, Airdrop, Timelock
- Each app includes dashboard, detail pages, and action forms with borsh-encoded contract interactions
- Contracts page with Browse and Interact tabs
Validator Rewards & Infrastructure (v0.19.0)
- Validator reward distribution system
norn wallet rewardsCLI command- Enhanced setup script with
--start,--systemd, and--faucetoptions - Run a Node documentation page
Wallet UX Polish (v0.19.0)
- FormButton and FieldError design system components
- Block production timing with microsecond precision
- Live block timer in explorer
- Updated app icons
Stats
- Protocol Version: 9
- Schema Version: 7
- 42 commits since v0.18.4
v0.18.4
Highlights
This release represents a major evolution of the Norn Protocol — from a core blockchain runtime to a full-stack platform with web wallet, block explorer, marketing website, TypeScript SDK, and Chrome extension.
Web Wallet — Passkey-Secured Browser Wallet
- Self-custodial wallet secured by WebAuthn passkeys (Face ID / Touch ID / Windows Hello)
- PWA with mobile-first responsive design and offline support
- Send & receive NORN and NT-1 tokens to addresses or NornNames
- Create, mint, and burn tokens; deploy and interact with Loom smart contracts
- Transaction history, balance charts, devnet faucet, address book
- 24-word recovery phrase backup, passkey recovery flow, change password
- Auto-lock with configurable timeout (1 min – never)
Block Explorer — Full Network Browser
- Real-time block and transaction feeds via WebSocket subscriptions
- Account pages with balances, transaction history, and registered names
- Token registry, smart contract browser, network stats dashboard
- Auto-reconnecting WebSocket connections
Website — norn.network
- Marketing site and documentation hub built with Next.js 15 + MDX
- Dynamic OG image generation with ASCII art branding
TypeScript SDK (@norn-protocol/sdk)
- Wallet primitives, transaction builders, RPC client, WebSocket subscriptions
- Ed25519 signing via
@noble/ed25519, borsh serialization, BIP-39 mnemonics - Used by the explorer, web wallet, and wallet extension
Chrome Wallet Extension
- Send/receive NORN, browse tokens and history, register NornNames
- Import wallets from CLI via private key export
- Multi-account support with configurable RPC endpoint
What's New Since v0.7.0
Features
- NT-1 Fungible Token Standard — protocol-level custom tokens with create, mint, burn, and symbol uniqueness enforcement
- Loom Smart Contracts — off-chain WebAssembly contracts with on-chain fraud proof guarantees, SDK with
#[norn_contract]proc macro, cross-contract calls (MAX_CALL_DEPTH = 8) - SDK Evolution (v3–v6) — storage primitives (
Item,Map,IndexedMap), Response builder, guards, typed init, structured events, stdlib (Ownable,Pausable,Norn20), proc-macro DX overhaul, tuple keys, safe math - Multi-Validator Consensus — HotStuff BFT with staking, slashing, and state proofs
- WebSocket Subscriptions — real-time block, transfer, token, loom, and pending transaction streams
- Synthetic Transfer Records — unified transfer history for genesis allocations, fee deductions, mints, and burns
norn_getBlockTransactions— detailed block contents RPC (transfers, token ops, names, looms)- Thread State Verification — Merkle proof-based balance verification for clients
- Change Password — for password-authenticated browser wallets
- README Banner — branded SVG banner with ASCII art
Fixes
- Wallet auto-lock "Never" option breaking login (
Infinity→ JSON serialization) - WebSocket auto-reconnect for explorer and wallet
- Token decimal handling in transfers and display
- Fee deduction in peer block handlers for state consistency
- Genesis allocation re-application prevention on restart
- Faucet credit propagation through blocks to all nodes
- Brave browser passkey PRF support fallback
- Wallet session persistence and reactivity
- Average block time calculation (filter idle gaps)
- OG image font alignment
Infrastructure
- 45 wallet CLI subcommands (up from 24)
- 624 Rust tests + 51 TypeScript SDK tests
- PROTOCOL_VERSION 8, SCHEMA_VERSION 7
- Devnet seed node at
seed.norn.network - CI disk space optimization for RocksDB builds
Public Endpoints
| Service | URL |
|---|---|
| Website | norn.network |
| Explorer | explorer.norn.network |
| Web Wallet | wallet.norn.network |
| RPC | https://seed.norn.network |
| WebSocket | wss://seed.norn.network |
Install
cargo install --git https://github.com/augmnt/norn-protocol norn-node
norn run --devv0.7.0 — Full Codebase Audit
Full Codebase Audit
Comprehensive audit addressing 7 critical bugs, 3 operational fixes, wallet enhancements, and documentation updates. This release makes Norn production-ready for public devnet use.
Critical Bug Fixes
- B1:
apply_peer_transfer()now debits sender (best-effort) and credits receiver — fixes balance divergence across nodes - B2:
total_supply_cachedecremented on fee burns indebit_fee()andregister_name()— fixes inflated supply reporting - B3:
submit_knotRPC verifies ALL signatures, not just the first — prevents forged multi-party knots - B4: Knot validation rules 3/5/6 return
ThreadNotFoundfor unknown thread IDs — prevents knots referencing non-existent threads - B8:
submit_fraud_proofvalidates submitter pubkey + signature before broadcast — prevents spam fraud proofs - B10: WeaveEngine rejects peer blocks at or below current height — prevents height manipulation
- B12: RPC auth middleware whitelists 15 read-only methods for unauthenticated access — fixes blocked queries
State Sync & Memory
- B5: State sync loops until fully caught up (not limited to 100 blocks)
- B7:
auto_register_with_pubkey()uses real public key when available - B9: Memory bounded —
block_archivemax 1000,transfer_logmax 10K,known_knot_idsmax 50K
Wallet Enhancements
wallet sign-message/wallet verify-message— sign and verify arbitrary messageswallet rename— rename wallet files- RPC client 10-second default timeout (prevents CLI hangs)
- Transfer confirmation shows estimated fee before sending
Minor Fixes
- Dev mode defaults to
sqlitestorage for state persistence across restarts - Transaction history limit capped at 1000 (default 100)
BlockInfoincludesname_registration_countandtransfer_count- Removed unused
proptestfrom 6 crate dev-dependencies
Documentation
- Protocol Specification v2.0 updated with MessageEnvelope, UpgradeNotice, versioned topics, BlockTransfer, genesis hash validation sections
- White Paper updated with TCP/QUIC transport disclaimer
- README ASCII art terminal banner
Full Changelog: v0.6.0...v0.7.0
v0.6.0 — Rolling Upgrade System
Rolling Upgrade System
Introduces a versioned wire protocol enabling zero-downtime upgrades across the network. Nodes running different protocol versions can coexist and communicate during upgrade rollouts.
New Features
- Envelope protocol —
MessageEnvelopewrapper withprotocol_versionfield for all P2P messages - Dual-decode — nodes accept both new envelope format and legacy v3 format, enabling mixed-version networks
- Versioned gossipsub topics —
norn/blocks/v4,norn/knots/v4, etc. alongside legacy unversioned topics - Upgrade notices — nodes automatically warn peers running older protocol versions
DecodedMessageenum —Known(NornMessage)|Unknown { protocol_version, message_type }for forward compatibility- Peer version tracking —
PeerInfo.protocol_versionparsed from libp2p identify agent version
Wire Format
- New:
[4-byte length][1-byte ENVELOPE_VERSION(1)][borsh MessageEnvelope] - Legacy:
[4-byte length][1-byte 3][borsh NornMessage](still accepted) PROTOCOL_VERSIONbumped to 4,ENVELOPE_VERSION= 1
Other Changes
GenesisConfiggainsversion: u32field (with serde default for backward compat)NornMessage::UpgradeNoticevariant (discriminant 14)encode_message_legacy()rejects new message types (discriminant > 13)--reset-stateflag onnorn run
Full Changelog: v0.5.9...v0.6.0
v0.3.0 — Devnet Launch
What's New
This release marks the Devnet Launch milestone — the Norn Protocol is now a fully functional, globally-installable L1 blockchain node.
Highlights
- Full codebase audit (WS1-WS8) — wired all previously disconnected modules: consensus message routing, spindle watchtower, fee collection, fraud proof submission RPC, Prometheus metrics endpoint, and RPC auth middleware
- Production-ready CLI — network identity, token economics (10B NORN supply, 18 decimals), and
cargo installsupport with thenornbinary - Persistent storage & multi-node P2P — RocksDB-backed state persistence, automatic state rebuild on restart, and multi-node devnet with peer discovery
- Devnet genesis with founder allocation — 10M NORN allocated to the Augmnt founder address with P2P genesis hash validation to prevent cross-network state sync
- Secured founder wallet — replaced public seed with private keypair; founder key stored locally in encrypted keystore
Install
cargo install --git https://github.com/augmnt/norn-protocol.git norn-node
norn --version # norn 0.3.0Run a Devnet Node
norn run --devStats
- 9 workspace crates
- 488 tests, all passing
- 21 RPC endpoints
- 20 wallet CLI subcommands