Go to file
Vladimir Komendantskiy d3b974f888 Binary Agreement implementation and its wiring into Common Subset 2018-05-10 10:02:03 +01:00
examples Add a fifth node to the example script. 2018-05-09 14:42:29 +02:00
proto Binary Agreement implementation and its wiring into Common Subset 2018-05-10 10:02:03 +01:00
src Binary Agreement implementation and its wiring into Common Subset 2018-05-10 10:02:03 +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 Fix broadcast and example, enable more tests. 2018-05-08 17:04:38 +02: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
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]