v1.5.0

Package Downloads

RPM

Cypress Packages

Baobab Packages

Common Packages

Linux

Cypress Packages

Baobab Packages

Common Packages

MacOS

Cypress Packages

Baobab Packages

Common Packages

Windows

  • Not supported yet

Release Notes for Klaytn v1.5.0

New Features

  • State migration (https://github.com/klaytn/klaytn/pull/507)

    • New JSON-RPC API to remove the unnecessary and old state/storage trie, saving the storage space for Klaytn node (Cypress) by 75% (800 GB -> 200 GB)

      • admin.startStateMigration()

      • admin.stopStateMigration()

      • admin.stateMigrationStatus

    • Klaytn node currently requires about 1TB of storage space. This size of storage was a burdensome for efficient node operation, and the state migration came here to relieve this. The state migration removes the stale state/storage trie nodes which are unnecessary for new block generation and validation. Before starting a state migration, stakingInfo is saved in a database to get stakingInfo without the staled state after the state migration.

  • Warm-up trie node cache (https://github.com/klaytn/klaytn/pull/548)

    • New JSON-RPC APIs to speed up the block processing by iterating the latest state trie and caching it

      • debug.startWarmUp()

      • debug.stopWarmUp()

    • Until now, Klaytn node had to continuously access a database for processing a block due to uncached state trie nodes, which results in the delay in block processing. The introduced "warm-up" feature reduces this delay by iterating the last state trie and caching it.

  • Import blocks from String (https://github.com/klaytn/klaytn/pull/516)

    • Importing blocks was available only with a file. Importing blocks from a string is required for some use cases.

    • New JSON-RPC APIs

      • admin.importChainFromString()

  • Fastcache (https://github.com/klaytn/klaytn/pull/490)

    • Fastcache as trie node cache with the autoscaled cache size, reducing memory consumption compared to Bigcache

Improvements

  • Parameterizes triesInMemory and maxRequestContentLength (https://github.com/klaytn/klaytn/pull/555, https://github.com/klaytn/klaytn/pull/564)

  • Uses cached state database in TraceBlock (https://github.com/klaytn/klaytn/pull/546)

  • Improves consensus logic

    • Adds unit test code (https://github.com/klaytn/klaytn/pull/487, https://github.com/klaytn/klaytn/pull/492)

    • Refactors SubList/SubListWithProposer (https://github.com/klaytn/klaytn/pull/551)

    • Prevents validators from sending consensus message if they are not in committee (https://github.com/klaytn/klaytn/pull/549)

    • Istanbul message handler now checks whether the sender is a member of the committee or not (https://github.com/klaytn/klaytn/pull/545)

  • Prevents commit twice when a node stops (https://github.com/klaytn/klaytn/pull/530)

  • Refactors staking manager (https://github.com/klaytn/klaytn/pull/515)

  • Builds and publishes public docker image (https://github.com/klaytn/klaytn/pull/491)

  • Improves Trace API

    • Adds txHash into txTraceResult (https://github.com/klaytn/klaytn/pull/488)

    • tracer now supports CREATE2 (https://github.com/klaytn/klaytn/pull/489)

    • tracer now reports transaction revert information (https://github.com/klaytn/klaytn/pull/484)

  • Allows DNS address string to start with numeric character for encoding URL (https://github.com/klaytn/klaytn/pull/482)

  • Removes vendor directory (https://github.com/klaytn/klaytn/pull/498)

Fixes

  • Reorganizes the stop sequence of blockchain module (https://github.com/klaytn/klaytn/pull/535)

  • Fixes computeStateDB to not compute for non-existing block number (https://github.com/klaytn/klaytn/pull/483)

  • Prevents files to be overwritten via admin.exportChain (https://github.com/klaytn/klaytn/pull/480)

Last updated