Skip to content

alicandestek/aleph-node

 
 

Repository files navigation

LOGO

Unit tests E2E Tests

This repository contains the Rust implementation of Aleph Zero blockchain node based on the Substrate framework.

Aleph Zero is an open-source layer 1 blockchain focused on privacy, scalability and energy efficiency. It is based on a unique, peer-reviewed consensus algorithm, AlephBFT (as described in our paper and implemented here).

Aleph node is based on a Substrate node where the default finality gadget (GRANDPA) has been replaced with AlephBFT. Block authoring is realized with Substrate's Aura. The chain is run in periodic sesssions (900 blocks each) utilizing the Session pallet. The authorities in each session serve for both Aura and AlephBFT authorities, and on top of that are responsible for running the Aggregator protocol producing multisignatures of finalized blocks.

Building

Please consult the BUILD guide.

Running

Connect to Aleph Zero Testnet

You can connect to global Aleph Zero Testnet network by running aleph-node --chain=testnet.

Local Network

To experiment with Aleph Node you can locally run a small blockchain network using the run_nodes.sh script from the root of this repository. Please consult the script or the output of run_nodes.sh -help for additional parameters (like the number of nodes etc.). The script starts multiple instances of Aleph Node on your local machine, so please adjust the number of nodes carefully with performance of your system in mind. By default 4 nodes are started.

You can interact with your locally running nodes using RPC (use port 9933 for node0, 9934 for node1 and so on). A more convenient alternative is to attach to it with a polkadot.js wallet app. We recommend using our fork of that app which can be found here.

Contributing

If you would like to contribute, please fork the repository, introduce your changes and submit a pull request. All pull requests are warmly welcome.

License

The code in this repository is licensed as follows:

  • all crates under bin directory are licensed under the terms of the GNU GPL version 3
  • all rest of the crates are licensed under the terms of Apache License 2.0.

Releases

No releases published

Packages

No packages published

Languages

  • Rust 93.1%
  • Shell 2.7%
  • Python 2.7%
  • Nix 1.3%
  • Dockerfile 0.2%