We’re excited to announce the discharge of Zebra 3.0.0—essentially the most feature-rich Zebra launch ever! Along with supporting NU6.1, the newest community improve, we’ve additionally targeted on making Zebra simpler to run in manufacturing, sooner to sync, and out there on extra platforms.
Zebra 3 at a Look
Right here’s what’s new on this launch:
- NU6.1 Community Improve – Prompts the newest Zcash protocol improve on Mainnet
- Well being Examine Endpoints – Constructed-in HTTP endpoints for monitoring node well being and readiness in manufacturing deployments
- ARM64 Help – Native help for Apple Silicon Macs (M1/M2/M3), Raspberry Pi, and ARM cloud servers
- Dramatically Sooner Preliminary Sync – Full blockchain sync from genesis now takes 15-16 hours in CI and fewer than 9 hours on some machines, down from 24+ hours (representing a 35-65% discount in preliminary sync time)
- Enhanced Safety – Docker pictures now embody software program invoice of supplies (SBOM) and construct attestations
- Simpler Configuration – Configure Zebra utilizing atmosphere variables with out modifying config information
- Improved Community Infrastructure – Zcash Basis now runs highly-available Zebra nodes to raised help the ecosystem
- New RPC Strategies – Three new strategies for community information, mempool stats, and facet chain queries plus a number of new fields on the outputs of current RPC strategies.
- Sooner Testing – Modernized take a look at infrastructure for faster improvement cycles
New Versioning strategy – Main model numbers now point out breaking adjustments, not simply community upgrades. This helps you perceive when updates want further consideration.
What This Means for You
Should you run Zebra in manufacturing
Now you can arrange well being monitoring with load balancers and orchestration instruments like Kubernetes. ARM64 help opens up extra {hardware} choices together with cost-effective ARM cloud cases. The Zcash Basis can also be now operating highly-available infrastructure which advantages your complete ecosystem.
Should you’re organising Zebra for the primary time
Zebra is now simpler to configure, permitting you to set atmosphere variables as a substitute of modifying config information. Preliminary sync is dramatically sooner (15-16 hours as a substitute of 24+ hours)—and in the event you’re on an Apple Silicon Mac, you’ll get native ARM64 efficiency with none further steps.
Should you construct instruments that use Zebra
Three new RPC strategies present higher entry to community data, mempool information, and facet chain queries. We’ve additionally improved transaction validation efficiency and made many enhancements to current RPC strategies.
Should you contribute to Zebra
Our modernized testing infrastructure means sooner CI runs and faster suggestions on pull requests. The codebase additionally advantages from quite a few code high quality enhancements and higher documentation.
The Particulars
Need to know extra? Right here’s a deeper have a look at what’s on this launch.
Community Improve & Protocol Adjustments
NU6.1 Community Improve
Zebra 3.0.0 prompts NU6.1 on Mainnet, which incorporates:
- Prolonged funding streams for community improvement (1,260,000 further blocks)
- One-time lockbox disbursements
- The newest community protocol model (170_140)
Operational Excellence
This launch consists of a number of options particularly designed to make operating Zebra in manufacturing simpler and extra dependable.
Well being Examine Endpoints for Manufacturing Operations
One of many standout options is the addition of HTTP well being verify endpoints. These easy HTTP endpoints make it easy to combine Zebra with manufacturing monitoring and cargo balancing methods.
Two endpoints can be found:
/wholesome– Returns 200 when Zebra is operating and has energetic peer connections, 503 in any other case/prepared– Returns 200 when Zebra is totally synced and able to serve requests, 503 in any other case
The distinction issues for manufacturing deployments: use /wholesome for primary liveness checks (is the method operating?) and /prepared to make sure you solely ship visitors to completely synchronized nodes with energetic peer connections.
Allow the well being verify server by including a [health] part to your configuration:
[health]
listen_addr = "0.0.0.0:8080"
min_connected_peers = 1
ready_max_blocks_behind = 2
The endpoints are disabled by default and designed for inside infrastructure use (no authentication). They return easy plain-text responses like “okay” or temporary explanations when checks fail.
ARM64 Help: Native Efficiency All over the place
Zebra now runs natively on ARM64 platforms, which implies:
- Apple Silicon Macs (M1, M2, M3) – No extra emulation or Rosetta overhead
- ARM cloud cases – AWS Graviton, Google Cloud Tau T2A, and different ARM servers
- Single-board computer systems – Raspberry Pi and comparable gadgets
Docker robotically handles platform detection:
docker pull zfnd/zebra:newest
# Routinely will get the best model in your platform
This variation takes benefit of GitHub’s free ARM64 runners for open supply initiatives, so we will construct and take a look at ARM64 releases with out further infrastructure prices. The result's native efficiency on ARM platforms with none setup complexity.
Enhanced Docker Picture Safety
For organizations that have to audit their software program provide chain, Zebra’s Docker pictures now embody provenance attestations and Software program Invoice of Supplies (SBOM).
What this implies:
- Provenance attestations monitor precisely how the picture was constructed, the place, and by whom
- SBOM supplies a whole stock of all software program parts within the picture
- Each allow safety scanning, vulnerability monitoring, and compliance reporting
These options combine with instruments like Docker Scout, Snyk, and different safety platforms that may robotically scan for identified vulnerabilities.
Improved Community Infrastructure
The Zcash Basis has upgraded its deployment infrastructure to run long-lived, highly-available Zebra nodes. These enhancements instantly profit the Zcash ecosystem:
- DNS Seeder Help – Lengthy-lived nodes with static IP addresses present dependable peer discovery for the community
- Multi-zone Excessive Availability – Working 2-3 cases throughout availability zones ensures constant uptime
- Computerized Well being Monitoring – Makes use of the brand new
/wholesomeendpoint with auto-healing to take care of service reliability - Persistent Storage – Disk reuse between deployments eliminates prolonged re-syncs, guaranteeing nodes keep present
These long-lived nodes with static IP addresses assist help the broader Zcash ecosystem by offering steady infrastructure for DNS seeders and enhancing general community reliability. Whereas this work is restricted to the Basis’s infrastructure, the underlying enhancements to Zebra’s deployment tooling can be found for anybody operating manufacturing nodes.
Efficiency Enhancements
Dramatically Sooner Preliminary Sync: From 24+ Hours to Beneath 16 Hours
This launch delivers a big efficiency achievement: full blockchain synchronization from genesis now completes in 15-16 hours, down from 24+ hours in earlier variations. This represents a 35-40% discount in sync time.
The advance comes primarily from PR #9973, which fastened a regression in how Zebra updates deal with balances within the database. The repair avoids costly RocksDB merge operations when the database format is already up-to-date, dramatically enhancing write efficiency throughout preliminary sync.
That is mixed with batch validation enhancements for each Orchard and Sapling proofs, which cut back computational overhead throughout block validation.
Actual-world affect: Our steady integration exams present constant sync instances of 15-16 hours for full Mainnet sync from genesis, in comparison with 20-28 hours earlier than these optimizations. Should you’re operating a brand new Zebra node or syncing from scratch, you’ll see this enchancment instantly.
Higher Efficiency By means of Batch Validation
Transaction validation is now extra environment friendly because of:
Batch validation reduces computational overhead throughout block processing by validating teams of proofs collectively, which is extra environment friendly than particular person verification. The batch dimension for Orchard validation elevated from 2 to 64 actions per batch.
Developer Expertise
Simpler Configuration with Surroundings Variables
Zebra now makes use of a layered configuration system that makes it simpler to configure by way of atmosphere variables:
export ZEBRA_NETWORK__NETWORK=Mainnet
export ZEBRA_STATE__CACHE_DIR=/var/cache/zebra
export ZEBRA_RPC__LISTEN_ADDR=0.0.0.0:8232
zebrad begin
The configuration masses in layers: built-in defaults, then non-compulsory TOML file, then atmosphere variables. This implies you may:
- Run Zebra with zero configuration information for easy setups
- Use a base configuration file and override particular values by way of atmosphere variables
- Hold secrets and techniques in atmosphere variables as a substitute of config information
The sample for atmosphere variables is ZEBRA_SECTION__KEY, matching the TOML construction. For instance, [network] part’s community = "Mainnet" turns into ZEBRA_NETWORK__NETWORK=Mainnet.
Necessary: This variation consists of breaking updates to atmosphere variable names. See the Migration Notes part beneath.
New RPC Strategies
Three new RPC strategies enhance compatibility with current instruments:
RPC Enhancements
Many current RPC strategies acquired enhancements:
Sooner Growth with Improved Testing
This launch features a full modernization of the testing infrastructure utilizing cargo-nextest:
- Sooner take a look at execution – Higher parallel take a look at operating
- Centralized take a look at configuration – 17 specialised take a look at profiles in
.config/nextest.toml - Clearer take a look at outcomes – Higher progress reporting and timeout dealing with
- Simplified CI workflows – Decreased complexity in GitHub Actions
For contributors, this implies faster suggestions on pull requests and fewer time ready for CI to finish.
New Versioning Technique
Beginning with Zebra 3.0.0, we’re altering how we model releases. Beforehand, main model bumps have been primarily tied to community upgrades. Going ahead, we’ll launch a brand new main model at any time when there are breaking adjustments, which incorporates:
- Adjustments to the Zebra API
- Adjustments to operational necessities (like configuration format)
- Different modifications that require motion from node operators or builders
This strategy offers us a clearer strategy to talk affect. If you see a serious model bump, overview the discharge notes fastidiously and plan for potential updates to your deployment or integration. Minor model bumps will proceed to be backward suitable.
Migration Notes
Should you’re upgrading from Zebra 2.x, please notice these breaking adjustments.
Surroundings Variable Adjustments
The atmosphere variable naming scheme modified. Key updates:
| Previous Variable | New Variable |
|---|---|
ZEBRA_CACHE_DIR |
STATE_CACHE_DIR |
ZEBRA_FORCE_USE_COLOR |
FORCE_USE_COLOR |
RUST_LOG or ZEBRA_RUST_LOG |
ZEBRA_TRACING__FILTER |
For configuration values, use the sample ZEBRA_SECTION__KEY:
ZEBRA_NETWORK__NETWORK=MainnetZEBRA_RPC__LISTEN_ADDR=0.0.0.0:8232ZEBRA_STATE__CACHE_DIR=/var/cache/zebra
Docker Entrypoint Adjustments
The Docker entrypoint not generates TOML configuration information robotically. As an alternative:
- Configure utilizing atmosphere variables (beneficial)
- Mount a configuration file into the container
- Use a mix of each approaches
Acknowledgments
A giant thanks to all of the contributors who made this launch attainable: @arya2, @oxarbitrage, @conradoplg, @gustavovalverde, @syszery, @upbqdn, @str4d, @nuttycom, @zancas, @natalieesk, @gap-editor, @elijahhampton, @dorianvp, @AloeareV, @sashass1315, @radik878, @GarmashAlex, @Galoretka and @Fibonacci747.
Particular recognition goes to Least Authority for the safety audit of the NU6.1 implementation which offered worthwhile options for enhancements.
Thanks to everybody who filed points, examined launch candidates, and offered suggestions all through this launch cycle.
The Greater Image
The Z3 Stack
Zebra 3.0.0 is designed to combine seamlessly with the opposite Z3 parts. We’ve been creating the Z3 stack, which is a whole deployment resolution for Zcash infrastructure. The stack consists of:
- Zebra – The consensus node (this launch)
- Zaino – The indexer for deal with and transaction information
- Zallet – The CLI pockets service
These parts work collectively to supply a whole, production-ready Zcash infrastructure which you can deploy with a single configuration.
Zebra 3.0.0 represents a big step ahead in making Zebra production-ready. The options on this launch—well being checks, ARM64 help, and improved configuration—present a powerful basis for dependable node operations.
We’re persevering with to develop the Z3 stack to supply a whole, easy-to-deploy resolution for Zcash infrastructure. We’re additionally engaged on future community improve help, together with early implementations of proposals for NU7.
Get Concerned
Questions or suggestions? We’d love to listen to about your expertise with Zebra 3.0.0. Share your ideas on the Zcash Group Discussion board, join with us on Discord, or open a difficulty within the Zebra repository:

