Skip to content
This repository has been archived by the owner on Mar 11, 2021. It is now read-only.

Commit

Permalink
Release v0.6.1 (#86)
Browse files Browse the repository at this point in the history
* add crates.io badge (#73)

* update to tendermint v0.32 (#77)

* Compatibility Table, Fix link in toml (#81)

- Added table for compatiblity
- fix link in toml - homepage link

closes #58 & #74
Signed-off-by: Marko Baricevic <[email protected]>

* Reduce amount of logs under `info` (#80)

closes #78

- Reduce amount of logs to clean up terminal if just running the abci server

Signed-off-by: Marko Baricevic <[email protected]>

* Add changelog (#82)

* Add changelog

- Added a Changelog

closes #65

Signed-off-by: Marko Baricevic <[email protected]>

* Fix dynamic trait warning (#84)

Update protobuf to 2.8

* Release/v0.6.1 (#85)

* updated cargo + changelog

* Fix edition + bump dependencies

* fix changelog entry
  • Loading branch information
tomtau authored Aug 23, 2019
1 parent aa16339 commit 7cfb026
Show file tree
Hide file tree
Showing 10 changed files with 377 additions and 287 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# CHANGELOG

*August 23, 2019*

Special thanks to external contributors on this release: @amanusk, @marbar3778

## v0.6.1

### BREAKING CHANGES:

### FEATURES:

### IMPROVEMENTS:

- [\#84](https://github.com/tendermint/rust-abci/pull/84): Fix warning for dynamic trait objects

- [\#80](https://github.com/tendermint/rust-abci/pull/80): Reduce amount of logs under `info`

### BUG FIXES:

*July 1, 2019*

Special thanks to external contributors on this release: @liamsi

## v0.6.0

### BREAKING CHANGES:

- [\#79](https://github.com/tendermint/rust-abci/pull/79): Tendermint 0.32.\*'s ABCI compatibility

### FEATURES:

### IMPROVEMENTS:

### BUG FIXES:
74 changes: 53 additions & 21 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,64 +4,96 @@ Thank you for taking the time to contribute to our organization and this reposit

Please follow standard github best practices: fork the repo, branch from the tip of develop, make some commits, and submit a pull request to develop. See the open (issues)[https://github.com/tendermint/rust-abci/issues] for things to contribute.

## Code of Conduct
## Code of Conduct

---

All contributors are expected to follow (Code of Conduct)[./CODE_OF_CONDUCT.md]

## Feature requests and bug reports
---

---

Feature requests or bug reports can be posted as a (Github issue)[https://github.com/tendermint/rust-abci/issues/new]. In the issue, please follow the template and describe to the best of your ability what you did, what you expected and what happened instead.

If you'd like to solve a issue, please comment that you would like to claim the issue. This makes sure that no one else will work on it.

## Forking

---

Once you have a issue that you would to work on and commented on it to claim it:

* Fork the repository to your Github account.
* Clone your fork to your local machine
* Create a local branch `git checkout -b <branch_name>`.
* Commit & push your changes to your branch on github.
* Make sure that you are working off the most recent version, if not, pull the develop branch and rebase your committed history.
* Before opening a pull request read the [development section](#development)
* Open a [Pull Request](#pull-requests) for others to review the branch.

- Fork the repository to your Github account.
- Clone your fork to your local machine
- Create a local branch `git checkout -b <branch_name>`.
- Commit & push your changes to your branch on github.
- Make sure that you are working off the most recent version, if not, pull the develop branch and rebase your committed history.
- Before opening a pull request read the [development section](#development)
- Open a [Pull Request](#pull-requests) for others to review the branch.

## Pull Requests

---

To accommodate review process we suggest that PRs are categorically broken up. Ideally each PR addresses only a single issue. Additionally, as much as possible code refactoring and cleanup should be submitted as a separate PRs from bugfixes/feature-additions.
To accommodate review process we suggest that PRs are categorically broken up. Ideally each PR addresses only a single issue. Additionally, as much as possible code refactoring and cleanup should be submitted as a separate PRs from bugfixes/feature-additions.

If you are working on a issue and plan on contributing, please submit your PR early and make sure its opened as a `Draft`, even if it's incomplete, this indicates to the community you're working on something and allows them to provide comments early in the development process. When the code is complete it should be marked using Github's `Mark Ready` feature. This will let the maintainers know that there is a open PR for review.
If you are working on a issue and plan on contributing, please submit your PR early and make sure its opened as a `Draft`, even if it's incomplete, this indicates to the community you're working on something and allows them to provide comments early in the development process. When the code is complete it should be marked using Github's `Mark Ready` feature. This will let the maintainers know that there is a open PR for review.

## Development

---

The code should follow [Rust Style Guide](https://github.com/rust-lang/rfcs/tree/master/style-guide). Much of the code style is captured by `rustfmt`.
The code should follow [Rust Style Guide](https://github.com/rust-lang/rfcs/tree/master/style-guide). Much of the code style is captured by `rustfmt`.

Before opening a Pull Request please run the checks below:

* Install rustfmt: `rustup component add rustfmt`
* Install clippy: `rustup component add clippy`
- Install rustfmt: `rustup component add rustfmt`
- Install clippy: `rustup component add clippy`

### Testing
### Testing

Run the test suite with
Run the test suite with

```cargo test --all-features```
`cargo test --all-features`

### Format checking (rustfmt)

Make sure your code is well-formatted by running

```cargo fmt```
`cargo fmt`

### Lint (clippy)

Lint your code (i.e. check it for common issues) with:

```cargo clippy```
`cargo clippy`

## Changelog

Every fix, improvement, feature, or breaking change should be made in a
pull-request that includes an update to the `CHANGELOG.md` file.

Changelog entries should be formatted as follows:

```
- \#xxx Some description about the change (@contributor)
```

Here, `xxx` is the pull-request number, and `contributor`
is the author/s of the change.

It's also acceptable for `xxx` to refer to the relevent issue number, but pull-request
numbers are preferred.
Note this means pull-requests should be opened first so the changelog can then
be updated with the pull-request's number.
There is no need to include the full link, as this will be added
automatically during release. But please include the backslash and pound, eg. `\#2313`.

Changelog entries should be numerically according to the pull-request number.

Changes with multiple classifications should be doubly included (eg. a bug fix
that is also a breaking change should be recorded under both).

## License

Expand All @@ -77,4 +109,4 @@ Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
15 changes: 8 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,24 +1,25 @@
[package]
name = "abci"
version = "0.6.0"
version = "0.6.1"
authors = ["Adrian Brink <[email protected]>", "Jackson Lewis <[email protected]>", "Dave Bryson", "Tomas Tauber"]
edition = "2018"
license = "MIT/Apache-2.0"
description = "Tendermint ABCI server for Rust"
homepage = "https://tendermint.com/docs/guides/app-development"
homepage = "https://tendermint.com/docs/spec/abci/"
repository = "https://github.com/tendermint/rust-abci"
keywords = ["abci", "tendermint", "blockchain", "rust"]
readme = "README.md"
include = ["src/**/*", "Cargo.toml"]

[dependencies]
bytes = "0.4"
protobuf = "2.6.2"
byteorder = "1.2.7"
protobuf = "2.8"
byteorder = "1.3.2"
integer-encoding = "1.0.5"
log = "0.4.6"
env_logger = "0.6.1"
log = "0.4.8"
env_logger = "0.6.2"
tokio = "0.1"
futures = "0.1"

[build-dependencies]
protobuf-codegen-pure = "2.6.2"
protobuf-codegen-pure = "2.8"
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Tendermint ABCI server, written in 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)
[![](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
Expand Down Expand Up @@ -32,12 +32,12 @@ To use this library to build your own ABCI apps in Rust you have to include the

```toml
[dependencies]
abci = "0.4.3"
abci = "0.6.1"
```

### 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`
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

Expand All @@ -60,6 +60,13 @@ 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.32.2 | 0.6.1 |
| 0.31.7 | 0.5.4 |

## Documentation

Coming soon!
Expand Down
14 changes: 7 additions & 7 deletions src/codec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use integer_encoding::VarInt;
use protobuf::Message;
use tokio::codec::{Decoder, Encoder};

use messages::abci::*;
use crate::messages::abci::*;

#[derive(Debug)]
pub struct ABCICodec;
Expand All @@ -18,9 +18,9 @@ impl ABCICodec {

impl Decoder for ABCICodec {
type Item = Request;
type Error = Box<Error>;
type Error = Box<dyn Error>;

fn decode(&mut self, buf: &mut BytesMut) -> Result<Option<Request>, Box<Error>> {
fn decode(&mut self, buf: &mut BytesMut) -> Result<Option<Request>, Box<dyn Error>> {
let length = buf.len();
if length == 0 {
return Ok(None);
Expand All @@ -37,9 +37,9 @@ impl Decoder for ABCICodec {

impl Encoder for ABCICodec {
type Item = Response;
type Error = Box<Error>;
type Error = Box<dyn Error>;

fn encode(&mut self, msg: Response, buf: &mut BytesMut) -> Result<(), Box<Error>> {
fn encode(&mut self, msg: Response, buf: &mut BytesMut) -> Result<(), Box<dyn Error>> {
let msg_len = msg.compute_size();
let varint = i64::encode_var_vec(i64::from(msg_len));

Expand All @@ -60,7 +60,7 @@ impl Encoder for ABCICodec {
mod tests {
use super::*;

fn setup_echo_request_buf() -> Result<BytesMut, Box<Error>> {
fn setup_echo_request_buf() -> Result<BytesMut, Box<dyn Error>> {
let buf = &mut BytesMut::new();

let mut r = Request::new();
Expand All @@ -78,7 +78,7 @@ mod tests {
Ok(buf.take())
}

fn setup_echo_large_request_buf() -> Result<BytesMut, Box<Error>> {
fn setup_echo_large_request_buf() -> Result<BytesMut, Box<dyn Error>> {
let buf = &mut BytesMut::new();

let mut r = Request::new();
Expand Down
8 changes: 4 additions & 4 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ extern crate tokio;

use std::net::SocketAddr;

pub use messages::abci::*;
pub use messages::merkle::*;
pub use messages::types::*;
use server::serve;
pub use crate::messages::abci::*;
pub use crate::messages::merkle::*;
pub use crate::messages::types::*;
use crate::server::serve;

mod codec;
mod messages;
Expand Down
Loading

0 comments on commit 7cfb026

Please sign in to comment.