About this release
This is a maintenance Iris and HyperChains release.
It:
A new command bin/aeternity cli has been added which provides access to an online interactive CLI for exploring the status of the system and changing operational state
The default provided bin/aeternity script has been replaced by one customised to the aeternity project
The
bin/aeternity status
command now prints a subset of the output fromcurl http://localhost:3013/v2/status
in a human friendly form.WARNING - backwards incompatibility. This change removes the following currently unsupported commands:
upgrade|downgrade|install|uninstall|unpack|versions|export|reboot
Upgrade to a new and much improved rocksdb mnesia backend plugin. This also enables a direct access API (optional) for greater speed and stability. See
configuration.md
for details.Drop support of OTP22
Drop support of Ubuntu 16.04
Fixes a bug in the OAS3 definition for endpoint "/accounts/{pubkey}/next-nonce" in a combination with
int-as-string
flag
With regards of HyperChains it:
Introduces a new protocol for PoS consensuses. It is ruled by a smart contract.
Introduces two smart contracts to govern a PoS consensus
Keyblocks are signed by the miner. This is validated once nodes are syncing. Since backwards compatibility is required, the keyblock's seal is reused for this (where the PoW solution is stored), while the excess is padded with zeroes
Block rewards pass through the smart contract.
A parent chain connector is introduced. It consumes the parent chain node's API and will be used to feed the child chain's consensus. An AE2AE connector is fully operational while a AE2BTC one is stubbed. Since this is mostly in RnD state, once the details are worked out using the AE2AE, the AE2BTC will be filled in.
The consensus smart contract is extended to have the following functionalities:
Anyone can become a validator if they have enough child chain coins. Validators can set themselves as ONLINE or OFFLINE - only ONLINE ones are considered while electing a new leader
Users who don't have enough to stake can delegate their staking power to a validator of their choice, thus becoming a delegate
Validators have withdraw limits depending on total staking power or percentage of their own stake in their pool
Validators have branding fields in the contract - name, description and avatar url
There is a preconfigurable delay for staking and another one for unstaking
There is a preconfigurable delay before a validator counts as online
Introduces a new consensus model for HyperChains. This is where we will keep HyperChains specifics. Some parts of the consensus are stubbed as they are still in work in progress state. It can be activated by setting the config value for the appropriate height to have a
name
beinghyper_chain
. This is added to the handful of existing different consensuses to chose from, most interesting of which are:pow_cuckoo
for PoW as it is currently on mainnetsmart_contract
for a pure PoS consensus, driven by a smart contract
AE parent connector is being refactored, now its settings are exposed to the config - parent chain nodes and a fetch interval in milliseconds. The type of the parent chain is also required, currently only AE2AE is available so the parent type is 'AE'
Parent chain cache - we cache parent chain headers in order to speed up the child's syncing. It has the following configs:
a number of confirmations before a parent chain block is considered to be finalized. This impacts consensus
parent chain start height - the height of the parent chain that corresponds to the child's genesis block. This is also impacting consensus
The consensus contract is being reworked - now the responsibilites for DPoS and leader election are split into two contracts. This makes it easier to reuse DPoS while changing the election and vice versa
Parent chain block hash is being propagated to the election smart contract. It is being used during the election as a source of entropy.
Genesis seed files are generated and not being included in releases.
Seed files are loaded according to the network id. This makes it easier to setup different HyperChains.
Please join the mainnet by following the instructions in the documentation below, and let us know if you have any problems by opening a ticket. Troubleshooting of common issues is documented in the wiki.
Documentation
For an overview of the installation process for different platforms, building the package from source, configuration and operation of the Aeternity node please refer to Aeternity node documentation.
Last updated