Skip to content

kase113/HoneyBadgerBFT-Python

 
 

Repository files navigation

HoneyBadgerBFT

The Honey Badger of BFT Protocols.

Travis branch Codecov branch

HoneyBadgerBFT is a leaderless and completely asynchronous BFT consensus protocols. This makes it a good fit for blockchains deployed over wide area networks or when adversarial conditions are expected. HoneyBadger nodes can even stay hidden behind anonymizing relays like Tor, and the purely-asynchronous protocol will make progress at whatever rate the network supports.

This repository contains a Python implementation of the HoneyBadgerBFT protocol. It is still a prototype, and is not approved for production use. It is intended to serve as a useful reference and alternative implementations for other projects.

Development Activities

Since its initial implementation, the project has gone through a substantial refactoring, and is currently under active development.

At the moment, the following three milestones are being focused on:

A roadmap of the project can be found in ROADMAP.rst.

Contributing

Contributions are welcomed! To quickly get setup for development:

  1. Fork the repository and clone your fork. (See the Github Guide Forking Projects if needed.)

  2. Install Docker. (For Linux, see Manage Docker as a non-root user to run docker without sudo.)

  3. Install docker-compose.

  4. Run the tests (the first time will take longer as the image will be built):

    $ docker-compose run --rm honeybadger

    The tests should pass, and you should also see a small code coverage report output to the terminal.

If the above went all well, you should be setup for developing HoneyBadgerBFT-Python!

License

This is released under the CRAPL academic license. See ./CRAPL-LICENSE.txt Other licenses may be issued at the authors' discretion.

About

The Honey Badger of BFT Protocols

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.1%
  • Shell 6.4%
  • Other 1.5%