Releases: aionnetwork/aion
Java kernel v1.6.2 release note
This release is a hotfix version for the node being stuck to sync with the amity network (can be updated for the mainnet too if you are running node version below 1.6.0)
This release fixes the kernel sync issue with the amity
network due to the protocol upgrade issue between 1.6 and 1.6.1, If your node is stuck at the block height 3658556, please update your Java kernel to this version.
Java kernel v1.6.1 release note
This release is a mandatory update.
This kernel v1.6.1 release includes the consensus protocol upgrade. This consensus protocol upgrading changed the staker's signature scheme, changed the mining block rewards adjustment, ad rollback the transactions have been sent to the invalid destination (Not an Aion addresses). The upgrade will be implemented on mainnet
at block number 7441441
and amity
at block number 3658559
The Java kernel 1.6 (rev 0a5929a) migration guide
If your kernel already upgraded to v1.6 (rev 0a5929a), you can upgrade the node again or do manually configuration update. The codebase is the same as the v1.6.1 except the protocol upgrade settings.
If you run v1.6 kernel on the mainnet network, please edit the fork.properties
file in the folder networks/mainnet
, and update the number '7441440' under the tag 'v1.6' to '7441441'
If you run v1.6 kernel on the amity network, please edit the fork.properties
file in the folder networks/amity
, and update the number '3658558' under the tag 'v1.6' to '3658559'
Block signer upgrade
If you are a staking pool operator or a solo staker, this release will requires the block signer v1.2
and not compatible with v1.1
, you can download it from the release page of the block signer repo or you can find it in the tooling folder inside the release package.
- Please backup the config file of the block signer before you update the block signer. You might need to update the coinbase address if the config file has been overwritten.
For more details, please see https://github.com/aionnetwork/block_signer/releases/tag/1.2
Mining pool software upgrade
The protocol upgrade also requires the mining pool software upgrade for the changing of the mining block rewards adjustment. For more details please see https://github.com/aionnetwork/aion_pool3/releases/tag/0.1.2
Feature:
- Verifiable Random Functions(VRFs) support with integrated sodium library #1137 #1150
- Mining block rewards adjustment
- Rollback transactions due to the invalid transaction destination
Bug fixes:
- Clean-up the blockchain kernel implementation #1138
- FastVM callback delegate call issue #1144
- The API calls: estimateTxNrg and callConstant doesn't check the protocol status #1145
- Kernel new block submit issues #1148
Enhancement:
- Blockchain implement refactor #1138 #1151 #1152
- Kernel sync manager refactor #1141 #1143
- Crypto native library upgrade #1137 #1150
- Database batch operation #1139 #1142 #1147
- P2P threads management #1149
- Constrain the client API block submit #1155
- Decrease Rlp decode resource requirement
- Trie enhancement
- P2p message system enhancement #1141
- Remove mcf module
Java kernel v1.5.1 release
This is a recommended update release.
The release mainly fixed a few minor bugs relate with the mining validators, It is highly recommended to update to this version if you have node is running with mining validators.
Bug fixes:
Java kernel v1.5 release
This is a highly recommended update release.
The release fixed some bugs relate with the kernel logical database, enhanced the block create/broadcast and enhanced the AVM/FVM vulnerability check, It is highly recommended to update it.
Block signer update
If you are a staking pool operator or a solo staker, in this release will requires the block signer v1.1, you can download it from the release page of the block signer repo or you can find it in the tooling folder of the release package.
- Remember to set your coinbase address in the config of the blocksigner.
Bug fixes:
- Fixed the blockstore #1129
- Fixed kernel shutdown hanging #1131 #1133
- Database pruning Tests and Bug Fixes #1132
- Fixed kernel cannot load the database through the file link #1134
Enhancement:
- Cleaned-up the blockstore usage #1122
- Updated fastvm jar for avoiding the package conflict and executing kernel in IDE #1127
- Revised the block broadcast timing #1128
- Removed use of AbstractRepository #1130
- Refactored and remove DBUtils #1135
- Submitted the staking block on-time #1136
- Restricted block prorogation to broadcast the best block only
- Set energy used to 0 on rejection
- Adjusted/fixed the block assemble log type/level
- Implemented the BlockDetailsValidator
- Removed jackson library warning message
Java kernel v1.4.1 release
This is a recommended update release.
The release mainly fixed the bug in the new transaction pool in v1.4, It is highly recommended to update to this version if you have node v1.4.
Database configuration guide
Please see the v1.4 release note
Bug fixes:
- Fixed outdated transaction cause the transaction pool failure #1124
- Fixed the database close timing when the kernel shutting down #1126
- Corrected the difficulty reset for the staking block difficulty on load #1123
Other:
- Added the amity network consensus update number #1125
Java kernel v1.4 release
This is a recommended update release.
The release mainly enhanced the pending transaction pool efficiency, database performance(using RocksDB), memory usage. It is recommended to update to this version.
Database configuration guide
This version changes the default database from levelDB
to RocksDB
. It won't change your current database settings if you do have the <network>
folder like mainnet
, amity
.
For the docker user, you might need to check your network configuration path and the database path to keep the paths are the same.
Also, please backup your database before you switch the database. If you want to switch to RocksDB, it requires to sync blocks from scratch. It will take 5 to 10 hrs depends on your hardware specs (especially the hard drive).
- If your node has no existing folder like
mainnet
,amity
, you can skip the following steps. - Check
config.xml
in the folder likemainnet
,amity
. - Use file editor to open the file,
- Find the
<db>
-><vendor>
, update the setting from 'leveldb' torocksdb
- Check the '' ->
<enable_db_compression>
, make sure it is 'true' - Save the file and reboot the node. You will see the database information through the log:
INFO GEN [main]: The DB vendor is: ROCKSDB
Bug fixes:
- Validated the block timestamp when during submit the block through client api #1109
Enhancements:
- Refactored AVM/FVM contract implementation #1108 #1112 #1114 #1117
- Switched the default database to RocksDB, it increased 33% database performance. #1107 #1113
- Enhanced the Pending transaction pool. #1101 #1102 #1120
- Enhanced kernel block query #1111
- Cleaned the block template when the chain re-branched #1110
- Enhanced batched block import #1118
Java kernel v1.3 release
This release is a mandatory update.
This kernel v1.3 release is mainly for fixing the irregular mining behavior in v1.2.1. This update is implemented on mainnet
at block number 5371168
.
Migration guide:
To update your node, you must:
If you update the node BEFORE the block number '5371168'
Move/Backup old network data folder
- Shut down the kernel (old version).
- decompress the 1.3 kernel package by
tar -xvf <package file name>
, anoan
folder will be created, and it is the kernel default executing folder. - Move the network folder, e.g.
mainnet
, to the new kernel executing path.
If you update the node AFTER the block number '5371168'
Revert your node
Please revert your database to block number '5371167' :
- Shutdown your node.
- Revert your database by
./aion.sh -r 5371167
- Update your node to v1.3 release. Decompress the 1.3 kernel package by
tar -xvf <package file name>
, anoan
folder will be created, and it is the kernel default executing folder. - Move the network folder, e.g.
mainnet
, to the new kernel executing path. - Launch new aion Java node.
Java Kernel v1.2.1
This is a hotfix release recommanded for the user who is running the block mining software or the block staking software.
The hotfix release corrects the issue which the kernel accept the block has the future timestamp when the block comes from the RPC call. It might cause the kernel go to the side-chain status temporarily and then re-org back to the main-chain when the kernel has been connected to the mining/staking software.
Bug fixes:
- Applied the block timestamp check when the block import comes from the RPC call.
Java Kernel v1.2
This is a recommended update release.
The release corrects a number of issues leading to enhanced kernel functionality. The changes listed in the features section may impact deployment when using semantic links. For correct usage of networks, please read the README.md file provided with the networks directory.
Features:
-
The config directory was renamed to networks. The directory also contains a README.md file with information on the different networks provided with each release.
-
The kernel setup was updated to never copy the genesis.json and fork.properties files.
Bug fixes:
-
AVM critical security update
-
Transactions are be re-run every second.
-
Updated the best block info when initializing the self node info callback.
-
Made the contract info store thread-safe.
Enhancements:
-
Enhanced logging for kernel survey purposes.
-
Aligned the LevelDB setting to the RocksDB.
-
Jenkins points at a specific Test Harness commit to allow versioning and addition of tests.
-
Updating the docs for Unity custom network setup.
-
Added reference to The OAN and Open Apps
-
Removed forced compaction from sync config.
-
Option to set RPC port via command line.
-
Added help option to EditCli.
-
Provide more logging information when blocks are rejected as INVALID.
Java Kernel v1.1
This is a recommended update release.
The release mainly enhanced kernel memory usage and corrects a number of bugs. It is highly recommended to update to this version. Users who wish to use RocksDB must re-sync a node after changing the database vendor in the config.xml
file.
Features:
- Updated RPC library while maintaining legacy support with aion_pool2.
- Limit the
eth_getLogs
to querying at most1000
blocks.
Bug fixes:
- Queried event logs includes contract creation logs.
- The internal miner updates the block template timestamp every second.
- Block creation enhanced to prevent attempts at creating consecutive blocks of the same type.
- Sync stops the import loop early on
NO_PARENT
result. - P2p and sync ensure that header & body requests are sent in the correct order.
- Reduced memory usage by limiting the number of messages to and from the network to avoid OOM issue.
- Re-added path for re-connecting to peers from the boot list.
Enhancements:
- RocksDB tune-up: good alternative to LevelDB.
- Mining block template does not recalculate system time.
- Faster offloading of blocks to storage during sync.
- Enhanced heuristic for sending header requests during sync.
- Adjusted worker threads count to use the system available processors times two, up to 32.
- Revised transaction parsing and root validation.
- Reduced use of singleton classes in the code.
- Revised classes for reading the kernel configuration.
- Added header validation in block import as future-proofing.
- Enhanced launch script.
- Unit tests for re-branching after Unity fork and for encode/decode staking & mining blocks.
- Documentation and message logging updates.