Skip to content

Releases: augmnt/norn-protocol

v0.19.1

15 Feb 18:25

Choose a tag to compare

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
  • useLoomRefresh hook 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 rewards CLI command
  • Enhanced setup script with --start, --systemd, and --faucet options
  • 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

14 Feb 14:04

Choose a tag to compare

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 --dev

v0.7.0 — Full Codebase Audit

08 Feb 13:09

Choose a tag to compare

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_cache decremented on fee burns in debit_fee() and register_name() — fixes inflated supply reporting
  • B3: submit_knot RPC verifies ALL signatures, not just the first — prevents forged multi-party knots
  • B4: Knot validation rules 3/5/6 return ThreadNotFound for unknown thread IDs — prevents knots referencing non-existent threads
  • B8: submit_fraud_proof validates 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_archive max 1000, transfer_log max 10K, known_knot_ids max 50K

Wallet Enhancements

  • wallet sign-message / wallet verify-message — sign and verify arbitrary messages
  • wallet 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 sqlite storage for state persistence across restarts
  • Transaction history limit capped at 1000 (default 100)
  • BlockInfo includes name_registration_count and transfer_count
  • Removed unused proptest from 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

08 Feb 13:08

Choose a tag to compare

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 protocolMessageEnvelope wrapper with protocol_version field for all P2P messages
  • Dual-decode — nodes accept both new envelope format and legacy v3 format, enabling mixed-version networks
  • Versioned gossipsub topicsnorn/blocks/v4, norn/knots/v4, etc. alongside legacy unversioned topics
  • Upgrade notices — nodes automatically warn peers running older protocol versions
  • DecodedMessage enumKnown(NornMessage) | Unknown { protocol_version, message_type } for forward compatibility
  • Peer version trackingPeerInfo.protocol_version parsed 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_VERSION bumped to 4, ENVELOPE_VERSION = 1

Other Changes

  • GenesisConfig gains version: u32 field (with serde default for backward compat)
  • NornMessage::UpgradeNotice variant (discriminant 14)
  • encode_message_legacy() rejects new message types (discriminant > 13)
  • --reset-state flag on norn run

Full Changelog: v0.5.9...v0.6.0

v0.3.0 — Devnet Launch

07 Feb 12:37

Choose a tag to compare

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 install support with the norn binary
  • 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.0

Run a Devnet Node

norn run --dev

Stats

  • 9 workspace crates
  • 488 tests, all passing
  • 21 RPC endpoints
  • 20 wallet CLI subcommands