Axon Development Updates 09/06/2023 #1410
KaoImin
started this conversation in
Development Updates
Replies: 0 comments
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
-
Somewhere in the earth
Hey, we hope you've been keeping an eye on Axon's progress. We'd like to bring to your attention that there hasn't been a new Axon release since July 13th. During this time, our dedicated Axon team has been hard at work on the highly anticipated Axon 0.2.0-beta version.
While preparing for this release, we encountered some bugs that have the potential to introduce breaking changes. To address this, we embarked on a journey of data migration. However, it hasn't been a completely smooth process. After extensive discussions, we decided to implement a hardfork mechanism to ensure a seamless transition. In addition to resolving these challenges, we're excited to share that we've been working on numerous impactful features and code refactors. We're pleased to announce that these efforts are nearing completion and let me introduce the mainly changes:
Hardfork Mechanism
The introduction of the hardfork mechanism marks a significant milestone in our development. Starting from version 0.2.0-beta, all breaking changes will be seamlessly managed through this mechanism. This proposal has been under discussion #1317 for some time, and you can find the related PR in the following link:
CLI Refactor
There is a big change in Axon CLI. Firstly, we've split the
start
command into two separate commands:init
andrun
, as detailed in #1386. This change enhances developers' ability to customize their chains effortlessly. Additionally, we've made adjustments to the genesis process. It now operates with a spec that includes transactions within the genesis, a modification outlined in #1332. The remaining portion of the genesis will be calculated during the initial process, streamlining the setup. Notably, we've also refactored the CLI code using the 'derive' macro, as outlined in #1326. These changes collectively contribute to an improved and more efficient CLI experience.Merge RocksDB Instances
Previously, Axon maintained four RocksDB instances within the same process. This setup, however, posed some challenges. Specifically, some instances were infrequently accessed, causing
memtable
unable to be flushed for a long time. Furthermore, having different storage paths increased the risk of data tampering. To address these concerns and enhance system stability, PR #1338 has been introduced. This PR successfully resolves these issues by implementing read-write separation. This not only reduces the likelihood of introducing bugs during development but also optimizes memory usage.Other Breaking Changes
0.2.0-beta version has some breaking changes:
receipts_root
same as EIP-2718 fix(consensus): correct receipts root #1270version
field and remove some useless fields ofHeader
feat!: addversion
field to block header and proposal #1319 refactor!: remove useless fields inBlockHeader
#1339rlp
codec ofHex
refactor: change the inner type ofHex
#1371 refactor!: change the rlp codec ofHex
#1382 fix:Hex
serde deserialize #1396Other Bugfixes and Code Refactors
During this time we make many code refactors:
modexp
precompile contract may overflow and reduce memory cost fix(precompile): fix overflow sub #1299 perf: reduce mem cost on modexp #1300Let's anticipate the release of Axon 0.2.0-beta!
Beta Was this translation helpful? Give feedback.
All reactions