Links

v1.5.0

Package Downloads

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 modified 10mo ago