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 most recent community improve, we’ve additionally targeted on making Zebra simpler to run in manufacturing, quicker to sync, and accessible on extra platforms.
Zebra 3 at a Look
Right here’s what’s new on this launch:
- NU6.1 Community Improve – Prompts the most recent Zcash protocol improve on Mainnet
- Well being Examine Endpoints – Constructed-in HTTP endpoints for monitoring node well being and readiness in manufacturing deployments
- ARM64 Assist – 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 photos now embrace software program invoice of supplies (SBOM) and construct attestations
- Simpler Configuration – Configure Zebra utilizing atmosphere variables with out enhancing 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 data, mempool stats, and facet chain queries plus a number of new fields on the outputs of present RPC strategies.
- Sooner Testing – Modernized take a look at infrastructure for faster improvement cycles
New Versioning strategy – Main model numbers now point out breaking modifications, not simply community upgrades. This helps you perceive when updates want further consideration.
What This Means for You
If you happen to 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 be now operating highly-available infrastructure which advantages your entire ecosystem.
If you happen to’re establishing Zebra for the primary time
Zebra is now simpler to configure, permitting you to set atmosphere variables as a substitute of enhancing config information. Preliminary sync is dramatically quicker (15-16 hours as a substitute of 24+ hours)—and for those who’re on an Apple Silicon Mac, you’ll get native ARM64 efficiency with none further steps.
If you happen to 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 present RPC strategies.
If you happen to contribute to Zebra
Our modernized testing infrastructure means quicker 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 Modifications
NU6.1 Community Improve
Zebra 3.0.0 prompts NU6.1 on Mainnet, which incorporates:
- Prolonged funding streams for community improvement (1,260,000 extra blocks)
- One-time lockbox disbursements
- The newest community protocol model (170_140)
Operational Excellence
This launch contains 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 test endpoints. These easy HTTP endpoints make it simple to combine Zebra with manufacturing monitoring and cargo balancing techniques.
Two endpoints can be found:
/wholesome– Returns 200 when Zebra is operating and has lively peer connections, 503 in any other case/prepared– Returns 200 when Zebra is absolutely synced and able to serve requests, 503 in any other case
The distinction issues for manufacturing deployments: use /wholesome for fundamental liveness checks (is the method operating?) and /prepared to make sure you solely ship visitors to totally synchronized nodes with lively peer connections.
Allow the well being test 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 inner infrastructure use (no authentication). They return easy plain-text responses like “okay” or transient explanations when checks fail.
ARM64 Assist: 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 related gadgets
Docker mechanically handles platform detection:
docker pull zfnd/zebra:newest
# Mechanically will get the proper model to your platform
This alteration takes benefit of GitHub’s free ARM64 runners for open supply tasks, so we are able to construct and take a look at ARM64 releases with out extra 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 photos now embrace provenance attestations and Software program Invoice of Supplies (SBOM).
What this implies:
- Provenance attestations observe precisely how the picture was constructed, the place, and by whom
- SBOM gives an entire 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 mechanically 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 straight profit the Zcash ecosystem:
- DNS Seeder Assist – 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 keep up service reliability - Persistent Storage – Disk reuse between deployments eliminates prolonged re-syncs, making certain nodes keep present
These long-lived nodes with static IP addresses assist help the broader Zcash ecosystem by offering secure infrastructure for DNS seeders and bettering general community reliability. Whereas this work is particular 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 Underneath 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 tackle balances within the database. The repair avoids costly RocksDB merge operations when the database format is already up-to-date, dramatically bettering 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 occasions of 15-16 hours for full Mainnet sync from genesis, in comparison with 20-28 hours earlier than these optimizations. If you happen to’re operating a brand new Zebra node or syncing from scratch, you’ll see this enchancment instantly.
Higher Efficiency By way of Batch Validation
Transaction validation is now extra environment friendly due to:
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 measurement 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 means 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 hundreds in layers: built-in defaults, then non-compulsory TOML file, then atmosphere variables. This implies you possibly can:
- Run Zebra with zero configuration information for easy setups
- Use a base configuration file and override particular values through 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.
Vital: This alteration contains breaking updates to atmosphere variable names. See the Migration Notes part beneath.
New RPC Strategies
Three new RPC strategies enhance compatibility with present instruments:
RPC Enhancements
Many present RPC strategies acquired enhancements:
Sooner Improvement 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 – Lowered 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 had been primarily tied to community upgrades. Going ahead, we’ll launch a brand new main model each time there are breaking modifications, which incorporates:
- Modifications to the Zebra API
- Modifications to operational necessities (like configuration format)
- Different modifications that require motion from node operators or builders
This strategy offers us a clearer method to talk affect. Once you see a significant model bump, evaluate the discharge notes rigorously and plan for potential updates to your deployment or integration. Minor model bumps will proceed to be backward suitable.
Migration Notes
If you happen to’re upgrading from Zebra 2.x, please word these breaking modifications.
Surroundings Variable Modifications
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 Modifications
The Docker entrypoint now not generates TOML configuration information mechanically. As a substitute:
- Configure utilizing atmosphere variables (advisable)
- 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 supplied helpful strategies for enhancements.
Thanks to everybody who filed points, examined launch candidates, and supplied suggestions all through this launch cycle.
The Larger Image
The Z3 Stack
Zebra 3.0.0 is designed to combine seamlessly with the opposite Z3 parts. We’ve been growing the Z3 stack, which is an entire deployment resolution for Zcash infrastructure. The stack contains:
- Zebra – The consensus node (this launch)
- Zaino – The indexer for tackle and transaction information
- Zallet – The CLI pockets service
These parts work collectively to supply an entire, production-ready Zcash infrastructure which you could 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 an entire, 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 Neighborhood Discussion board, join with us on Discord, or open a difficulty within the Zebra repository:
