Skip to main content

Changelog

We provide several changelogs:

How changes happen in Monad

Revisions are behavioral changes to the protocol (as contrasted with efficiency improvements to the client, which don't impact correctness). Revisions are referred to in other blockchains as hard forks.

Monad tracks revisions with a counter. The client code typically activates revisions at a future timestamp so that validators can come to agreement about whether to accept the revision and upgrade ahead of time. When the future timestamp is hit, a supermajority of the validators have already upgraded, and they update their behavior in sync, allowing the chain to continue without any pauses.

There are multiple networks (owing to the existence of several test networks). Each network has a different schedule for when each Revision is adopted. These schedules are tracked in ChainConfigs.

The node software is under active development, resulting in occasional releases. Releases are rolled out to different networks at different schedules, and not all releases apply to all networks.

Revisions

Monad revisions are major behavioral changes to the protocol, as defined in revision.h.

RevisionNotes
MONAD_FIVE
MONAD_FOUR
MONAD_THREE
  • MonadBFT implemented
  • Block time (500ms -> 400ms), i.e. gas per second 300Mgps -> 375Mgps
MONAD_TWO
  • Max contract size (24.5kb -> 128 kb)
MONAD_ONE
  • Block time (1s -> 500ms)
  • Block gas limit (300M -> 150M); gas per second unchanged at 300Mgps
  • Transactions charged by gas limit

ChainConfigs

Each ChainConfig describes one network, including its history of upgrading to different Revisions. The ChainConfigs are defined in monad-chain-config/src/lib.rs.

ChainConfigNotes
mainnetChain id 143
testnetChain id 10143; see changelog
testnet-2Chain id 30143; see changelog
devnetChain id 20143