This release includes numerous bug fixes, performance improvements, and new features from our last release. The following is a list of the most important changes. Please refer to the documentation (to be published shortly on docs.aergo.io) for details on specific features.

New features in this release

Fee system

On public networks, transactions require a fee that follows a gas system. The minimum fee is 0.002 aergo. An additional fee is required for TX payload and state DB storage.

Transaction

Require hash of chain ID in tx body to prevent replay attack.

RPC API

consensus info: blockchain call now returns consensus info field. This contains a current list of BPs. On dpos chains, this includes information about the last irreversible block (LIB).

chain id hash: blockchain call now returns the chain id hash for easy use in signing transactions

server info: new API method to retrieve server configuration

Smart contract, additional functions

system.isContract(addr), contract.stake(amount), contract.unstake(amount), contract.vote(candidate,…. or {candidates})

abi.register_view(func). register a function that disallows modification of state

Add payable and view flags to ABI

Improvements

Protobuffer, various field changes

If you used the RPC API directly, refer to the aergo-protobuf changelog for a list of breaking changes.

P2P

Stability improvements

Transaction receipt

On contract call error, tx receipt status is now ‘ERROR’ with the error message in the result field.

aergo.name

Set up owner of aergo.name using transaction

aergo.system

The minimum amount of staking is based on the stored amount, not the amount requested. The staked amount is added to the balance of aergo.system for consistency.

Improved many log and error messages

Mainnet configuration

aergosvr, init command

Change flag name from ‘json’ to ‘genesis’