Akula is a next-generation implementation of Ethereum protocol ("client") written in Rust.
Akula (Акула) is pronounced as
ah-koo-lah and stands for shark in Russian.
Much lower disk footprint: <3TB for Ethereum mainnet archive node
Faster sync speed:
- An archive full validation node can be bootstrapped in under 3 days.
- Performance improvements allow to run even on HDD.
- Forceful shutdown or power failure cannot damage Erigon’s database.
Extremely fast and rich historical state API:
eth_calland Parity Trace API implemented
- Out-of-the-box support for Otterscan: very-fast and privacy-friendly local block explorer.
gRPC alternative to web3 JSONRPC API
Here is how fast execution is: look at Mgas/s.
Akula supports the following networks out of the box:
- Ethereum ("mainnet")
Additionally, users can join any other network, provided their own chain specification file, and if the network uses any of the following consensus engines:
- Ethereum beacon chain consensus
Linux is the only supported platform for running Akula. Do not expect any help for issues on macOS or Windows.
Linux has been a fully working and convenient platform with broad hardware and software support for years. Impression that desktop Linux is for geeks is obsolete now.
It is secure, open source and without corporate or state kill switches - fully aligned with the ethos of crypto and especially important in the wake of new Cold War. For example, weaponization of Microsoft services has directly affected Akula through one of our dependencies which makes supporting their closed platforms unsustainable.
If your entire digital life is controlled by Microsoft or Apple - why turn to Ethereum anyway?
- clang 12+
- libext2fs-dev / e2fsprogs-devel
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
Latest builds are available on Docker Hub.
akulais the main binary that runs as full node:
akula --datadir=<path to Akula database directory>
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 supports the following standard JSONRPC calls:
Please consult Ethereum Foundation docs for detailed description of each RPC call.
In addition to standard JSONRPC APIs, Akula supports additional APIs resembling JSONRPC, but over gRPC protocol, served by default at port 7545.
Please join our Telegram chat to meet the developers and ask for support.
Work on Akula is made possible by:
If you'd like to sponsor, check out our Gitcoin grant page.
Alternatively, you can donate to the following addresses: