The Wanchain mainnet will undergo its highly anticipated “Saturn” hard fork (v3.0.0) at block height 21,454,700, which is expected on July 5, 2022.
All Wanchain PoS validator nodes and other relevant nodes, such as those belonging to exchanges and wallets, must update their GWAN client to version 3.0.0 before that time to avoid block synchronisation issues.
New Features
After the upgrade of GWAN EVM, here are the primary new features:
- New EVM (London hard fork version)
- Support for EIP1559
- Support for SHA3
- Support for the latest EVM opcodes
- Support for the seamless migration of new DAPPs from Ethereum
Node Upgrade Methods
There are two methods to upgrade Wanchain mainnet nodes: Script Upgrade and manual upgrade.
Script Upgrade (best option for PoS Validator Nodes)
Executing a simple upgrade script is the best way to upgrade a Wanchain PoS Validator Node. Users can execute the following script after logging into their cloud service node with SSH:
$ rm updateMainnetValidator.sh
$ wget https://raw.githubusercontent.com/wanchain/go-wanchain/develop/loadScript/updateMainnetValidator.sh && chmod +x updateMainnetValidator.sh && ./updateMainnetValidator.sh
Notes:
- Please upgrade GWAN to v3.0.0 as soon as possible.
- After the upgrade, the node will require slightly more storage. Please ensure that your server has an additional 20GB of space available.
- As the Wanchain blockchain continues to grow, the storage requirements for GWAN will continue to grow.
Manual Upgrade (best option for non-PoS Nodes including exchanges)
For Wanchain nodes running in a non-standard or customised operating environment, the GWAN v3.0.0 binary file can be downloaded from Wanchain’s GitHub. After downloading the binary file, simply manually replace and upgrade the GWAN.
This method is generally most suitable for non-PoS Nodes including exchanges’ nodes and wallet operators’ nodes.
GWAN v3.0.0 download link: https://github.com/wanchain/go-wanchain/releases/tag/v3.0.0
Startup:
$ ./gwan --http --http.addr <ipaddress> --http.port 8545
Notes:
- Please upgrade GWAN to v3.0.0 as soon as possible.
- Exchanges are requested to close the deposit and withdrawal services before the Wanchain blockchain reaches block height 21,454,700 (expected on July 5, 2022). Deposit and withdrawal services can be re-opened once Wanchain’s Saturn hard fork is complete.
- After the upgrade, the node will require slightly more storage. Please ensure that your server has an additional 20GB of space available.
- As the Wanchain blockchain continues to grow, the storage requirements for GWAN will continue to grow.
- The command line for GWAN v3.0.0 is
./gwan --http --http.addr --http.port
. The RPC is optional. Previously, for GWAN v2.2.0 and its earlier versions, the startup command line was./gwan --rpc --rpcport 8545
. The startup command line for the new GWAN v3.0.0 now completely abides by Ethereum’s rules. --http
Enable the HTTP-RPC server--http.addr value
HTTP-RPC server listening interface (default: “localhost”)--http.port value
HTTP-RPC server listening port (default: 8545)
Technical FAQ
- If a transaction sent to GWAN a legacy format (ie. before EIP-1559), the txHash returned by GWAN will differ from the result calculated locally by the SDK. In such instances, please use the txHash returned by the node.
- The new GWAN RPC nodes enable “ChainID enforcement”. Consequently, GWAN will reject transactions on the RPC that are not replay protected. Therefore, please provide the ChainID in the transaction. If a transaction doesn’t provide ChainID, you will encounter an error like “only replay-protected (EIP-155) transactions allowed over RPC”. GETH v1.10.0 enables this feature. Please refer to the chapter of ChainID enforcement at https://blog.ethereum.org/2021/03/03/geth-v1-10-0/ for more details.
- Like GETH, GWAN’s APIs strengthen field type checking. In eth.estimateGas, ChainID must be a string and cannot be 0 at the beginning. For example, a Wanchain transaction with format before EIP-1559 with ChainID “0x01” in estimateGas will encounter an error like “cannot unmarshal hex number with leading zero digits into Go struct field TransactionArgs.chainId of type *hexutil.Big”. In this case, you should modify the ChainID to “0x1”.
Changes to Commonly Used Command lines
Some command line parameters in the GETH client have changed, so GWAN follows suit to maintain full compatibility with Ethereum. Here are several commonly used command lines which have changed:
1. --http
related command lines
Some command lines that begin with --rpc
are changed to --http
, such as:
- Change
--rpc
to--http
- Change
--rpcport
changed to--http.port
- Change
--rpcaddr
changed to--http.addr
- Change
--rpcapi
changed to--http.api
2. --miner
related command lines
Such as:
- Change
--minerthreads
to--miner.threads
- Change
--etherbase
to--miner.etherbase
3. Status monitoring related command lines
For the compatibility with GETH, change --wanstats
to --ethstats
If you encounter any problems during the upgrade, please contact our developers directly in the corresponding private technical group, or email us at techsupport@wanchain.org
About Wanchain
True DeFi is interoperable — Wanchain, the Wide Area Network chain, is the world’s premier decentralised blockchain interoperability solution. Our mission is to drive blockchain adoption through interoperability by building fully decentralised bridges that connect the world’s many siloed blockchain networks. This crosschain infrastructure empowers developers to build truly decentralised crosschain applications to power the future of Web3.
Website | Documentation | Telegram| Twitter | Newsletter | Blockchain Explorer | Developer Portal