IOST Mainnet Olympus v3.4.0 Upgrade — 30 Nov 2020

Zhen
IOST
Published in
3 min readNov 30, 2020

On February 25, 2019. the IOST team officially launched the IOST Mainnet update. Since its launch, the IOST mainnet has grown rapidly in terms of DApps, Mainnet accounts, and mainnet transactions. It has become the world’s top 4 DApp public chain platform alongside Ethereum, EOS, and Tron.

As the crucial underlying infrastructure of a public chain ecosystem, the mainnet’s performance determines its development. Since the mainnet launch, the IOST development team has maintained an innovative attitude and has updated and optimized its versions frequently, releasing Olympus v3.4. today, 30 Nov 2020.

Note: This version is not compatible with the past mainnet versions and all nodes must upgrade to this version within 7 days.

To know more about how to upgrade the node, please visit: https://developers.iost.io/docs/en/4-running-iost-node/Deployment.html#upgrade-the-node

After the upgrade is complete, you can use the following command to check the hash and version:

  • docker exec -it iserver iwallet state | grep -E “codeVersion|gitHash”

The result should be as follows:

  • “gitHash”: “fe23e311362aeee365a2bace661fc51d9538daa9”,
  • “codeVersion”: “3.4.0”.

Changes in Olympus v3.4:

1. HUSD — Exceptional Circumstance

In order to support the husd stablecoin, the IOST mainnet will be upgraded in an incompatible way to sort out the exceptional circumstances generated on the husd integration.

*Additional notes on resetting HUSD Token:
- First, the resetting is token, not account, and the original account can still be used.
- Second, the reset process is not centralized, requiring code upgrades, and all nodes need to upgrade to a new version.
- Third, the original HUSD Token has not yet been used, but is registered, and does not involve any security issue of the original owner account.

2. Interface update

Upgraded the /getContract/ interface to get the original contract code, for newly deployed contracts.

Added /getRawBlockByNumber/ interface to get the underlying block data structure. Compared with the previous /getBlockByNumber/ interface, the block generator signature and other low-level data items have been added. This interface is mainly for cross-chain light node verification and regular developers generally don’t need to use it.

Added the /getBlockHeaderByRange interface to get block header data in batches. This interface is mainly for cross-chain light node verification and regular developers generally don’t need to use it.

3. iWallet command-line tool update

When creating and importing accounts, you can use — output_key_file xxx.json to specify the account key save file

When calling the contract, you can use — key_file xxx.json to specify the account key file used

When updating the contract, add — post_check, the user can use this parameter to prevent the contract from being damaged due to incorrect updates.

4. Code upgrade

Upgrade & continuous integration on macOS to Go 1.15

IOST is committed to building a developer-friendly public chain platform. In the future, IOST will continue to innovate and continue to upgrade and optimize the mainnet, bringing more powerful underlying infrastructure support and good development experience to all mainnet ecosystem users.

From here, we would like to express our gratitude to the IOST development team and developers from all over the world for their unremitted efforts and also welcome developers to join our developer community.

If you would like to hang out with the IOST community, check out the following official channels:

…………………………………………………………………….

--

--

Zhen
IOST
Editor for

Senior Community manager, editor, and translator at IOST.