Skip to content

Releases: aionnetwork/aion

Java kernel v1.6.2 release note

09 Dec 18:05
Compare
Choose a tag to compare

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

16 Nov 16:23
Compare
Choose a tag to compare

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.

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

22 Sep 15:39
Compare
Choose a tag to compare

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:

  • Fixed createStakingBlockTemplate failed due to the cached parent block data has been overwritten. #1155 #1148
  • Fixed redo block import function fail.
  • Corrected the mining hash-rate calculation. #1156
  • Fixed the incorrect result when querying the pending account nonce.

Java kernel v1.5 release

15 Apr 15:09
Compare
Choose a tag to compare

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

09 Mar 15:06
Compare
Choose a tag to compare

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

04 Mar 16:25
Compare
Choose a tag to compare

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 like mainnet, amity.
  • Use file editor to open the file,
  • Find the <db> -> <vendor> , update the setting from 'leveldb' to rocksdb
  • 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

10 Feb 20:55
Compare
Choose a tag to compare

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>, an oan 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>, an oan 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

24 Jan 18:57
Compare
Choose a tag to compare

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

14 Jan 18:35
Compare
Choose a tag to compare

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

18 Dec 15:49
Compare
Choose a tag to compare

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 most 1000 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.