Skip to content

Enhanced top-like T-UI for watching validator pre-votes on Tendermint/CometBFT chains

License

Notifications You must be signed in to change notification settings

bcdevtools/consvp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Today is a wonderful day 🍀 for a breakfast at your favourite restaurant.

But chain upgrade ✨? Upgrade panic 💢? Devs forgot to add upgrade handler that caused the panic 🤯?

You want your breakfast, But!!! you also want to know Pre-Vote status on-chain? You NEED this tool! Streaming Pre-Vote to your mobile and enjoying your wonderful morning ☀️ out of the house!

Not done yet, core team patched the issue but other validators went offline 😱? You NEED this tool once again ❤️‍🔥! Keep streaming Pre-Vote to your mobile and enjoying your wonderful afternoon ⛅️ in the forest with your partner 🌳

This tool magically turns a boring day into a wonderful day for FREE 🤩

Now read me 👇

ConsVP

A simple utility for watching pre-vote status on Tendermint/CometBFT chains. It will print out the current pre-vote status for each validator in the validator set. Useful for watching pre-votes during an upgrade or other network event causing a slowdown.


A full rework of pvtop by @blockpane and plus some miracles

  • Live-streaming mode (view sample), sharing pre-voting information to everyone: cvp --streaming
  • Display Block Hash fingerprint which the validator voted on
  • Allow scrolling on terminal UI (thanks to @freak12techno)

Installation

# Require go 1.19+

# New install
git clone https://github.com/bcdevtools/consvp ~/consvp
cd ~/consvp && make install

# Or update to the latest version
cd ~/consvp && git pull ; make install

Basic usage

cvp
# => use http://localhost:26657

# For streaming mode
cvp http://localhost:26657 --streaming
# or resume streaming in case of mistakenly exit
cvp http://localhost:26657 --resume-streaming
cvp 19000
# => use http://localhost:19000
cvp https://rpc.cosmos.network
# => use https://rpc.cosmos.network
cvp https://rpc.example-consumer.network https://rpc.cosmos.network
# => use https://rpc.example-consumer.network as consumer network RPC endpoint
# and use https://rpc.cosmos.network as producer network RPC endpoint (typically Cosmos Hub)

cvp http://consumer:26657 http://producer:26657 --streaming

Notes:

  • Default fetching consensus state is 3 seconds, can reduce to 1s by adding -r flag.
  • In case interrupted from streaming mode, should resume instead of start a new session. Resume by adding --resume-streaming flag and provide the latest session id and key printed in previous run.
  • Streaming session has default expiration time is 12 hours.

Pre-voting information format

Pre-Vote Pre-Commit Block Hash Order Voting Power Moniker
C0FF 1 11.03% Val1
🤷 0000 2 10.23% Val2
---- 3 08.07% Val3
C0FF 4 01.15% Val4

Check binary version

cvp --version

🌟 We are very pleased to accompany blockchain developers around the world 🌟