Installation
NOTE: Unix-only
Akula only runs on Unix-based platforms (Linux, macOS). Do not expect any help for issues on Windows.
Docker (recommended)
A prebuilt image is available on Docker Hub:
docker pull vorot93/akula:latest
This image (linux/amd64, ~288 MB) was published on 2022-11-30 and is currently the only ready-to-run build of Akula.
Building from source
Requirements:
- libclang-dev
- pkg-config
Install rustup from rustup.rs.
git clone https://github.com/akula-bft/akula
cd akula
cargo build --all --profile=production
You can find built binaries in target/production folder.
Known issue: source builds currently fail
cargo build does not complete on a fresh checkout. Cargo.toml pins several dependencies to
forked git repositories that are no longer published, so the build stops at dependency resolution:
error: failed to load source for dependency `arrayvec`
Caused by:
Unable to update https://github.com/vorot93/arrayvec?branch=pop-unchecked#9e430a94
Caused by:
revision 9e430a94359435dfe8e21467f160708ebcc01226 not found
Fixing this means repointing each dead git dependency in Cargo.toml at an available crate or
mirror. Until that work is done, use the Docker image above.
Running
akulais the main binary that runs as full node:
akula --datadir=<path to Akula database directory>
For Beacon-based networks (Ethereum, Sepolia, Goerli) you also need to run Lighthouse:
git clone https://github.com/sigp/lighthouse
cargo run --release --bin lighthouse -- beacon_node --execution-endpoints=http://127.0.0.1:8551 --execution-jwt=<path to Akula database directory>/jwt.hex --checkpoint-sync-url="https://mainnet.checkpoint.sigp.io" --purge-db
-
akula-rpcis the RPC daemon, which can provide JSONRPC and gRPC endpoints based on Akula’s database. -
akula-sentryis the P2P node. -
akula-toolboxprovides various helper commands to check and manipulate Akula’s database. Please consult its help for more info:
akula-toolbox --help