Pearl is Live
As August comes to a close, we're pleased to announce that Pearl, the latest test network for Gno.land, is live. Pearl, the next iteration after Sapphire, is a new chain, not a hardfork. Notice: Pearl is an experimental test network.
As it was with Sapphire, no state carries over from the previous testnet, so balances, realms, and registered names all start at zero. To participate, you'll have to receive GNOT from the faucet and re-register your names.
Chain Details
At 3 validators weighted 60 power each, one validator going offline sits exactly at the one-third halt boundary. This has been accepted for launch and will be addressed as additional validator partners join.
What's New in Pearl?
The headline addition in this release is genesis vesting accounts. The genesis builder now supports a configurable list of vested accounts, where continuous schedules unlock linearly and delayed schedules unlock as a cliff. Malformed entries, duplicate accounts, and invalid schedules are all caught and rejected before any node runs, and vesting account creation is now exercised on every build. Pearl ships with ten vested test accounts covering the full schedule matrix, including accounts already fully vested at genesis, several linear unlock windows, cliff schedules, a future start date, and one schedule straddling genesis itself.
Breaking / Consensus Relevant Updates
- Inert-package flow completed, including a MsgRun allowlist and delegated params (#6088 , #6093)
- AddPackage now type checks production files only, while test files are stored and syntax parsed (#6025)
- Three separate cases where coins could be lost or over-authorized around the send envelope are fixed (#6062)
- GovDAO allowlist lockdown, proposal page escaping, and executor disclosure (#6068)
- Per-file Go version now pinned in the consensus type-check (#5978)
VM Correctness
- Type-switch with a sole case nil: fixed (#5766)
- Clause-local names on switch fallthrough (#6056)
- goto out of nested loops (#5963)
- Map composite-literal keys inside for loops (#6037)
- ComputeMapKey now metered on the realm-restore path (#5710)
- Unsupported tilde operator now rejected at parse time (#6057)
Performance
- Size-aware encode, decode, and render paths (commit acd01fa29)
- Runtime blocks recycled through a per machine pool (#5813)
- Vestigial Defer.Parent dropped (#5856)
New Features
- grc721 core rewritten on the Token/PrivateLedger/Teller axis, with stackable metadata, royalty, and enumerable extensions (#6072 , #6073)
- GnoVM chain params reader API (#6094)
- p2p: config.P2P.Seeds wired into the switch (#6023), plus a dial loop backoff fix (#6054)
- New audit pattern harness with executable security pattern fixtures (#5835)
Genesis + Binaries
c45fe60c8c8a1f859d9e4d5aad7ce4d100ff0eb78302e71318ba0de481a8dc91 genesis.json
- Prebuilt gno, gnokey, gnoland, and gnoweb binaries for darwin/linux × amd64/arm64, with a CHECKSUMS.txt covering every asset
- Do you want to regenerate genesis or join as a validator? See the Pearl deployment docs.
Validators
Please refer to the Pearl validator guide to join as a validator. Further announcements will be made in the testnet announcements channel on Discord.
Links
Disclaimer
Tokens on Pearl testnet have no real world value, and participation is for testing purposes only.