Skip to content

æternity blockchain - scalable blockchain for the people - smart contracts, state channels, names, tokens

License

Notifications You must be signed in to change notification settings

aeternity/aeternity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aeternity node

CircleCI License Build Tool

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].

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.

We keep our protocol, APIs and research spec in separate protocol repository.

How to start

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.

Quick Install

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.

Docker

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

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:

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