Skip to content

Releases: aionnetwork/aion

Java kernel v1.0 (Denali) release

05 Nov 20:40
Compare
Choose a tag to compare

This release is a mandatory update.

This release is a milestone release and the network consensus is changing from a pure PoW consensus to Unity, a hybrid (PoW + PoS) consensus. New features such as AVM upgrade to v2.0, meta-transaction, beacon hash, and runtime multi-AVM version support are also part of the release. Please note that this release requires database migration and network configuration update, please read the migration guide carefully before the upgrading process.

Features:

Migration guide:

To update your node, you must:

Move/Backup old network data folder

  • Shut down the kernel (old version).
  • decompress the 1.0 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.

Re-import blocks or Sync blocks from scratch.

  • Overwrite the genesis.json file in the <new aion executing path>/<network>/config/ folder. This can be done by copying the genesis.json file in <new aion executing path>/config/<network>/ from the new release.
  • Update your local database (If you are running a node prior to version 0.4.2) to the new database structure by executing ./aion.sh -n <network> --redo-import

If you are running a node on the Mainnet ./aion.sh --redo-import
If you are running a node on the Amity testnet ./aion.sh -amity --redo-import
It will take around a few hours, depending on your hardware specs, to reconstruct your current database to the new structure, after which you can launch the kernel to sync with the network. The best practice is to backup your current database first and then execute the re-import command mentioned above.

  • Or sync the database from scratch

Remove database folder in the folder
relaunch the kernel
It will take around 4 hours, depending on your network environment.

Overwrite the hardfork settings (if running mainnet)

  • Overwrite the fork.properties file in the <aion executing path>/mainnet/config/ folder. This can be done either by overwriting this file with the following properties or by copying the fork.properties file in <aion executing path>/config/mainnet/ from the new release.

  • Fork.properties before 1.0:

fork0.3.2=1920000
fork0.4.0=3346000
  • Fork.properties after 1.0:
fork0.3.2=1920000
fork0.4.0=3346000
fork1.0=4721900

Overwrite the genesis file (if running mainnet)

  • Overwrite genesis.json in the <aion executing path>/mainnet/config/ folder. This can be done either by overwriting this file with the following properties or by copying the genesis.json in <aion executing path>/config/mainnet/ from the new release.
  • genesis.json before 1.0:
{
"alloc": {
"0xa0eeaeabdbc92953b072afbd21f3e3fd8a4a4f5e6a6e22200db746ab75e9a99a": {
"balance": "465934586660000000000000000"
}
},
"networkBalanceAlloc": {
"0": {
"balance": "465934586660000000000000000"
}
},
"energyLimit": "15000000",
"nonce": "0x00",
"difficulty": "0x4000",
"coinbase": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "1524528000",
"parentHash": "0x6a6d99a2ef14ab3b835dfc92fb918d76c37f6578a69825fbe19cd366485604b1",
"chainId": "256",
}

  • genesis.json after 1.0 (extra stakingContractAddress field):
{
"alloc": {
"0xa0eeaeabdbc92953b072afbd21f3e3fd8a4a4f5e6a6e22200db746ab75e9a99a": {
"balance": "465934586660000000000000000"
}
},
"networkBalanceAlloc": {
"0": {
"balance": "465934586660000000000000000"
}
},
"energyLimit": "15000000",
"nonce": "0x00",
"difficulty": "0x4000",
"coinbase": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "1524528000",
"parentHash": "0x6a6d99a2ef14ab3b835dfc92fb918d76c37f6578a69825fbe19cd366485604b1",
"chainId": "256",
"stakingContractAddress": "a0733306c2ee0c60224b0e59efeae8eee558c0ca1b39e7e5a14a575124549416"
}

Notes:

The mastery testnet will be deprecated in the near future. This release is NOT compatible with the current testnet (Mastery). Please migrate your test to the amity as your blockchain testnet.

Bug fixes:

  • Energy rule check within kernel and FVM #1046
  • Avoided to store negative balances #1041 #1047
  • Fixed transformed code #1027
  • Fixed gradle build library dependency #1026
  • Fixed block encoding/decoding inconsistency #1064

Enhancements:

  • Removed implementation of DatabaseWithCache #1010
  • Implemented a static factory method for creating blocks #1011
  • Made ByteArrayWrapper immutable #1012
  • Modularity: modVm, modPrecompiled, and modMcf #1014
  • Refactoring ContractDetails #1019
  • Enhanced Transaction store #1017
  • Simplified AionRepositoryCache locking #1037
  • Removed unused code #1036 #1038 #1039
  • Predefined stakerRegistry contract #1030
  • Improved CLI blockchain revert speed #1042
  • Updated Peer connect status #1052 #1053
  • Improved CI environment #1060

Miscellaneous:

  • Rebranded from Aion to The OAN #1059 #1061
  • PR instruction as comments #1020

v1.0-rc2

30 Oct 23:30
Compare
Choose a tag to compare
Pump version to 1.0-rc2

amity-2019Oct22: Switched transaction storage to an overwrite policy:

22 Oct 17:46
Compare
Choose a tag to compare
 - the ability to overwrite previously stored transaction information is necessary to
 apply config updates to store internal transactions or not to store them;
 - removed caching optimization: not particularly useful;
 - removed unused return value for putTxInfoToBatch method.

Aion Java Kernel v0.4.2.0

17 Oct 21:40
Compare
Choose a tag to compare

This release is a recommended update.

The release includes enhanced network syncing performance, kernel memory usage, and kernel data-store performance. The AVM has been updated to version 1.5, and supports Amity testnet for the hybrid Unity consensus protocol. Also added is a CLI edit mode.

Features:

  • Integrated with [AVM 1.5] for improved AVM tooling and user library, along with other enhancements to the AVM
  • Added CLI tooling edit mode #949 #953;
  • Supports Amity testnet (unity consensus protocol) #975 #981 #986 #987 #989 #1006 #1008 #994
  • Configurable pending transaction timeout settings in the transaction pool #998
  • RPC call support for getBlockdDetails #974
  • Added option for storing internal transactions #955

Migration guide:

To update your node, you must do the following after shutting down the kernel

  • Overwrite the genesis.json file in the <aion executing path>/<network>/config/ folder. This can be done by copying the genesis.json file in <aion executing path>/config/<network>/ from the new release.

  • Update your local database to the new database structure by executing ./aion.sh -n <network> --redo-import

    If you are running a node on the Mainnet ./aion.sh --redo-import
    If you are running a node on the Amity testnet ./aion.sh -amity --redo-import
    It will take around few hours, depending on your hardware specs, to reconstruct your current database to the new structure, after which you can launch the kernel to sync with the network. The best practice is to backup your current database first and then execute the re-import command mentioned above.

  • Or sync the database from scratch

    Remove database folder in the folder
    relaunch the kernel
    It will take around 4 hours, depending on your network environment.

Bug fixes:

  • CLI bug fixes #938 #929
  • A sidechain block can overwrite the correct VM type #957 #934
  • FVM external state return type #963
  • BlockStore resource locks #969
  • FVM contract deploy minimum energy consumption #997
  • Account manager locking/unlocking issue #983

Enhancements:

Security fix - Aion Java Kernel v0.4.1.1

26 Aug 17:58
Compare
Choose a tag to compare

This is a highly recommended update release.

This release is a FastVM/AVM security fix release for v0.4.1. It's a highly recommended release and all node operators should update to this version.

Migration guide:

Please see the v0.4.0.1 release note.

Aion Java Kernel v0.4.1

19 Jul 18:36
Compare
Choose a tag to compare

This is a recommended update release.

The release mainly enhanced kernel memory usage, AVM performance, and security patches. It is highly recommended to update to this version.

Features:

  • Integrated with [AVM 1.4.1] for improving the AVM caching performance and fixed some security concern.
  • Added CLI tooling for querying block/transaction/account #909;

Bug fixes:

  • TransactionPendingPool exception in the Seednode mode #903
  • eth_call energy limit and sender issue #905
  • The total difficulty issue when the kernel loads a corrupt database #902

Enhancements:

  • Memory usage tune-up #908
  • Enhanced the test suite #913
  • BulkTransactionExecutor refactoring between Kernel and AVM/FVM

Security fix - Aion Java Kernel v0.4.0.2

14 Jun 17:44
Compare
Choose a tag to compare

This is a highly recommended update release.

This release is a security fix release for v0.4.0.1. It's a highly recommended release and all node operators should update to this version.

Migration guide:

Please see the v0.4.0.1 release note.

Aion Java Kernel v0.4.0.1

22 May 14:43
Compare
Choose a tag to compare

This is a mandatory update release.

This release mainly allows the user to use the Aion Java contract to interact with the Aion blockchain network after the hard fork (block# 3346000 on Mainnet). It is one of the biggest milestones for the Aion ecosystem. Additionally, we have modified the monetary policy to align with the Aion whitepaper.

Migration guide:

To upgrade your current running node, you must overwrite the fork.properties file in the <aion executing path>/<network>/config/ folder. This can be done either by overwriting this file with the following properties or by copying the fork.properties file in <aion executing path>/config/<network>/ from the new release.

  • Fork.properties before 0.4.0 (Mainnet):
fork0.3.2=1920000
  • Fork.properties since 0.4.0 (Mainnet):
fork0.3.2=1920000
fork0.4.0=3346000
  • Fork.properties before 0.4.0 (Mastery):
fork0.3.2=1132000
  • Fork.properties since 0.4.0 (Mastery):
fork0.3.2=1132000
fork0.4.0=2393000

Seed node settings changes:

  • config.xml before 0.4.0 (Mainnet):
        <nodes>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
        </nodes>
  • config.xml since 0.4.0 (Mainnet):
        <nodes>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
            <node>p2p://[email protected]:30303</node>
        </nodes>

Features:

  • Kernel is able to execute both AVM and FastVM contract transactions #860 #873 #879 #883 #890 #891
  • Integrated with AVM 1.3
  • Implemented FastVM opcode extend #853
  • Added block reward querying capability in the Aion JAVA API #882
  • Can retrieve block, state, and contract data from CLI #884

Changes:

  • Monetary policy updates #852
  • Avmtestnet config changes #893

Bug fixes:

  • Consensus bug fixes found during the AVM integration #876 #885
  • P2p task status hanging issue #881
  • Smart contracts could not deploy to existing accounts #889
  • TransactionPool timestamp issue #899
  • P2p outgoing IP check issue #900
  • DetailsDataStore memory leak issue b8f41ab
  • AVMKernelInface removeStorage issue 46e0cb3

Enhancements:

  • Enhanced Kernel module interface #874 #892
  • Reduced log level for tests #877
  • Removed duplicated repo classes #880
  • Enhanced Build script #887
  • Tweaked block sync speed #888

Hotfix - Aion Java Kernel v0.3.4.1

25 Apr 20:49
Compare
Choose a tag to compare

This release is a hotfix for the v0.3.4 release and it fixed the build issue of the v0.3.4.

The features in v0.3.4.1 are the same as the v0.3.4 and for the detail of the v0.3.4 features, you can find in the release note of the v0.3.4.

Aion Java Kernel v0.3.4 - Mont Blanc

17 Apr 15:17
6dcd966
Compare
Choose a tag to compare

This release mainly has shown a milestone the AVM integration with the Aion Java Kernel, improved some kernel repository efficiency. We highly recommend the user to upgrade your node with this release, but it is not a mandatory update.

Migration guide:

Seed node config changes, we deleted a few java kernels and added a few rust kernels as the new seed node group, you can still use the current config settings, but it might lose some connection capabilities to the network. The simple way to do is just add/copy the new seed node information into your currently running config.

The 0.3.2 config is compatible with this release. See [Migratiing from v032 to v033].(https://github.com/aionnetwork/aion/wiki/Installation#41-migrating-from-v032-to-v033)

Notice:

  • The released binary has no client JAVA API and the GUI module package included! 
  • We provide the pre-built docker image, see Docker Images in the Aion Docs.

Features:

Changes:

  • AVM Testnet config update #860

Enhancements:

  • Sync statistics expanded  #844
  • Sync manager enhancement #859
  • Kernel repository enhancement #842 #846 #854 #859
  • Transaction case handling #843

Bugs fixes:

  • Contract type encoding update #867