Skip to content

v2.5.0 Interstellar

Latest

Choose a tag to compare

@libotony libotony released this 03 Sep 13:48
e6e0d05

Important

Mandatory upgrade.
This release activates a hardfork. All node operators must upgrade to v2.5.0 before the following block heights:

Interstellar Hardfork

Testnet Hardfork: Block 25,891,380 ~ Wed, 9 Sep 2026 11:14:40 UTC
Mainnet Hardfork: Block 25,902,540 ~ Wed, 16 Sep 2026 11:15:10 UTC

What's Changed

Interstellar brings the VeChainThor EVM up to date with Ethereum's Cancun, Prague and Osaka releases in a single upgrade, as specified in VIP-255. It closes the gap that has grown since Galactica (Shanghai), so that current Solidity and Vyper output, and libraries that rely on transient storage, MCOPY, BLS12-381 or secp256r1, run on VeChainThor unchanged.

No configuration changes are required; operators can upgrade in-place. Ethereum transaction equivalence is not part of this upgrade and will be specified in its own VIP.

EVM Upgrades (activated at the Interstellar block)

Opcodes

Precompiled Contracts

Core

  • EIP-2935 Historical block hashes served from state via the contract at 0x0000F90827F1C53a10cb7A02335B175320002935 (#1661)
  • EIP-7825 Per-transaction gas limit cap of 16,777,216 gas (#1581)
  • EIP-7934 RLP block size limit of 8 MiB (8,388,608 bytes) (#1594)

Warning

Notable behavioural changes for contract and dApp developers

All of the following take effect at the Interstellar block. See Deviations from Ethereum in VIP-255 for the full description.

  • Transaction gas cap. Transactions with gas above 16,777,216 are rejected by the txpool and are invalid in blocks. Split large multi-clause transactions accordingly.
  • SELFDESTRUCT semantics. A contract is deleted only when it was created in the same clause. Otherwise the account is retained and only its VET and VTHO balances are transferred to the recipient.
  • Transient storage is clause-scoped. TSTORE values are discarded at the end of each clause, not at the end of the transaction.
  • Blob features are unassigned. BLOBHASH (0x49), BLOBBASEFEE (0x4a) and the KZG point-evaluation precompile (0x0a) are not available. Bytecode referencing these opcodes fails with an invalid instruction.
  • Precompile addresses hold code. Every precompile address, including the new ones, holds an inert 8-byte bytecode, so EXTCODESIZE returns 8 rather than 0.
  • EIP-2935 returns block IDs. The history contract preserves the EIP calling convention but returns VeChainThor block IDs, matching the existing BLOCKHASH behaviour.

Hardening & Robustness

Alongside the fork, v2.5.0 carries robustness improvements across networking, block processing, the EVM interpreter and the API. These do not change consensus rules.

  • Networking: hardened P2P message decoding and RLPx handshake handling; peer capacity reserved for outbound dials; back-off and log rate-limiting on temporary accept errors (#1663).
  • Block processing: stricter validation of block bodies during decoding; refined admission and eviction for the future-block cache; the proposer adopt loop is bounded by a wall-clock deadline (#1667).
  • BFT: never walk into genesis when computing BFT state (#1640).
  • EVM interpreter: internal refinements to call input / return data handling and to code analysis caching.
  • API: /logs/event and /logs/transfer now stream results instead of materialising them in memory; fixed the obsolete flag on block subscription messages (#1668).

Release Verification

Starting with v2.5.0, release assets are published as archives only. Each archive contains the binary together with a detached OpenPGP signature made by the VeChain Thor release key; standalone binaries are no longer attached to releases, so update any download scripts accordingly. See docs/verifying-releases.md for the key fingerprint and verification steps (#1674).

CI, Build & Dependencies

  • Added gnark-crypto and go-bigmodexpfix for the new precompiles; bumped gorilla/websocket to 1.5.3 (#1670).
  • Ethereum test vectors for BLS12-381, P256VERIFY, MODEXP, MCOPY, the history contract and the block size limit are included in the test suite (#1658, #1659, #1662, #1664).
  • CI workflow tidy-up and Node.js 24 in GitHub Actions (#1638, #1644, #1657).

Contributors

Huge thanks to everyone who brought Interstellar to life:

Full Changelog: v2.4.4...v2.5.0