Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tendermint/rust-abci
A rust implementation of the ABCI protocol for tendermint core
https://github.com/tendermint/rust-abci
abci basecoin blockchain cosmos ethermint rust rust-lang tendermint
Last synced: 4 months ago
JSON representation
A rust implementation of the ABCI protocol for tendermint core
- Host: GitHub
- URL: https://github.com/tendermint/rust-abci
- Owner: tendermint
- License: apache-2.0
- Archived: true
- Created: 2017-05-10T10:16:48.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2021-03-10T11:14:35.000Z (almost 4 years ago)
- Last Synced: 2024-09-26T01:25:38.914Z (4 months ago)
- Topics: abci, basecoin, blockchain, cosmos, ethermint, rust, rust-lang, tendermint
- Language: Rust
- Size: 423 KB
- Stars: 116
- Watchers: 20
- Forks: 34
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome - ABCI server - based)](https://github.com/devashishdxt/abci-rs) || [Alternative #2 (Concurrent)](https://github.com/nomic-io/abci2) (Language bundles / Rust bundle)
README
# 🚨 DEPRECATED 🚨
This repo has been deprecated. Development work continues as the "abci" crate of [informalsystems/tendermint-rs](https://github.com/informalsystems/tendermint-rs/tree/master/abci). Please reference that repository in the future.
-------
# Rust ABCI
Tendermint ABCI server, written in the Rust programming language.
[![Current Version](https://meritbadge.herokuapp.com/abci)](https://crates.io/crates/abci)
[![](https://tokei.rs/b1/github/tendermint/rust-abci)](https://github.com/tendermint/rust-abci)
[![CircleCI](https://circleci.com/gh/tendermint/rust-abci/tree/master.svg?style=shield)](https://circleci.com/gh/tendermint/rust-abci/tree/master)This library implements the [ABCI
protocol](https://tendermint.com/docs/spec/abci/) and can be used to write ABCI
applications for [Tendermint](https://github.com/tendermint/tendermint/).## Supported Version
- Tendermint 0.33.6
- ABCI 0.16.2## Installation
### Dependencies
Make sure that you have Rust and Cargo installed. The easiest way is to follow the instructions on [rustup](https://rustup.rs/).
To test the examples, please clone this repository.
```
git clone https://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.
```toml
[dependencies]
abci = "0.7.2"
```### Development
This crate already contains the compiled ABCI protobuf messages. If you want to update protobuf messages to a newer version of Tendermint. Run `make update-proto`
## 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](https://docs.tendermint.com/master/introduction/install.html). After initializing and configuring the node, Tendermint can be run with:
```
tendermint node
```After the node is online, you can run the `empty_app` example using `cargo run --example empty_app`.
To run the `counter_app` run `cargo run --example counter_app` and send transaction to Tendermint via:
```
curl localhost:26657/broadcast_tx_commit?tx=0x01
curl localhost:26657/broadcast_tx_commit?tx=0x02
```For a real life example of an ABCI application you can checkout [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) or [Ethermint](https://github.com/cosmos/ethermint).
#### Tendermint Compatibility Table
| Tendermint | Rust-abci |
| ---------- | :-------: |
| 0.33.6 | 0.7.2 |
| 0.33.5 | 0.7.1 |
| 0.33.1 | 0.7.0 |
| 0.32.9 | 0.6.5 |
| 0.31.7 | 0.5.4 |## Documentation
Coming soon!
## Join the Community
Find us through a variety of channels [here](https://cosmos.network/community).
### Code of Conduct
Please read, understand and adhere to our [code of conduct](./CODE_OF_CONDUCT.md).
## Credits
- [Jackson Lewis](https://github.com/InquisitivePenguin)
- [Dave Bryson](https://github.com/davebryson)Original `rust-tsp` made by [Adrian Brink](https://github.com/adrianbrink).