Lately, we added terminal-based progress bars to Zebra. These experimental progress bars present Zebra’s standing, together with friends, blocks, and transactions.
To show these progress bars, Zebra makes use of how-u-doin, a not too long ago revealed Rust crate for progress bar coordination. how-u-doin makes use of the indicatif terminal show library to truly create the progress bars. We additionally began monitoring some new metrics in Zebra, just like the final chain fork top.
Totally Synced View
When Zebra has synced to the tip, the progress bars present:
- what number of friends Zebra is linked to
- how far its has synced the chain
- the latest chain forks it’s monitoring
- what number of transactions are within the mempool
That is an alternative choice to Zebra’s logs, which present the chain sync progress each minute and log mempool transactions as they arrive.
Preliminary Sync View
When Zebra is doing its preliminary sync, it reveals the variety of queued and verified checkpoint blocks. It doesn’t present the mempool as a result of it doesn’t activate till it reaches the chain tip.
Strive it out for your self
If you wish to strive Zebra’s progress bars for your self, compile a latest checkout of the Zebra git repository with the progress-bar characteristic:
git clone https://github.com/ZcashFoundation/zebra.git
git checkout predominant
cargo run --features progress-bar --bin zebrad
It will robotically redirect Zebra’s logs to the commonplace log file path.
You’ll must set up Zebra’s dependencies and construct Zebra your self as a result of this characteristic hasn’t made it right into a launch but. Till we’re proud of the characteristic, it will likely be off by default in launch builds.
These progress bars are simply an experiment for now. If they’re common with customers, we will make them the default Zebra interface. They’ll appear like zcashd’s sync progress bar, however with a bit extra element.
We’d additionally like to enhance the show by:
- solely exhibiting occasions and byte charges for verified checkpoints and blocks
- eradicating much less helpful progress bars, or placing them behind an “knowledgeable consumer” config