CatapultServer  v0.5.0.1 (Elephant)
catapult::model::BlockChainConfiguration Struct Reference

Block chain configuration settings. More...

Collaboration diagram for catapult::model::BlockChainConfiguration:

Static Public Member Functions

static BlockChainConfiguration Uninitialized ()
 Creates an uninitialized block chain configuration. More...
 
static BlockChainConfiguration LoadFromBag (const utils::ConfigurationBag &bag)
 Loads a block chain configuration from bag. More...
 

Public Attributes

NetworkInfo Network
 Block chain network. More...
 
bool ShouldEnableVerifiableState
 true if block chain should calculate state hashes so that state is fully verifiable at each block. More...
 
bool ShouldEnableVerifiableReceipts
 true if block chain should calculate receipts so that state changes are fully verifiable at each block. More...
 
MosaicId CurrencyMosaicId
 Mosaic id used as primary chain currency. More...
 
MosaicId HarvestingMosaicId
 Mosaic id used to provide harvesting ability. More...
 
utils::TimeSpan BlockGenerationTargetTime
 Targeted time between blocks. More...
 
uint32_t BlockTimeSmoothingFactor
 
uint64_t ImportanceGrouping
 
uint8_t ImportanceActivityPercentage
 Percentage of importance resulting from fee generation and beneficiary usage. More...
 
uint32_t MaxRollbackBlocks
 Maximum number of blocks that can be rolled back. More...
 
uint32_t MaxDifficultyBlocks
 Maximum number of blocks to use in a difficulty calculation. More...
 
utils::TimeSpan MaxTransactionLifetime
 Maximum lifetime a transaction can have before it expires. More...
 
utils::TimeSpan MaxBlockFutureTime
 Maximum future time of a block that can be accepted. More...
 
Amount InitialCurrencyAtomicUnits
 Initial currency atomic units available in the network. More...
 
Amount MaxMosaicAtomicUnits
 Maximum atomic units (total-supply * 10 ^ divisibility) of a mosaic allowed in the network. More...
 
Importance TotalChainImportance
 Total whole importance units available in the network. More...
 
Amount MinHarvesterBalance
 Minimum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting. More...
 
uint8_t HarvestBeneficiaryPercentage
 Percentage of the harvested fee that is collected by the beneficiary account. More...
 
uint32_t BlockPruneInterval
 Number of blocks between cache pruning. More...
 
uint32_t MaxTransactionsPerBlock
 Maximum number of transactions per block. More...
 
std::unordered_map< std::string, utils::ConfigurationBagPlugins
 Unparsed map of plugin configuration. More...
 

Private Member Functions

 BlockChainConfiguration ()=default
 

Detailed Description

Block chain configuration settings.

Constructor & Destructor Documentation

◆ BlockChainConfiguration()

catapult::model::BlockChainConfiguration::BlockChainConfiguration ( )
privatedefault
Here is the caller graph for this function:

Member Function Documentation

◆ LoadFromBag()

BlockChainConfiguration catapult::model::BlockChainConfiguration::LoadFromBag ( const utils::ConfigurationBag bag)
static

Loads a block chain configuration from bag.

Here is the call graph for this function:

◆ Uninitialized()

BlockChainConfiguration catapult::model::BlockChainConfiguration::Uninitialized ( )
static

Creates an uninitialized block chain configuration.

Here is the call graph for this function:

Member Data Documentation

◆ BlockGenerationTargetTime

utils::TimeSpan catapult::model::BlockChainConfiguration::BlockGenerationTargetTime

Targeted time between blocks.

◆ BlockPruneInterval

uint32_t catapult::model::BlockChainConfiguration::BlockPruneInterval

Number of blocks between cache pruning.

◆ BlockTimeSmoothingFactor

uint32_t catapult::model::BlockChainConfiguration::BlockTimeSmoothingFactor

Smoothing factor in thousandths. If this value is non-zero, the network will be biased in favor of evenly spaced blocks.

Note
A higher value makes the network more biased.
This can lower security because it will increase the influence of time relative to importance.

◆ CurrencyMosaicId

MosaicId catapult::model::BlockChainConfiguration::CurrencyMosaicId

Mosaic id used as primary chain currency.

◆ HarvestBeneficiaryPercentage

uint8_t catapult::model::BlockChainConfiguration::HarvestBeneficiaryPercentage

Percentage of the harvested fee that is collected by the beneficiary account.

◆ HarvestingMosaicId

MosaicId catapult::model::BlockChainConfiguration::HarvestingMosaicId

Mosaic id used to provide harvesting ability.

◆ ImportanceActivityPercentage

uint8_t catapult::model::BlockChainConfiguration::ImportanceActivityPercentage

Percentage of importance resulting from fee generation and beneficiary usage.

◆ ImportanceGrouping

uint64_t catapult::model::BlockChainConfiguration::ImportanceGrouping

Number of blocks that should be treated as a group for importance purposes.

Note
Importances will only be calculated at blocks that are multiples of this grouping number.

◆ InitialCurrencyAtomicUnits

Amount catapult::model::BlockChainConfiguration::InitialCurrencyAtomicUnits

Initial currency atomic units available in the network.

◆ MaxBlockFutureTime

utils::TimeSpan catapult::model::BlockChainConfiguration::MaxBlockFutureTime

Maximum future time of a block that can be accepted.

◆ MaxDifficultyBlocks

uint32_t catapult::model::BlockChainConfiguration::MaxDifficultyBlocks

Maximum number of blocks to use in a difficulty calculation.

◆ MaxMosaicAtomicUnits

Amount catapult::model::BlockChainConfiguration::MaxMosaicAtomicUnits

Maximum atomic units (total-supply * 10 ^ divisibility) of a mosaic allowed in the network.

◆ MaxRollbackBlocks

uint32_t catapult::model::BlockChainConfiguration::MaxRollbackBlocks

Maximum number of blocks that can be rolled back.

◆ MaxTransactionLifetime

utils::TimeSpan catapult::model::BlockChainConfiguration::MaxTransactionLifetime

Maximum lifetime a transaction can have before it expires.

◆ MaxTransactionsPerBlock

uint32_t catapult::model::BlockChainConfiguration::MaxTransactionsPerBlock

Maximum number of transactions per block.

◆ MinHarvesterBalance

Amount catapult::model::BlockChainConfiguration::MinHarvesterBalance

Minimum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting.

◆ Network

NetworkInfo catapult::model::BlockChainConfiguration::Network

Block chain network.

◆ Plugins

std::unordered_map<std::string, utils::ConfigurationBag> catapult::model::BlockChainConfiguration::Plugins

Unparsed map of plugin configuration.

◆ ShouldEnableVerifiableReceipts

bool catapult::model::BlockChainConfiguration::ShouldEnableVerifiableReceipts

true if block chain should calculate receipts so that state changes are fully verifiable at each block.

◆ ShouldEnableVerifiableState

bool catapult::model::BlockChainConfiguration::ShouldEnableVerifiableState

true if block chain should calculate state hashes so that state is fully verifiable at each block.

◆ TotalChainImportance

Importance catapult::model::BlockChainConfiguration::TotalChainImportance

Total whole importance units available in the network.


The documentation for this struct was generated from the following files: