Developers Forum for XinFin XDC Network

Cover image for XDC Network v2.6.8 Cancun Upgrade: A Leap Forward in Performance and Compatibility
AnilChinchawale
AnilChinchawale

Posted on

XDC Network v2.6.8 Cancun Upgrade: A Leap Forward in Performance and Compatibility

The XDC Network has officially rolled out its v2.6.8 update, codenamed Cancun, marking a significant milestone in the evolution of this enterprise-grade blockchain platform. This release introduces full support for Ethereum’s Cancun hard fork features—including EIP-1559 activation on mainnet, improved EVM optimizations, and foundational upgrades supporting future scalability.

Built on the Delegated Proof-of-Stake (DPoS) consensus model, this release enhances stability, efficiency, and compatibility with modern smart contract development tools and infrastructure.

You can track the upcoming activation block at the following countdown link:
🔗 https://xdcscan.io/block/countdown/98800200

🔗 https://xdcscan.com/block/countdown/98800200

This article highlights the major features, fixes, and improvements from the v2.6.8 Cancun Upgrade.


🚀 Key Highlights of the Upgrade

This release aligns XDC more closely with upstream Ethereum advancements while preserving its strengths in high-throughput enterprise applications.

1. EIP-1559 Activation on Mainnet

  • Scheduled for block #98,800,200.
  • Introduces dynamic fee markets for:

    • Predictable gas pricing
    • Reduced spam
    • Base fee + burn mechanism

2. EVM Performance Boosts

  • Reduced memory consumption.
  • Faster contract execution.
  • Optimized opcode performance.

3. Stability Enhancements

Fixes implemented in:

  • Transaction pool behavior
  • Consensus edge cases
  • RPC performance
  • Block production

4. Solidity v0.8.28 Compatibility

  • Developers can utilize the latest Solidity compiler features.
  • Improved safety, overflow checks, and optimized bytecode.

5. Codebase Modernization

Upgraded internals include:

  • Migration to Go 1.23
  • Enhanced CI/CD
  • Extensive static analysis and linting
  • Cleaner, more maintainable repository

Upgrade Instructions for Node Operators

From mainnet directory, run:

bash upgrade.sh
Enter fullscreen mode Exit fullscreen mode

This ensures a smooth transition to the new protocol rules.


⚙️ Protocol and EVM Enhancements

Key Ethereum Improvement Proposals added:

EIP-1559

  • Introduces base fee + tip model
  • More stable gas market
  • Integrated burn mechanism for long-term supply dynamics

EIP-1153 — Transient Storage

  • Reduces gas by allowing temporary, transaction-scoped storage

Additional EIPs Included

  • EIP-2565: Cheaper ModExp precompile
  • EIP-3651: Warm coinbase optimization
  • EIP-5656: MCOPY opcode for efficient memory copying
  • EIP-6780: Modified SELFDESTRUCT semantics
  • EIP-7516: BlobGas changes for prototype scalability models

These enhancements strengthen the XDC–Ethereum compatibility layer and support scalable HyFi (Hybrid Finance) applications.


🔧 Core Improvements and Bug Fixes

VM Refinements

  • Split of vm.Context into BlockContext and TxContext
  • Decreased memory allocations
  • Streamlined precompile and trace logic
  • Removed obsolete interfaces

Optimization Enhancements

  • Better jump destination analysis
  • Faster log and event handling
  • Improved gas estimation accuracy

Key Bug Fixes

  • Corrected blockHash returns in eth_getLogs
  • Resolved txpool overflows and block stall issues
  • Fixed divide-by-zero and nil pointer errors
  • Corrected “xdc”-prefix address encoding
  • Addressed consensus-based vote duplication
  • Eliminated redundant metrics
  • Improved downloader edge-case efficiency

Collectively, these updates deliver improved reliability—critical for supply chain, trade finance, and enterprise-grade operations.


🕸 Consensus, Networking & RPC Upgrades

Consensus Upgrades

  • Enforced signer uniqueness (prevent duplicates)
  • Better epoch timeout handling
  • Improved logging around consensus failures

Networking Enhancements

  • New RPCs:

    • admin_addTrustedPeer
    • admin_removeTrustedPeer
  • Default max peers increased to 50

  • HTTP + WebSocket on single port support

  • Metrics added for P2P dial attempts

RPC and CLI Extensions

  • New flag: --rpc-gascap (default 50M)
  • More accurate EstimateGas behavior
  • New DB ops:

    • stats, compact, inspect, get, put, delete
  • Read-only DB mode

  • Improved chain config reporting

  • New API: xdpos_getBlockInfoByEpochNum


🧹 Code Quality, Tooling, and Network Deployments

Codebase Cleanup

  • Staticcheck applied across SA/ST/S-series warnings
  • Removal of deprecated Go API usage
  • Migration from ioutil to embed
  • Simplified database layers with dedicated rawdb

Build and CI Enhancements

  • Go toolchain → 1.23
  • golangci-lint → v1.63.4
  • Enforced:

    • go mod tidy
    • go generate
  • Migrated CLI to urfave/cli/v2

Devnet/Testnet Improvements

  • Updated gas limits (50M)
  • Better recovery logic
  • Updated bootnode lists
  • Efficient private networking

❌ Deprecations and Security Enhancements

Deprecated Components

Removed:

  • CLI flags

    • --mine, --fast, --light, --XDCx-datadir
  • Whisper & ENS packages

  • Mobile builds (iOS/Android)

  • Legacy genesis files

Security Hardening

  • Applied CertiK audit fixes
  • Strengthened signature recovery
  • Upstream-aligned sender validation

Operator Warning — Hard Fork

All nodes must update before block #98,800,200, else they risk:

  • Consensus divergence
  • Invalid block production
  • RPC inconsistencies

📌 Final Thoughts

The v2.6.8 Cancun Upgrade reinforces XDC’s long-term focus on:

  • High performance
  • Enterprise readiness
  • Strong developer tooling
  • Ethereum compatibility
  • Secure and stable protocol evolution

This release lays the groundwork for advanced use cases in:

  • Real-world asset tokenization
  • Global trade finance
  • Cross-border settlements
  • High-throughput dApps

For full technical details, refer to the official GitHub release page.

Discussion (2)

Collapse
mrblockchain22 profile image
Salomon Morales

Not sure if this is common knowledge but the coinbase.txt file that used to contain the coinbase address (this is important for those staking XDC on your nodes) is no longer present in the coinbase.txt file. After speaking with @anilchinchawale, he confirmed that the UTC file's name contains the coinbase address. I wanted to post the comment here as Im not sure that's common knowledge at the moment with the release of v2.6.8. Happy staking!

Collapse
redpill1 profile image
samsam • Edited on

Thanks Anil. Upgraded. Fyi, noticed that 187 out of 417 are upgraded as of now.