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 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].
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.
We keep our protocol, APIs and research spec in separate protocol repository.
We publish packages for major platforms on GitHub. Each release comes with release notes describing the changes of the Aeternity node in each particular version.
Please use the latest published stable release rather than the master
branch.
The master
branch tracks the ongoing efforts towards the next stable release to be published though it is not guaranteed to be stable.
Linux / Mac
By using the installer to install the latest stable version:
bash <(curl -s https://install.aeternity.io/install.sh)
See the documentation for starting and configuring the node.
Alternatively, you can run the node client as a docker container:
Linux / Mac
Or running a docker container (latest tag):
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
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
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
:
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/