Skip to content

v1.7.0

Compare
Choose a tag to compare
@qianbin qianbin released this 06 Apr 02:28
· 295 commits to master since this release
b2e90a2

This release upgrades the main database to v3. It brings huge improvements on TPS and disk space usage. More than three years after the mainnet launch, it’s believed that we’ve been close to the optimal solution of handling blockchain data.

IMPORTANT: Full resynchronization is required, and it takes about 10 hours with the recommended configuration.

What's new:

  • MPT is seamlessly extended. It supports per-commit sequence number and leaf metadata.
  • Introduces leaf-bank, which makes the complexity of state access close to O(1).
  • The state data is effectively organized, highly ordered and compacted. In full-archived mode (with -disable-pruner), disk space usage is reduced by 65%.
  • The state pruner is upgraded, inspired by write-ahead-logging (WAL). Which reduces disk space usage by 40% compared to the previous version.

Other notable changes:

  • LogDB writing is optimized.
  • Use the static encoder to speed up trie node encoding.
  • Throttled the queue of downloaded blocks to prevent high mem usage.
  • VM stack, jumptable, operations are optimized.
  • Upgraded deps: goleveldb, go-sqlite, freecache.