# Functions
New returns a new ConsensusSet, containing at least the genesis block.
NewBlockValidator creates a new stdBlockValidator with default settings.
# 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.
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.
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.
# Structs
The ConsensusSet is the object responsible for tracking the current status of the blockchain.