Skip to content

m1.1.1: to apply Camellia hardfork to METADIUM MAINNET

Choose a tag to compare

@MetadiumRelease MetadiumRelease released this 12 Aug 05:20
· 6 commits to master since this release
ebaeca7

⚠️ Superseded by m1.1.2. These artifacts were built against glibc 2.39 and require GLIBC_2.38; they do not start on Ubuntu 20.04 or 22.04. The source is identical — use m1.1.2.

This release activates the Camellia hard fork on Metadium mainnet.

Activation block 117,764,000 (authoritative)
Expected time around 2026-08-27 12:00 KST (approximate — height-based activation drifts with block time)
Version 1.1.1-stable

All mainnet node operators must upgrade before the activation block. Nodes running older binaries will follow a diverging chain.

What Camellia activates

Ethereum's Shanghai and Cancun EIPs in a single upgrade, running on Metadium testnet since block 86,449,000 (2026-05-20) with no incidents:

EIP Feature
EIP-3855 PUSH0 opcode
EIP-3860 Limit and meter initcode
EIP-1153 Transient storage opcodes (TSTORE/TLOAD)
EIP-4844 Blob transaction support (sidecar retention configurable)
EIP-5656 MCOPY opcode
EIP-6780 SELFDESTRUCT only in same transaction

(Full list and Metadium-specific notes: docs/camellia-mainnet-hf-plan.md)

Also in this release

  • Shutdown reliability: fixed a deadlock that could make a node ignore SIGTERM during shutdown (governance reads no longer hold TrieAccessMu across an unanswered in-process RPC round-trip); gmet.sh stop no longer reports success without stopping anything, and gained configurable shutdown knobs (STOP_TIMEOUT, STOP_FORCE, LOCK_TIMEOUT).
  • systemd units: metadium/scripts/gmet.service (+ sealer override) with a stop policy that matches the shutdown knobs.
  • 32-bit portability fixes in cmd/geth/metclient (wei amounts in platform-sized ints).
  • blobpool: blob sidecars now expire under Metadium PoA. limbo.finalize was reached with a nil finality boundary whenever chain-level finality could not be resolved — at startup before the governance admin initializes, during transient governance-read failures, and permanently on governance-less networks — so it returned early, logged Nil finalized block cannot evict old blobs, and never dropped included blob transactions from the limbo store. Under PoA the pool now falls back to a head-64 boundary when, and only when, no chain-level boundary is available; non-PoA paths are bit-identical, and a real boundary is never overridden. Camellia-active nodes stop emitting the error and reclaim limbo space.
  • txpool: 256KB max-transaction ceiling restored (params.MaxTransactionSize — the v1.13.14 rebase had silently reverted it to 128KB). This is local pool admission policy, not consensus, and it restores parity with 0.10.x, which has carried the same 256KB ceiling since 2018 — a mixed 0.10.x + 1.1.1 fleet behaves uniformly. Only nodes on the intermediate 1.1.0 line (testnet) reject above 128KB, so 128–256KB transaction propagation is path-dependent only while 1.1.0 nodes remain.
  • Breaking API change for external importers: metclient.SendValue's amount parameter is now *big.Int (was a platform-sized int, which silently truncated wei amounts — ~2.1 gwei ceiling on 386 builds, ~9.22 META even at int64). No in-repo callers; external tooling that links metadium/metclient must update at compile time.
  • Version string: Gmet/v1.1.1-stable.

Upgrade

The operator documentation is the README at the m1.1.2 tag — this release is
superseded, and its source is identical, so the m1.1.2 documentation describes
this build too:
Upgrading from 0.10.x
is the full checklist the warnings below are drawn from, and
Node Configuration Reference
documents every .rc knob with its default, with a worked example for an
exchange or API full node.

⚠️ Testnet operators still on 0.10.x: upgrade directly to 1.1.1 — skip 1.1.0. The 1.1.0 testnet build carries a chain-config regression (petersburgBlock dropped) that rewinds a 0.10.x node's chain to block 5,622,999 (~80M-block resync) on first start. 1.1.1 restores the value and is safe from both 0.10.x and 1.1.0 starting states. Mainnet is unaffected throughout. Testnet nodes must also be started with --metadium-testnet (or TESTNET=1 in the node's .rc) for compiled-in config updates, including the Camellia fork block, to apply.

⚠️ Full sync only. The only --syncmode that starts on Metadium networks is fulllight is gone from the tree, and snap/fast are deliberately rejected (the snap state-healing fixes are not backported to this base). For fast new-node bring-up, bootstrap from the published chain snapshot. The personal RPC namespace is also disabled by default (upstream deprecation) — nodes whose tooling uses personal_* must start with --rpc.enabledeprecatedpersonal. See the README's "Upgrading from 0.10.x" section for the full checklist.

⚠️ RPC/WS bind default changed. Nodes that serve JSON-RPC/WS to external clients must add HTTP_ADDR=0.0.0.0 and WS_ADDR=0.0.0.0 to their per-node .rc before restarting on this release — the default bind is now loopback (was unconditional 0.0.0.0). An in-place upgrade without these knobs silently stops external serving.

# per node (engine-matched tarball!):
cd /opt/meta
bin/gmet.sh stop     # graceful; never kill -9
tar xzvf metadium-1.1.1-linux-<leveldb|rocksdb>.tar.gz
bin/gmet.sh start
bin/gmet version              # expect 1.1.1-stable; verify the Git Commit line
                              # matches this release (version alone does not
                              # prove a fixed build)
grep -m1 Camellia logs/log    # fork config prints at chain init -- expect
                              # the Camellia activation height

Deploying before the activation block is safe: the fork activates automatically at the block height.

Assets

Both assets are built from commit ebaeca7f4a7c2adbc785d7b71b3f142a011b3d73 (the master tip this release tags). gmet version inside the tarball reports 1.1.1-stable, Git Commit ebaeca7f4a…; use that to verify a deployed binary against this release (see item 7 of the upgrade checklist in the README).

Asset md5 sha256
metadium-1.1.1-linux-leveldb.tar.gz 913e8b224cfcebfcad913281dec6f314 4c085993fb7f8403380291e8adf6d167ebc57d3b4a2d563094aaf4293ad0becf
metadium-1.1.1-linux-rocksdb.tar.gz c487ac8934a7e9c00598f17aec9e74c5 813e8c36f69a56bea3387639bc23329ea057e7ebd37e011864b7848277cef58e

The sha256 values are the digests GitHub displays on the asset list, so either column can be used to verify a download (md5sum / sha256sum).