Zakura is a Zcash full node written in Rust.
You can run Zakura using our Docker image or you can install it manually.
This command will run our latest release, and sync it to the tip:
docker run -d \
--name zakura \
-p 8233:8233 \
-v zakurad-cache:/home/zakura/.cache/zakura \
zakura-core/zakura:latestThe -p 8233:8233 flag exposes the P2P port so other Zcash nodes can connect to
yours, and -v persists the chain state across restarts (use port 18233 for
Testnet). For more information, read our Docker
documentation.
Building Zakura requires Rust, libclang, and a C++ compiler. Below are quick summaries for installing these dependencies.
- Install
cargoandrustc. - Install Zakura's build dependencies:
- libclang, which is a library that comes under various names, typically
libclang,libclang-dev,llvm, orllvm-dev; - clang or another C++ compiler (
g++,which is for all platforms orXcode, which is for macOS); protoc(optional).
- libclang, which is a library that comes under various names, typically
sudo pacman -S rust clang protobufNote that the package clang includes libclang as well. The GCC version on
Arch Linux has a broken build script in a rocksdb dependency. A workaround is:
export CXXFLAGS="$CXXFLAGS -include cstdint"Once you have the dependencies in place, you can install Zakura with:
cargo install --locked zakuradAlternatively, you can install it from GitHub:
cargo install --git https://github.com/zakura-core/zakura --tag v4.5.3 zakuradYou can start Zakura by running
zakurad startRefer to the Building and Installing Zakura and Running Zakura sections in the book for enabling optional features, detailed configuration and further details.
Zakura uses a comprehensive CI/CD system built on GitHub Actions to ensure code quality, maintain stability, and automate routine tasks. Our CI/CD infrastructure:
- Runs automated tests on every PR and commit.
- Manages deployments to various environments.
- Handles cross-platform compatibility checks.
- Automates release processes.
For a detailed understanding of our CI/CD system, including workflow diagrams, infrastructure details, and best practices, see our CI/CD Architecture Documentation.
The Zakura maintainers provide the following resources:
-
The Zakura Book:
-
User guides of note:
- Zakura Health Endpoints — liveness/readiness checks for Kubernetes and load balancers
-
The documentation of the public APIs for the latest releases of the individual Zakura crates.
-
The documentation of the internal APIs for the
mainbranch of the whole Zakura monorepo.
If Zakura doesn't behave the way you expected, open an issue. We regularly triage new issues and we will respond. We maintain a list of known issues in the Troubleshooting section of the book.
If you want to chat with us, use the project discussion channels linked from the Zakura repository.
Zakura has a responsible disclosure policy, which we encourage security researchers to follow.
Zakura is distributed under the terms of both the MIT license and the Apache License (Version 2.0). Some Zakura crates are distributed under the MIT license only, because some of their code was originally from MIT-licensed projects. See each crate's directory for details.
See LICENSE-APACHE and LICENSE-MIT.