New Features
- Introduced KES (Klaytn Endpoint System) (#707, #709)
- Supported shared database and cache
- KES Fetcher node processes blocks and KES Service node serves APIs with the shared database/cache without its processing
- Added debug.startCollectingTrieStats API which shows a stat of state trie (#740)
- Added debug.getModifiedStorageNodesByNumber API which returns modified trie nodes from the contract sotrage (#742)
- Added logs to show block processing summary (#747)
- Fixed an err in 4byte tracer and Added unigram/bigram/trigram tracers (#752)
- Supported ABIEncoderV2 to pack dynamic array and slice type (#753)
- Supported ABI to unpack tuple type and bytesN arrays (#807, #792, #786)
- Introduced state.trie-cache-save-period option for periodical saving fast cache to filesystem (#828)
- Added debug.StartContractWarmUp(common.Address) API to warm up contract storage trie node (#831)
- Introduced state prefetcher which executes future blocks and future transactions against current state for pre-loading state trie cache (#832, #860)
Improvements
- Split chain data to send Kafka messages by chain data fetcher (#708, #712)
- Changed metrics.Meter to metrics.Timer (#817)
- Updated default docker image ID (#824)
- Increased FD limit to the maximum value of the process (#827)
Fixes
- Fixed the path for saving trie node cache (#751)
Miscellaneous
- Disabled seek compaction for LevelDB (#715)
- Performed code refactoring (#730, #733, #735)
- Updated golang to 1.15.7 version (#875, #871)