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
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.ContextintoBlockContextandTxContext - 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
blockHashreturns ineth_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_addTrustedPeeradmin_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
ioutiltoembed - Simplified database layers with dedicated
rawdb
Build and CI Enhancements
- Go toolchain → 1.23
- golangci-lint → v1.63.4
-
Enforced:
go mod tidygo 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)
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!
Thanks Anil. Upgraded. Fyi, noticed that 187 out of 417 are upgraded as of now.