Author: 0xbeny, Mohit, cryptoRREN, satz_tr
Context
Smart contracts are created using a human-readable programming language such as Solidity. When they are deployed or executed, it is compiled to a machine-readable format called bytecode. The Ethereum Virtual Machine, a decentralized application layer that operates as a runtime environment within a node’s client software, allows nodes to interpret bytecode. EVM-compatibility means a blockchain network uses this same method, allowing developers to easily participate in ecosystems that share this compatibility.
By allowing developers to leverage popular tools and libraries built with the Ethereum ecosystem, and easily port their smart contracts from other EVM-compatible blockchains. XDC network supports two main address prefixes which are the following:
1- xdc prefix (e.g. xdca124…bab): xdc is with XDC from the beginning(genesis).
2- 0x prefix (e.g. 0x123c…cca): In the last 2 years has been added due a high-demand from the community
We’ve heard this statement a lot of times before from XDC prefix OGs:
“xdc prefix is with XDC network from the genesis and it’s tied up with XDC identity.”
But, Having 2 prefixes at the same time, creates the below-mentioned conflicts:
- Human error for Both users and developers
- Wallets that use xdc prefix which is not compatible with Wallet connect.(link)
- Wasting hardware and resources to maintain xdc prefix compatible RPCs
- Tooling incompatibility in general
- Confusion on XDC explorers and new validators on what prefix to choose
- Tough for XDC team itself manage all repetitive queries
- New developers in 100% of times facing issue to get Faucet
- Mistakenly using the wrong prefix can cause failed transactions or incorrect address validation.
- Some dApps, wallets, or services might only support one prefix, leading to transaction failures or additional steps to convert between the two formats.
Sharing a few feedbacks from community:
- Projects and developers trying to migrate from other EVM ecosystems to the XDC Network are often faced with an experience that is not as seamless as their experience should be.
- This can cause projects to choose other communities or cause favorable integrations to reconsider applying their efforts to the XDC Network.
- Blockchain itself is tough for new users to onboard, xdc prefix adds an extra barrier.
Action Plan
This proposal is aiming to choose 0x prefix for XDC Network as the first and only option for New and Existing:
- Wallets
- Toolings
- dApps
- CEXs
- Explorers
- Documentations
And keeping xdc prefix as legacy option.
After confirming this proposal by the community, XDC team should make a public announcement to this decision and help the existing toolings, dApps, CEXs to migrate to the new address prefix which is 0x.
With this change there is no need to change anything on the proposal level, the only effort is for encouraging anyone to use.
Would like to see our support for this proposal here this topic on the forum and bear with us to roll it out on XDCDAO.org.