# Functions
New returns a new ConsensusSet, containing at least the genesis block.
NewBlockValidator creates a new stdBlockValidator with default settings.
NewCustomConsensusSet returns a new ConsensusSet, containing at least the genesis block.
# Constants
DatabaseFilename contains the filename of the database that will be used when managing consensus.
# Variables
BlockHeight is a bucket that stores the current block height.
BlockMap is a database bucket containing all of the processed blocks, keyed by their id.
BlockPath is a database bucket containing a mapping from the height of a block to the id of the block at that height.
BucketOak is the database bucket that contains all of the fields related to the oak difficulty adjustment algorithm.
ChangeLog contains a list of atomic changes that have happened to the consensus set so that subscribers can subscribe from the most recent change they have seen.
ChangeLogTailID is a key that points to the id of the current changelog tail.
Consistency is a database bucket with a flag indicating whether inconsistencies within the database have been detected.
FieldOakInit is a field in BucketOak that gets set to "true" after the oak initialiation process has completed.
FileContracts is a database bucket that contains all of the open file contracts.
MaxCatchUpBlocks is the maxiumum number of blocks that can be given to the consensus set in a single iteration during the initial blockchain download.
SiacoinOutputs is a database bucket that contains all of the unspent siacoin outputs.
SiafundOutputs is a database bucket that contains all of the unspent siafund outputs.
SiafundPool is a database bucket storing the current value of the siafund pool.
SurpassThreshold is a percentage that dictates how much heavier a competing chain has to be before the node will switch to mining on that chain.
ValueOakInit is the value that the oak init field is set to if the oak difficulty adjustment fields have been correctly intialized.
# Structs
The ConsensusSet is the object responsible for tracking the current status of the blockchain.