Go to file
Vladimir Komendantskiy 259d5369b0 corrected the count of AUX messages 2018-05-10 10:07:22 +01:00
examples Add a fifth node to the example script. 2018-05-09 14:42:29 +02:00
proto removed the separate field in Agreement and corrected computation of estimated values 2018-05-10 10:07:22 +01:00
src corrected the count of AUX messages 2018-05-10 10:07:22 +01:00
tests Fix broadcast and example, enable more tests. 2018-05-08 17:04:38 +02:00
.gitignore Merge branch 'master' into remove-autogenerated-message.rs 2018-03-28 14:52:13 +01:00
.travis.yml Fix broadcast and example, enable more tests. 2018-05-08 17:04:38 +02:00
Cargo.toml removed the separate field in Agreement and corrected computation of estimated values 2018-05-10 10:07:22 +01:00
LICENSE added GNU license and removed obsolete comments 2018-04-01 21:41:49 +01:00
README.md Updated readme. 2018-05-06 20:25:41 -04:00
TODO added a TODO file and changed indentation in the .proto file 2018-05-10 10:02:03 +01: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

To build and run hbbft, you must have Google's Protocol Buffer Compiler, protoc binary, located somewhere in your $PATH. You must be using Protocol Buffer Compiler version 3 or greater. Running any of the following install methods will save a protoc binary at /usr/local/bin/protoc.

Note: as of writing this, the latest stable release of protoc is v3.5.1. You can find out what is the latest compiler version is here, if you are not installing protoc on Debian 9 or Ubuntu 17, change your cURL URL and zip file names accordingly.

Installing protoc on Debian 9 (Strech) and Ubuntu 17 (Artful)

$ sudo apt-get update
$ sudo apt-get install -y protobuf-compiler

Installing protoc on other versions of Debian and Ubuntu

$ sudo apt-get update
$ sudo apt-get install -y unzip
$ cd <some temporary working directory>
$ 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
$ 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
$ 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]