aeternity
# Aeternity node [![CircleCI][circleci badge]][circleci] [![License][license badge]][license] [![Build Tool][build tool]][rebar3] A new blockchain for æpps. Optimized for scalability via smart contracts inside state-channels. Has a built-in oracle for integration with real-world data. Comes with a naming system, for developerability. Written in Erlang. To install and run the Aeternity node, see the instructions [below](#how-to-start) or just follow the progress of the project via GitHub Issues. If you have discovered a bug or security vulnerability please get in touch. The Aeternity Crypto Foundation pays bug bounties up to 100.000 AE Tokens for critical vulnerabilities. Please get in touch via [[email protected]](mailto:[email protected]). [pivotal]: https://www.pivotaltracker.com/n/projects/2124891 [hackerone]: https://hackerone.com/aeternity ## 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](https://docs.aeternity.io/). We keep our protocol, APIs and research spec in separate [protocol][protocol] repository. [protocol]: https://github.com/aeternity/protocol # How to start We [publish packages][releases] for major platforms on GitHub. Each release comes with [release notes][release-notes] describing the changes of the Aeternity node in each particular version. Please use the [latest published stable release][latest-release] rather than the [`master` branch][master]. The `master` branch tracks the ongoing efforts towards the next stable release to be published though it is not guaranteed to be stable. [releases]: https://github.com/aeternity/aeternity/releases [release-notes]: /docs/release-notes [latest-release]: https://github.com/aeternity/aeternity/releases/latest [master]: https://github.com/aeternity/aeternity/tree/master ## Quick Install **Linux / Mac** By using the installer to install the latest stable version: ```bash bash <(curl -s https://install.aeternity.io/install.sh) ``` See the documentation for [starting](https://docs.aeternity.io/en/stable/operation/#start-the-node) and [configuring](https://docs.aeternity.io/en/stable/configuration/#example) the node. ## Docker Alternatively, you can run the node client as a docker container: **Linux / Mac** Or running a docker container (latest tag): ```bash mkdir -p ~/.aeternity/maindb docker pull aeternity/aeternity docker run -p 3013:3013 -p 3015:3015 \ -v ~/.aeternity/maindb:/home/aeternity/node/data/mnesia \ aeternity/aeternity ``` **Windows** ```bash mkdir %APPDATA%\aeternity\maindb docker pull aeternity/aeternity docker run -p 3013:3013 -p 3015:3015 -v %APPDATA%/aeternity/maindb:/home/aeternity/node/data/mnesia aeternity/aeternity ``` #### Restore from snapshot To speed up the initial blockchain synchronization the node database can be restored from a snapshot following the below steps: * delete the contents of the database if the node has been started already * download the database snapshot * verify if the snapshot checksum matches the downloaded file * unarchive the database snapshot **Note that the docker container must be stopped before replacing the database** The following snippet can be used to replace the current database with the latest mainnet snapshot assuming the database path is ` ~/.aeternity/maindb`: ```bash rm -rf ~/.aeternity/maindb/ && mkdir -p ~/.aeternity/maindb/ curl -o ~/.aeternity/mnesia_main_v-1_latest.tar.zst https://aeternity-database-backups.s3.eu-central-1.amazonaws.com/main_backup_v1_full_latest.tar.zst CHECKSUM=$(curl https://aeternity-database-backups.s3.eu-central-1.amazonaws.com/main_backup_v1_full_latest.tar.zst.md5) diff -qs <(echo $CHECKSUM) <(openssl md5 -r ~/.aeternity/mnesia_main_v-1_latest.tar.zst | awk '{ print $1; }') test $? -eq 0 && tar --use-compress-program=unzstd -xf ~/.aeternity/mnesia_main_v-1_latest.tar.zst -C ~/.aeternity/maindb/ ``` ## Additional resources * [Threat Model](https://github.com/aeternity/aetmodel/blob/master/ThreatModel.md) [circleci]: https://circleci.com/gh/aeternity/aeternity [circleci badge]: https://circleci.com/gh/aeternity/aeternity.svg?style=shield [license badge]: https://img.shields.io/badge/license-ISC-blue.svg [license]: https://github.com/aeternity/aeternity/blob/master/LICENSE [build tool]: https://img.shields.io/badge/build%20tool-rebar3-orange.svg [rebar3]: https://www.rebar3.org