Go to file
Peter van Nostrand a6901b9be1 Merge remote-tracking branch 'upstream/master' 2018-05-06 19:32:15 -04:00
examples Move node to examples, deduplicate code. 2018-05-05 17:54:29 +02:00
proto added Agreement message type and protobuf boilerplate 2018-05-03 10:10:35 +01:00
src Merge branch 'afck--examples' of github.com:poanetwork/hbbft 2018-05-06 22:49:41 +01:00
tests Move node to examples, deduplicate code. 2018-05-05 17:54:29 +02:00
.gitignore Merge branch 'master' into remove-autogenerated-message.rs 2018-03-28 14:52:13 +01:00
.travis.yml added a Travis configuration file, fixed Clippy lints 2018-05-05 09:53:29 +02:00
Cargo.toml removed redundant dependency on error_chain; corrected vector indices 2018-04-06 13:57:48 +01:00
LICENSE added GNU license and removed obsolete comments 2018-04-01 21:41:49 +01:00
README.md Fixed merge conflict in readme. 2018-05-04 12:18:57 -04:00
build.rs applied rustfmt 2018-04-30 18:55:51 +03:00

README.md

Build Status Gitter

About

An implementation of the paper "Honey Badger of BFT Protocols" in Rust. This is a modular library of consensus. There are examples illustrating the use of this algorithm.

Requirements

You must have the Protocol Buffer compiler binary, protoc, located somewhere in your $PATH. If you have not installed protoc, you can download the binary and move it to /usr/local/bin/protoc using the following:

Note As of writing this, the latest stable release of protoc is v3.5.1. You can check out what is the latest compiler version is here, and update the following cURL url and zip-file name accordingly.

Installing protoc on Debain/Ubuntu

$ cd <some temporary working directory>
$ sudo apt-get update
$ sudo apt-get install -y unzip
$ curl -OL https://github.com/google/protobuf/releases/download/v3.5.1/protoc-3.5.1-linux-x86_64.zip
$ sudo unzip protoc-3.5.1-linux-x86_64.zip -d /usr/local bin/protoc
$ sudo chown $(whoami) /usr/local/bin/protoc
$ protoc --version
$ rm protoc-3.5.1-linux-x86_64.zip

Installing protoc on OSX

$ cd <some temporary working directory>
$ curl -OL https://github.com/google/protobuf/releases/download/v3.5.1/protoc-3.5.1-osx-x86_64.zip
$ sudo unzip protoc-3.5.1-osx-x86_64.zip -d /usr/local bin/protoc
$ protoc --version
$ rm protoc-3.5.1-osx-x86_64.zip

Building

Once you have verified that the protoc binary is in your $PATH, you can build hbbft using cargo:

$ cargo build [--release]