Technology, Announcements, News, Klaytn Core

Klaytn v1.11.0 Release Notes

We are happy to announce that Klaytn v1.11.0 has been released. This upgrade emphasizes the implementation of State Pruning and Node Storage Sharing features. For more information, please follow this link.

Klaytn v1.11.0 contains a hardfork upgrade that results in backward-incompatible changes. All Baobab nodes have to be upgraded to v1.11.0 or higher before the target block number. The hardfork implements the features equivalent to Ethereum Shanghai hardfork. The hardfork block number for Cypress mainnet will be scheduled in the next version.

The hardfork schedule is as follows:

Baobab testnet

  • Block number: 131608000 (estimated time: 28 Aug, 10:30 AM UTC+9)
  • Hardfork contents: Shanghai hardfork

Hardfork features

  • Adjusted gas cost of the COINBASE opcode according to EIP-3651 (#1883)
  • Added the PUSH0 opcode to EVM according to EIP-3855 (#1861)
  • Adjusted gas cost related to initcode according to EIP-3860 (#1888)
  • Fixed to allow a new contract account to be created by overwriting an EOA (#1904)

Cautions regarding the v1.11.0 upgrade

Klaytn uses the urfave/cli to implement the command line interface such as ken and homi. Starting from Klaytn version v1.11.0, we switched to urfave/cli v2 to support YAML configuration files. As a result, flags (ex. –datadir) must come before args (ex. <keyfile>) which is more POSIX-compliant. You may need to update your scripts as needed.

For example, the below commands will not work. You must be careful because the command lines below, which were working well, no longer run correctly without an error message.

$ ken account import --password --datadir
$ ken --datadir ~/data init ~/genesis.json
$ kcn attach klay.ipc --exec API
$ homi setup local --cn-num 1 --servicechain -o ./homi-output

The below commands will work. Please update your scripts like this example.

$ ken account import --password <passwordfile> --datadir <datadir> <keyfile>
$ ken init --datadir ~/data ~/genesis.json
$ kcn attach --exec <statement> klay.ipc
$ homi setup --gen-type local --cn-num 1 --servicechain -o ./homi-output

Improvements

  • Added a new API governance_getRewardsAccumulated to query cumulative block rewards (#1848)
  • Added a new API eth_resend to resend transactions with higher gas price (#1894)
  • Added a new API klay_forkStatus to query hardfork status (#1804)
  • Introduced block range option to the admin_exportChain API (#1873)
  • Removed some APIs related to chain configuration and governance. Please use the alternative APIs (#1860)
    • Removed APIs: governance_itemsAt, governance_chainConfigAt, governance_chainConfig, klay_govParamsAt, klay_chainConfigAt, klay_chainConfig, klay_gasPriceAt
    • Alternative APIs: governance_getParams, governance_getChainConfig, klay_getParams, klay_getChainConfig
  • Updated some APIs to return detailed error messages upon transaction failure (#1763 #1845)
  • RPC server returns HTTP 503 error when execution time exceeds a timeout (#1921)
  • Limits execution time and concurrency of some debug.trace* RPCs (#1920)
  • Added new APIs recoverFromTransaction and recoverFromMessage to recover signer address from signatures (#1911 #1937)
  • Introduced node flags to specify log file location and rotation settings (#1869 #1884)
  • Node flags can be specified using a YAML file (#1684 #1905 #1910 #1917 #1931)
  • Added the KIP-111 Live Pruning feature that deletes historic block data in real-time (#1852 #1854 #1859 #1871 #1899 #1902 #1914 #1916)
  • Added RocksDB support to allow shared storages among nodes (#1855 #1900 #1912 #1913 #1918)
  • Added homi command option to create genesis accounts out of a BIP-39 mnemonic (#1813)
  • Updated abigen command to include ABImetadata in the generated files (#1881)
  • Added a subcommand, util (#1691)

Fixes

  • Fixed unexpected node startup failures (#1829 #1868)
  • Fixed JSON-RPC API bugs (#1847 #1851 #1874 #1878 #1903 #1834)
  • Fixed reward distribution logic in service chains with deferredTxFee=false configuration (#1886)
  • Fixed the bug where BN always recommends the same PN (#1835)

Miscellaneous

Binaries