The CIP-37 upgrade does not change the public chain’s consensus layer.
The new address format is only a conversion of the old format. Users can still log into their Conflux wallet through the private keys or secret phrases. User assets will not be affected.
The upgrade time will occur to the Chinese Spring Festival, so users may not get responsive technical support when upgrading. It is recommended for all Conflux ecosystem projects to upgrade to the new nodes after February 22.
Why is this upgrade needed?
Currently, Conflux addresses are very similar to Ethereum addresses. In many cases, they are compatible. For example, Ethereum addresses starting with 0x1 are also available on Conflux Network, and there is a 1/16 possibility of Conflux addresses being valid on Ethereum, but assets may be lost permanently when using a wrong address. The cost and difficulty of cross-chain migration are reduced because of the compatibility, but a similar address format brings some problems. When users perform cross-chain operations through ShuttleFlow, they may lose assets if they transfer to a wrong address (e.g., when accidentally transferring assets to a Conflux address on Ethereum and vice versa). Losing assets is a severe problem. A new address type that is incompatible with Ethereum would allow tools like Metamask to prevent such erroneous transactions from being submitted to the network. Therefore, to reduce address input mistakes and improve user experience, Conflux introduces a new address format in CIP-37: base32Check.
Specific changes related to address format in CIP37
To solve mistakenly using wrong addresses, we introduce a brand new base32-encoded address format in CIP37. Besides checksum, the new addresses also include network and address type information.
In old versions, addresses are in hex40 format, starting with 0x. In the latest version, addresses are in base32 format, starting with a network ID, e.g., cfx:.
Old address vs new address:
• hex40 address: 0x1386b4185a223ef49592233b69291bbe5a80c527
• base32 address: cfx:aak2rra2njvd77ezwjvx04kkds9fzagfe6ku8scz91
The new addresses use customized base32 code address. Currently applied characters are: abcdefghjkmnprstuvwxyz0123456789 ( o, i, l , and q are removed).
In new format addresses, network types are included. Up to now there are three types: cfx (for the mainnet), cfxtest (for the testnet), and net[n] (for customized networks)
• cfx:aak2rra2njvd77ezwjvx04kkds9fzagfe6ku8scz91
• cfxtest:aak2rra2njvd77ezwjvx04kkds9fzagfe6d5r8e957
• net1921:aak2rra2njvd77ezwjvx04kkds9fzagfe65k87kwdf
Meanwhile, new addresses also include address type information, currently four types (as a convention, addresses that contain the address type are displayed using uppercase letters):
• user: CFX:TYPE.USER:AAK2RRA2NJVD77EZWJVX04KKDS9FZAGFE6KU8SCZ91
• contract: CFX:TYPE.CONTRACT:ACB2RRA2NJVD77EZWJVX04KKDS9FZAGFE640XW9UAE
• builtin: CFX:TYPE.BUILTIN:AAEJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAJRWUC9JNB
• null: CFX:TYPE.NULL:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0SFBNJM2
The two address formats (hex40 and base32) are convertible to each other. They are the same if converted to byte arrays. But when a hex40 address is converted to a base32check address, additional network ID information is needed.
Detailed CIP-37 content: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-37.md
Chinese version of CIP-37: CIP-37: 引入一种新的地址格式帮助用户区分 Conflux 和以太坊的地址
What is the influence of this upgrade on ordinary Conflux users?
The Conflux Foundation suggests that in the future, Conflux ecosystem projects will should deprecate hex40 addresses (starting with 0x) gradually upgrade them to base32check addresses (starting with: “cfx:”). On ConfluxScan, there will be a conversion between old addresses and new addresses.
The new address format is only a conversion of the old format. Users can still log in to Conflux wallet via private keys or secret phrases. User assets will not be affected.
The display format of the same Conflux wallet address is different under different networks, for example:
Tethys: cfx:accxxxxxxubtnmezvhu9dhcxxxxxx0403y2dgpyfjp
Testnet: cfxtest:accxxxxxxubtnmezvhu9dhcxxxxxx0403ywjz6wtpg
Testnet: CFXTEST:TYPE.CONTRACT:ACCXXXXXXUBTNMEZVHU9DHCXXXXXX0403YWJZ6WTPG
But Conflux official and ecosystem products users may be affected:
1. Portal
- ConfluxPortal will be upgraded to v0.5.11, and in the latest version, addresses will be displayed in base32 format only (starting with a networkid, e.g., cfx:).
- If your Portal is downloaded from Github, please go to Github to manually download the latest version. If it is installed from Google Chrome, the extension will be upgraded automatically.
- When users add a new account in Portal, the new address will be in base32 format (starting with a networkid, e.g., cfx:).
- Users can transfer to both hex40 addresses (starting with 0x) and base32 addresses (starting with a networkid, e.g., cfx:). There will be a notice when transferring to a hex40 address (starting with 0x).
2. Scan
- An announcement will be put on ConfluxScan to provide a conversion tool of base32 addresses (starting with a networkid, e.g., cfx:) and hex40 addresses (starting with 0x).
- Addresses will be displayed on Scan in base32 format (starting with a networkid, e.g., cfx:) only, but searching hex40 addresses (starting with 0x) is still supported.
- Already named smart contracts will be displayed with the name only, and unnamed contracts will be displayed with the contract icon.
3. ShuttleFlow
- On ShuttleFlow, Conflux addresses will be in base32 format (starting with a networkid, e.g., cfx:) only.
4. Bounty Platform
- Currently, only hex40 (starting with 0x) is supported when withdrawing tokens from the Bounty platform.
5. MoonDex
- On the MoonDex webpage, Conflux addresses will be in base32 format (starting with a networkid, e.g., cfx:) only.
6. Other wallets supporting Conflux assets
- Cobo, DAppbirds, Bitpie, Hoo, Hashkey, and Conflux ecosystem wallets will gradually support base32 addresses after February 22nd.
7. Centralized exchanges
- Currently, all the centralized exchanges listing CFX/FC only support hex40 addresses. After the Chinese Spring Festival, the exchanges will recommend users to upgrade their addresses into base32 format. Please pay attention to the official notice of the exchanges.
8. Conflux ecosystem projects
- Wallets in the Conflux ecosystem will gradually support base32 addresses (starting with a networkid, e.g., cfx:) after February 22. Before this upgrade, Conflux ecosystem projects will run as usual. When the projects are upgraded, users need to use the updated Conflux wallets to interact with them. Please pay attention to the official notice of the ecosystem projects.