Rust ABCI
A rust implementation of the ABCI protocol for Tendermint.
Join the chat!
We have a friendly community of like-minded people which are always eager to help someone in need of advice or just looking for casual banter.
Code of Conduct
Please read, understand and adhere to our code of conduct.
About rust-abci
This library implements the ABCI protocol and can be used to write ABCI applications for Tendermint in rust. Here you can find more information about Tendermint and ABCI application.
For a real life example of an ABCI application you can checkout Ethermint or Basecoin.
Dependencies
Make sure that you have Rust and Cargo installed. The easiest way is to follow the instructions on rustup.
Installation
To test the examples, please clone this repository.
git clone git@github.com:tendermint/rust-abci.git
The empty_app
example, found under the examples
folder, is a good demonstration/bare minimum foundation for a Rust ABCI app.
To use this library to build your own ABCI apps in rust you have to include the following in your Cargo.toml
file.
[dependencies]
abci = "0.3.0"
Running the examples
Tendermint
To run either of the example apps you have to have Tendermint installed and initialised (Remember to run tendermint init
!). Please install it according to these instructions. After initializing and configuring the node, Tendermint can be run with:
tendermint node
If you wish to not create new blocks each second, make sure to add the --consensus.create_empty_blocks=0
flag.
After the node is online, you can run the empty_app
example using cargo run --example empty_app
.
Documentation
Documentation is coming soon.
Credits
Original rust-tsp
made by Adrian Brink. New abci
package and fixes based on rust-tsp
made by Jackson Lewis.