e8838f1491
Protobuf support is now only built if the feature "serialization-protobuf" is enabled. Close #19 |
||
---|---|---|
examples | ||
proto | ||
src | ||
tests | ||
.gitignore | ||
.travis.yml | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
TODO | ||
build.rs |
README.md
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
hbbft
has optional protobuf support. To use protobuf, enable the feature
serialization-protobuf
in your Cargo.toml
, and make sure you 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]