æternity Documentation Hub
Aeternity.comAeternity GitHub
  • æternity Hub
  • Developer Documentation
  • Aeternity Expansions
    • PULL_REQUEST_TEMPLATE
    • AEX X
    • AEXS
      • AEX 1
      • aex-10
      • AEX 11 Fungible Token Standard
      • AEX-130: æpps Metadata Format Specification
      • aex-141
      • AEX 2
      • AEX-3
      • AEX-4
      • AEX 5
      • AEX 7
      • AEX 8
      • aex-9
    • .github
      • ISSUE_TEMPLATE
        • aexpansion
  • AeMdw - Aeternity Middleware
    • Changelog
    • docs
      • AE MDW Architecture
      • AeMdw Hyperhain Setup Documentation
      • AeMdw Docker Setup Documentation
  • Æternity <> Ethereum Bridge
    • Changelog
  • aepp-cli-js
    • CHANGELOG
    • Contributor guide
    • reference
    • user-guide
    • .github
      • ISSUE_TEMPLATE
  • Hyperchain Bridge
    • Changelog
  • æternity's JavaScript SDK
    • Installation
      • Changelog
      • Compatibility Table
      • Quick Start
      • Transaction options
      • Development
        • Releases
      • guides
        • The range of possible address length
        • AENS (æternity naming system)
        • Batch Transactions
        • How to build a wallet
        • Connect an æpp to a wallet
        • Contract Events
        • Contracts
        • Error Handling
        • JWT usage
        • Ledger Hardware Wallet
        • Low vs High level API
        • Aeternity snap for MetaMask
        • Oracles
        • PayingForTx (Meta-Transactions)
        • Typed data hashing and signing
        • Usage with TypeScript
        • migration
          • Migration to 10.0.0
          • Migration to 11.0.0
          • Migration to 12.0.0
          • Migration to 13.0.0
          • Migration to 14.0.0
          • Migration to 7.0.0
          • Migration to 9.0.0
      • tutorials
        • vuejs
          • Vue.js HelloWorld
    • Examples
      • How to connect wallet to æpp using æternity's JS SDK
        • Sample æpp for contracts
        • iframe-based wallet
        • WebExtension-based wallet
    • .github
      • ISSUE_TEMPLATE
        • bug_report
        • feature_request
  • AEproject
    • Changelog
    • docs
      • Quick Start
      • AEproject Library
      • Migration from 3.x.x to 4.x.x
      • Migration from 4.x.x to 5.x.x
      • Upcoming Version Support
      • cli
        • Local Environment
        • Project Initialization
        • Unit Testing
    • .github
      • ISSUE_TEMPLATE
        • bug_report
        • feature_request
  • aerepl
    • Changelog
  • aescan
    • Changelog
    • Contributor Covenant Code of Conduct
    • Aescan Contributing Guide
    • LICENSE
    • .github
      • pull_request_template
      • ISSUE_TEMPLATE
        • bug_report
        • feature_request
    • docs
      • BRANCHING_STRATEGY
  • Sophia Support for Visual Studio Code
    • Changelog
  • aesophia
    • Changelog
    • Contributing to Sophia
    • docs
      • aeso_aci
      • aeso_compiler
      • Introduction
      • sophia
      • Contract examples
      • Features
      • Standard library
      • Syntax
  • aesophia_cli
    • Changelog
  • aesophia_http
    • Changelog
  • Æ Studio - Formerly known as 🔥 Fire Editor ! Aeternity's easy to use editor for writing smart contr
    • ideas
  • aeternity
    • .github
      • The Æternity Code of Conduct
      • Contributing to the Aeternity node
      • ISSUE_TEMPLATE
        • bug_report
        • feature_request
    • Welcome to Aeternity node documentation
      • Summary
      • Node API
      • Introduction
      • Build from source
      • Configuration
      • CUDA Miner
      • debian_ubuntu_packaging
      • Docker
      • Fork resistance in Aeternity nodes
      • Garbage Collection
      • Hacking the Aeternity Codebase
      • Hardware Requirements
      • hyperchains
      • Installation
      • Network Monitoring
      • Operation
      • Rebar Quick Guide
      • Stratum
      • Testing
      • Update
      • release-notes
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • About this release
        • next-ceres
          • GH-3706-micro_block_gas_limit_used_gas
          • GH-4009-allow_contract_call_by_name
          • GH-4056-add_raw_data_pointers_to_AENS
          • GH-4080-wildcard_aens_delegation_signature
          • GH3417-tamper_protection_on_ga_meta_tx
          • aega_only_allow_attach_for_fresh_accounts
          • aens_auction_adjustments
          • aens_preclaim_optional
          • deprecate_swagger
          • fate_extensions
        • next
          • GH-3088-db_direct_access-as-default
          • GH-4087_http_endpoint_info_inner_txs
          • GH4157-control-mempool-sync-start
    • Emergency patching of OTP modules
    • rosetta
    • apps
      • aehttp
        • priv
          • rosetta_README
    • data
      • aecore
        • Token migration contract
  • Hyperchains whitepaper
    • Hyperchains: Bridging Security and Scalability Through Periodic Synchronization
    • LICENSE
    • Periodically-Syncing-HyperChains
    • generations
    • Glossary
    • Hyperchain Properties
    • staking
  • æternity protocol
    • æternity naming system
    • Gossip
    • Stratum
    • SYNC
    • Serialization formats
    • State Channels
      • Off-chain
      • On-chain
      • Authentication
      • Channel off-chain state
    • æternity consensus protocol
      • Bitcoin-NG for æternity
      • Coinbase at height
      • consensus
      • Coins locking
    • Smart Contracts
      • The æternity Ethereum virtual machine (AEVM)
      • contract_state_tree
      • Contract Transactions
      • Virtual machines on the æternity blockchain
      • contracts
      • Events
      • fate
      • The Solidity Language
      • sophia
      • sophia_stdlib
    • Generalized accounts
      • Generalized accounts - explained
      • generalized_accounts
    • Oracles
      • Oracle life cycle examples
      • Oracle state tree
      • Oracle transactions
      • oracles
    • Sync
      • P2P messages
      • Mempool/TX-pool synchronization
    • node
      • æternity node API
        • Account management - intended usage
        • Encoding scheme for API identifiers and byte arrays
        • State channel WebSocket API
        • Channels - intended usage
        • Contracts - intended usage
        • Mining - intended usage
        • Naming System - intended usage
        • Oracles - intended usage
        • Spending coins - intended usage
        • examples
          • æternity node channel WebSocket API examples
            • json-rpc
              • sc_ws_basic_open_close
              • sc_ws_basic_open_close_server
              • sc_ws_broken_open_params
              • sc_ws_close_mutual
              • sc_ws_close_solo
              • sc_ws_leave_reconnect
              • sc_ws_leave_reestablish
              • sc_ws_leave_reestablish_responder_stays
              • sc_ws_leave_reestablish_wrong_fsm_id
              • sc_ws_min_depth_is_modifiable
              • sc_ws_min_depth_not_reached_timeout
              • sc_ws_opening_ping_pong
              • sc_ws_reconnect_early
              • sc_ws_slash
              • sc_ws_snapshot_solo
              • sc_ws_timeout_open
              • sc_ws_update_with_meta
              • abort_updates
                • sc_ws_abort_deposit
                • sc_ws_abort_offchain_update
                • sc_ws_abort_settle
                • sc_ws_abort_shutdown
                • sc_ws_abort_slash
                • sc_ws_abort_snapshot_solo
                • sc_ws_abort_withdraw
                • sc_ws_can_not_abort_while_open
              • assume_min_depth
                • sc_ws_basic_open_close
              • both_sign
                • init_per_group
                • conflicts
                  • sc_ws_conflict_deposit_and_offchain_update
                  • sc_ws_conflict_two_deposits
                  • sc_ws_conflict_two_offchain_updates
                  • sc_ws_conflict_two_withdrawals
                  • sc_ws_conflict_withdrawal_and_deposit
                  • sc_ws_conflict_withdrawal_and_offchain_update
              • changeable_fee
                • sc_ws_optional_params_close_solo
                • sc_ws_optional_params_create
                • sc_ws_optional_params_deposit
                • sc_ws_optional_params_settle
                • sc_ws_optional_params_slash
                • sc_ws_optional_params_snapshot
                • sc_ws_optional_params_withdrawal
                • sc_ws_set_fee_close_mutual
                • sc_ws_set_fee_close_solo
                • sc_ws_set_fee_create
                • sc_ws_set_fee_deposit
                • sc_ws_set_fee_settle
                • sc_ws_set_fee_slash
                • sc_ws_set_fee_snapshot
                • sc_ws_set_fee_withdrawal
              • changeable_fee_higher_than_gas_price
                • sc_ws_optional_params_close_solo
                • sc_ws_optional_params_create
                • sc_ws_optional_params_deposit
                • sc_ws_optional_params_settle
                • sc_ws_optional_params_slash
                • sc_ws_optional_params_snapshot
                • sc_ws_optional_params_withdrawal
              • changeable_fee_lower_than_gas_price
                • sc_ws_optional_params_close_solo
                • sc_ws_optional_params_create
                • sc_ws_optional_params_deposit
                • sc_ws_optional_params_settle
                • sc_ws_optional_params_slash
                • sc_ws_optional_params_snapshot
                • sc_ws_optional_params_withdrawal
              • changeable_gas_price
                • sc_ws_optional_params_close_solo
                • sc_ws_optional_params_create
                • sc_ws_optional_params_deposit
                • sc_ws_optional_params_settle
                • sc_ws_optional_params_slash
                • sc_ws_optional_params_snapshot
                • sc_ws_optional_params_withdrawal
              • changeable_nonce
                • sc_ws_optional_params_fail_close_mutual
                • sc_ws_optional_params_fail_close_solo
                • sc_ws_optional_params_fail_create
                • sc_ws_optional_params_fail_deposit
                • sc_ws_optional_params_fail_force_progress
                • sc_ws_optional_params_fail_settle
                • sc_ws_optional_params_fail_slash
                • sc_ws_optional_params_fail_snapshot
                • sc_ws_optional_params_fail_withdrawal
              • continuous
                • init_per_group
                • sc_ws_deposit
                • sc_ws_failed_update
                • sc_ws_generic_messages
                • sc_ws_ping_pong
                • sc_ws_update_conflict
                • sc_ws_withdraw
              • contracts
                • init_per_group
                • sc_ws_basic_contracts
                • sc_ws_environment_contract
                • sc_ws_nameservice_contract
                • sc_ws_oracle_contract
                • sc_ws_remote_call_contract
                • sc_ws_remote_call_contract_refering_onchain_data
                • sc_ws_wrong_call_data
              • force_progress
                • sc_ws_force_progress_based_on_offchain_state
                • sc_ws_force_progress_based_on_onchain_state
              • only_one_signs
                • init_per_group
                • sc_ws_conflict_on_new_offchain
                • sc_ws_conflict_snapshot_and_offchain_update
                • conflicts
                  • sc_ws_conflict_deposit_and_offchain_update
                  • sc_ws_conflict_two_deposits
                  • sc_ws_conflict_two_offchain_updates
                  • sc_ws_conflict_two_withdrawals
                  • sc_ws_conflict_withdrawal_and_deposit
                  • sc_ws_conflict_withdrawal_and_offchain_update
              • reconnect
                • sc_ws_basic_client_reconnect_i
                • sc_ws_basic_client_reconnect_i_w_reestablish
                • sc_ws_basic_client_reconnect_r
              • with_meta
                • init_per_group
                • sc_ws_deposit
                • sc_ws_remote_call_contract
                • sc_ws_withdraw
              • generalized_accounts
                • both
                  • sc_ws_basic_open_close
                • initiator
                  • sc_ws_basic_open_close
                • responder
                  • sc_ws_basic_open_close
  • Superhero Wallet
    • Changelog
    • Contributing & Guidelines
    • docs
      • Deep link URL Schema
    • .github
      • ISSUE_TEMPLATE
        • bug_report
        • feature_request
  • aerepl-web-bridge
    • AereplApi
    • aerepl_components
Powered by GitBook
On this page
  • Retrieve the software for running a node
  • Install a node
  • Join the mainnet
  • Mainnet seed nodes
  • Inspect the mainnet
  • Join the testnet
  • Testnet seed nodes
  • Inspect the testnet
  • Setup your node

Was this helpful?

Export as PDF
  1. aeternity
  2. Welcome to Aeternity node documentation
  3. release-notes

About this release

PreviousAbout this releaseNextAbout this release

Last updated 26 days ago

Was this helpful?

is the stable Lima release that introduces FATE VM, as well as improving state channels

Changelog:

  • We now have FATE. The initial version of FATE is released as VM version 0x05.

  • The transaction can now be performed while the channel is not active on-chain (The channel solo closing sequence had been initiated and the channel is not yet closed), this is a consensus breaking change available after the Lima fork.

  • The state channel FSM after the Lima fork accepts a shutdown message while the channel is being closed unilaterally.

  • Introduces AEVM version 0x06, available from Lima consensus. This is a fine-tuned version of the AEVM version 0x04 introduced in the Fortuna consensus.

  • Extends transaction signing - also allow signatures of the transaction hash. The transaction serialization is potentially long, so signing the transaction hash means less cryptographic work.

  • Obsoletes the old State Channel off-chain transaction type which contained the list of updates that produced the latest state_hash. The new transaction type is available since Fortuna hard fork and the FSM is producing such transactions ever since. This detaches the off-chain protocol from the on-chain one and allows development of unique off-chain protocols that don't need their updates to be serializable on-chain.

  • For existing state channels where the latest co-authenticated state is an off-chain transaction based on the old version, it is suggested to make a new co-authenticated transaction which is using the new serialization. For currently existing state channels which latest co-authenticated state is an old version off-chain transaction is suggested to make a new co-authenticated transaction that is using the new serialization. If the other party refuses to authenticate a new round or is simply missing, one can use the solo closing sequence instead.

  • Metadata objects (of type binary) can now be added to an offchain update transfer request. These objects serve as comments and are not part of the signed transaction, nor do they affect the offchain state trees. This is an incompatible change in the serialization of offchain updates, but old offchain updates can still be deserialized. When creating a channel with a party running an older node version, add version_offchain_update=1 to the channel params.

  • Remove the rename_db migration command used to migrate Roma databases.

  • Remove the custom docker entrypoint. To run the docker image with extra arguments the default command should be used as well, e.g.:docker run aeternity/aeternity bin/aeternity console -noinput -network_id ae_uat see the corresponding docs for details. cat: docs/release-notes/next-lima/PT-168132312-new-name-hash: No such file or directory

  • No error messages in contract call objects - they will end up under consensus. Run your contract in dry-run to get the detailed error message.

  • Name preclaims are no longer allowed to use 0 as salt value

  • New name hash computation

  • New governance function determining if a name is subject to direct claim or auction

  • New governance function determining initial price of a name

  • New name auction mechanism using subsequent claim transactions with salt equal to 0

  • State Channels: Changed configuration option name ws_handlers to sc_ws_handlers which correctly implies that the limit applies to SC websocket connections.

  • State Channels: It is now possible to abort a signing request by replying with an error code.

  • State Channels: The FSMs now stay alive until a Close Mutual (shutdown) has been confirmed on-chain It is also possible to abort/reject a Close Mutual by rejecting the signing request. See https://github.com/aeternity/protocol/blob/master/node/api/channel_ws_api.md#signing-error-replies

  • State Channels: On-chain tx monitoring was broken after leave/reestablish. This has been fixed.

  • State Channels: Enhances the FSM with the optional pinned environment for execution off-chain transactions. This is to improve reaching off-chain consensus as both parties share a common view of what is considered to be a fork-safe block hash.

  • State Channels: Introduces on-disk state cache encryption

    • When a user leaves a state channel the off-chain state will be persisted on disk and protected with a password. The password is provided by the user when opening a channel using the state_password parameter.

    • When re-establishing the channel the same password MUST be provided, otherwise the operation will fail with error code invalid_password.

    • The password MUST be at least 6 characters long. Providing a shorter password will fail with error code invalid_password.

    • The password may be changed anytime by the user through the websocket connection after the channel has been opened. Please consult the documentation for more details. This operation is only allowed when the channel is established. If the user has left the channel, the channel must be re-established first before changing the password.

    • Until the lima fork the password will be optional. By not providing a password a default value is used:correct horse battery staple. After the Lima fork the password will become mandatory. Pre-Lima off-chain states will be encrypted with the default password.

    • Because the password used for encrypting the persisted state cache is mandatory after the Lima fork, state channels which were opened before Lima use the default password. Not providing the password in the websocket connection will result in a missing_field error.

    • Keep in mind that an adversary with direct RAM access to the node may still steal the off-chain state. This change only protects the state against an adversary with direct disk access.

  • Added infrastructure for deploying contracts (with fresh tokens) during hard forks from Lima release. This will be used to finalize the token migration.

  • Added the migrated tokens in the Phase 3 of the token migration.

  • Adds one (1) percent of the total initial (ERC20) token supply to an account according to Pool D in https://hackmd.aepps.com/s/H1qF1w1j7#

  • Set Lima testnet hardfork height to 154300 (16th Oct 2019, 09:00 UTC)

  • Set Lima mainnet to 161150 (30th Oct 2019, 13:00 UTC)

  • Aligns AEVM store gas pricing with FATE.

  • ContractCallTX where the called contract uses FATE has a lower base cost (60% cheaper than a call to an AEVM contract).

  • State Channels: The support for state cache encryption (introduced in v5.0.0-rc.2) has been disabled. An improved approach is being developed which greatly improves API usability. This feature is expected to be released with v5.1.0.

  • Change top level namespace from .aet to .chain

  • Better handling of some errors w.r.t. illegal_salt_value

  • From Lima, catch crashes when processing inner transaction in GAMetaTx; the user should pay for a successful authentication despite the inner Tx crashing.

The node is able to start from a database produced by v4.* releases, otherwise this release is not backward compatible.

The instructions below describe:

Retrieve the software for running a node

You can run a node by either:

The node user API is documented:

    • A copy is located in the node at path usr/lib/aeternity/lib/aehttp-5.0.0/priv/swagger.yaml.

    • The JSON version can be obtained from a running node using the endpoint /api.

Install a node

Join the mainnet

Mainnet seed nodes

The release package comes preconfigured with seed nodes. Here is an example subset of the seed nodes:

aenode://pp_2L8A5vSjnkLtfFNpJNgP9HbmGLD7ZAGFxoof47N8L4yyLAyyMi@18.136.37.63:3015
aenode://pp_2gPZjuPnJnTVEbrB9Qgv7f4MdhM4Jh6PD22mB2iBA1g7FRvHTk@52.220.198.72:3015
aenode://[email protected]:3015
aenode://pp_2mwr9ikcyUDUWTeTQqdu8WJeQs845nYPPqjafjcGcRWUx4p85P@3.17.30.101:3015
aenode://pp_2CAJwwmM2ZVBHYFB6na1M17roQNuRi98k6WPFcoBMfUXvsezVU@13.58.177.66:3015
aenode://pp_7N7dkCbg39MYzQv3vCrmjVNfy6QkoVmJe3VtiZ3HRncvTWAAX@13.53.114.199:3015
aenode://pp_22FndjTkMMXZ5gunCTUyeMPbgoL53smqpM4m1Jz5fVuJmPXm24@13.53.149.181:3015
aenode://pp_Xgsqi4hYAjXn9BmrU4DXWT7jURy2GoBPmrHfiCoDVd3UPQYcU@13.53.164.121:3015
aenode://[email protected]:3015

Inspect the mainnet

Here are example nodes that can be used to inspect current top block and see information about e.g. height or target:

  • http://18.136.37.63:3013/v2/blocks/top

  • http://52.220.198.72:3013/v2/blocks/top

  • http://13.53.114.199:3013/v2/blocks/top

  • http://13.53.149.181:3013/v2/blocks/top

Join the testnet

Testnet seed nodes

The release package comes preconfigured with testnet seed nodes, this is the list:

aenode://pp_QU9CvhAQH56a2kA15tCnWPRJ2srMJW8ZmfbbFTAy7eG4o16Bf@52.10.46.160:3015
aenode://pp_27xmgQ4N1E3QwHyoutLtZsHW5DSW4zneQJ3CxT5JbUejxtFuAu@13.250.162.250:3015
aenode://pp_DMLqy7Zuhoxe2FzpydyQTgwCJ52wouzxtHWsPGo51XDcxc5c8@13.53.161.215:3015

Inspect the testnet

The core nodes of the public test network are accessible from the Internet.

Information, e.g. height, of the top block of the longest chain as seen by these core nodes of the testnet can be obtained by opening in the browser any of the following URLs:

  • http://52.10.46.160:3013/v2/blocks/top

  • http://13.250.162.250:3013/v2/blocks/top

  • http://13.53.161.215:3013/v2/blocks/top

Setup your node

Setting up your node consists of:

Please join the mainnet by following the instructions below, and let us know if you have any problems by . Troubleshooting of common issues is documented .

;

;

.

.

Installing the published corresponding to your platform; or

Running the published ; or

.

The instructions for configuring the node using the Docker image are in .

An interactive visualization of the specification is available .

HTTP API endpoints are specified ;

WebSocket API endpoints are ;

The intended usage of the user API (HTTP and WebSocket) is .

The instructions for installing a node using a release binary are in .

For installation of a node using the Docker image, please refer to the .

In order to join the mainnet follow the to run the node with default configuration as mainnet is the default network.

To join the mainnet by using the Docker image, please refer to .

The default that the node package is preconfigured with is mainnet with id ae_mainnet.

In order to join the testnet change the in the node configuration file to ae_uat.

To join the testnet by using the Docker image, please refer to the .

Configuring your node - see instructions in ;

Starting your node and verifying it works as expected - see instructions in .

This
channel_close_mutual
opening a ticket
in the wiki
release binary
Docker image aeternity/aeternity
Building a release binary from source
the dedicated separate document
online
in swagger.yaml
specified online
documented online
the dedicated document
documentation online
operation instructions
docker documentation
docker documentation
the dedicated separate document
the dedicated separate document
How to retrieve the released software for running a node
How to install a node
How to join the mainnet
How to join the testnet
network_id
network_id