poanetwork / hbbft

An implementation of the paper "Honey Badger of BFT Protocols" in Rust. This is a modular library of consensus.
Other
357 stars 96 forks source link

Refactor `Step`. #324

Open afck opened 6 years ago

afck commented 6 years ago

The fact that Step depends on DistAlgorithm is pretty inconvenient in some places. Also, any user who isn't concerned with writing something like a generalized wrapper or test framework that is supposed to work for several algorithms shouldn't have to deal with DistAlgorithm at all. For the many algorithms that can only output once, the current Step implementation also makes the API less intuitive, since it always contains a Vec of outputs. Finally, Step could be adapted to the fault kind hierarchy (#285) once that's done.