Wanchain Saturn Guide
Last updated
Last updated
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.
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
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:
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.
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:
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)
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”.
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