package
1.1.1
Repository: https://github.com/obolnetwork/charon.git
Documentation: pkg.go.dev

# README

QBFT

Package qbft is an implementation of the "The Istanbul BFT Consensus Algorithm" by Henrique Moniz as referenced by the QBFT spec.

Features

  • Simple API, just a single function: qbft.Run.
  • Consensus on arbitrary data.
  • Transport abstracted and not provided.
  • Decoupled from process authentication and message signing (not provided).
  • No dependencies.
  • Explicit justifications.

TODO

  • Add specific Byzantium tests.
  • Add long-running tests. Workaround for now: while go test . -count=10 -timeout=5s; do; done

# Functions

InputValue is a convenience function to create a populated input value channel.
Run executes the consensus algorithm until the context closed.

# Constants

Note that message type ordering MUST not change, since it breaks backwards compatibility.
Note that message type ordering MUST not change, since it breaks backwards compatibility.
Note that message type ordering MUST not change, since it breaks backwards compatibility.
Note that message type ordering MUST not change, since it breaks backwards compatibility.
Note that message type ordering MUST not change, since it breaks backwards compatibility.
Note that message type ordering MUST not change, since it breaks backwards compatibility.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is not triggered by a message, but by a timer.
No description provided by the author

# Structs

Definition defines the consensus system parameters that are external to the qbft algorithm.
Transport abstracts the transport layer between processes in the consensus system.

# Interfaces

Msg defines the inter process messages.

# Type aliases

MsgType defines the QBFT message types.
UponRule defines the event based rules that are triggered when messages are received.