Rust client libraries for Tendermint/CometBFT, providing data structures, RPC clients, and light client verification.
tendermint-rs is a collection of Rust client libraries for Tendermint/CometBFT, a high-performance blockchain consensus engine. It provides data structures, RPC clients, light client verification, and ABCI application frameworks to enable Rust developers to build and interact with Byzantine fault tolerant blockchain applications.
Rust developers building blockchain applications, consensus layer tooling, or light clients that need to interact with Tendermint/CometBFT networks.
It offers formally verified, type-safe Rust implementations of Tendermint protocols with comprehensive coverage including light client verification, attack detection, and ABCI application support, making it the most complete Rust ecosystem for Tendermint.
Client libraries for Tendermint/CometBFT in Rust!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements TLA+ specifications for rigorous protocol correctness and provides type-safe Rust data structures, reducing serialization errors and enhancing security.
Includes libraries for verifying signed headers, tracking validator sets, and detecting attacks, enabling secure light client implementations as detailed in the light-client and detector crates.
Offers a lightweight, low-level framework for building Tendermint ABCI applications in Rust, allowing developers full control over application logic without unnecessary abstractions.
Provides a full-featured RPC client with typed responses for interacting with Tendermint nodes, ensuring reliable and error-resistant communication.
The README admits that pre-v1.0.0 releases use MINOR versions for breaking changes, leading to potential instability and frequent migration efforts for users.
The P2P library currently only supports secret connections, lacking broader peer-to-peer networking capabilities compared to the full Tendermint Go implementation.
Documentation is split across individual crates, making it challenging for newcomers to get a holistic understanding without extensive cross-referencing.