[][src]Module grin_core::global

Values that should be shared across all modules, without necessarily having to pass them all over the place, but aren't consensus values. should be used sparingly.

Structs

CHAIN_TYPE

The mining parameter mode

POW_CONTEXT_TYPE

PoW context type to instantiate

Enums

ChainTypes

Types of chain a server can run with, dictates the genesis block and and mining parameters used.

PoWContextTypes

PoW test mining and verifier context

Constants

AUTOMATED_TESTING_COINBASE_MATURITY

Automated testing coinbase maturity

AUTOMATED_TESTING_CUT_THROUGH_HORIZON

Testing cut through horizon in blocks

AUTOMATED_TESTING_MIN_EDGE_BITS

Automated testing edge_bits

AUTOMATED_TESTING_PROOF_SIZE

Automated testing proof size

COMPACTION_CHECK

Trigger compaction check on average every day for all nodes. Randomized per node - roll the dice on every block to decide. Will compact the txhashset to remove pruned data. Will also remove old blocks and associated data from the database. For a node configured as "archival_mode = true" only the txhashset will be compacted.

PEER_EXPIRATION_REMOVE_TIME

Constant that expresses defunct peer timeout in seconds to be used in checks.

PROTOCOL_VERSION

Define these here, as they should be developer-set, not really tweakable by users The default "local" protocol version for this node. We negotiate compatible versions with each peer via Hand/Shake. Note: We also use a specific (possible different) protocol version for both the backend database and MMR data files. This defines the p2p layer protocol version for this node.

STUCK_PEER_KICK_TIME

If a peer's last updated difficulty is 2 hours ago and its difficulty's lower than ours, we're sure this peer is a stuck node, and we will kick out such kind of stuck peers.

TESTING_INITIAL_DIFFICULTY

Testing initial block difficulty

TESTING_INITIAL_GRAPH_WEIGHT

Testing initial graph weight

TESTING_MAX_BLOCK_WEIGHT

Testing max_block_weight (artifically low, just enough to support a few txs).

TESTING_STATE_SYNC_THRESHOLD

Testing state sync threshold in blocks

TESTING_TXHASHSET_ARCHIVE_INTERVAL

Number of blocks to reuse a txhashset zip for (automated testing and user testing).

TXHASHSET_ARCHIVE_INTERVAL

Number of blocks to reuse a txhashset zip for.

USER_TESTING_COINBASE_MATURITY

User testing coinbase maturity

USER_TESTING_CUT_THROUGH_HORIZON

Testing cut through horizon in blocks

USER_TESTING_MIN_EDGE_BITS

User testing edge_bits

USER_TESTING_PROOF_SIZE

User testing proof size

Functions

base_edge_bits

Reference edge_bits used to compute factor on higher Cuck(at)oo graph sizes, while the min_edge_bits can be changed on a soft fork, changing base_edge_bits is a hard fork.

coinbase_maturity

Coinbase maturity for coinbases to be spent

create_pow_context

Return either a cuckoo context or a cuckatoo context Single change point

cut_through_horizon

Horizon at which we can cut-through and do full local pruning

difficulty_data_to_vector

Converts an iterator of block difficulty data to more a more manageable vector and pads if needed (which will) only be needed for the first few blocks after genesis

initial_block_difficulty

Initial mining difficulty

initial_graph_weight

Initial mining secondary scale

is_floonet

Are we in floonet? Note: We do not have a corresponding is_mainnet() as we want any tests to be as close as possible to "mainnet" configuration as possible. We want to avoid missing any mainnet only code paths.

is_production_mode

Are we in production mode? Production defined as a live public network, testnet[n] or mainnet.

max_block_weight

Maximum allowed block weight.

min_edge_bits

The minimum acceptable edge_bits

proofsize

The proofsize

set_mining_mode

Set the mining mode

state_sync_threshold

Threshold at which we can request a txhashset (and full blocks from)

txhashset_archive_interval

Number of blocks to reuse a txhashset zip for.