Skip to main content

Configuration properties

This topic outlines various blockchain configuration options, specifically for BaseBlockChainConfiguration.

NameDescriptionTypeRequiredDefault
signersList of blockchain signersarray
syncSynchronization infrastructure implementationstring""
sync_extSynchronization infrastructure extensionsarray[]
configurationfactoryConfiguration factory implementationstring
txqueuecapacityMaximum size of the transaction queueint2500
historic_bridHistorical BRID when forking a blockchainbytea
dependenciesBlockchain dependencies in raw formatgtv
max_transaction_execution_timeMaximum execution time for a transaction before it's rejected (disabled if -1)int-1
config_consensus_strategyConfiguration consensus strategystring
query_cache_ttl_secondsMaximum time a query response can be cached in seconds (0 means no caching)int0

Block strategy configuration (under the key blockstrategy)

NameDescriptionTypeDefault
nameBlock strategy class implementing net.postchain.core.block.BlockBuildingStrategystring
maxblocksizeMaximum block size in bytesint26 * 1024 * 1024
maxblocktransactionsMaximum transactions per blockint100
mininterblockintervalSmallest time interval between blocks in millisecondsint25
maxblocktimeMaximum time to wait before starting to build a block in milliseconds (empty block if queue is empty)int30000
maxtxdelayMaximum time to wait before building a block after the first transaction in millisecondsint1000
minbackofftimeMinimum back-off time before retrying a failed block in millisecondsint20
maxbackofftimeMaximum back-off time before retrying a failed block in millisecondsint2000
maxspecialendtransactionsizeMaximum size of a special end transaction in bytesint1024
preemptiveblockbuildingEnable preemptive block buildingbooleantrue

GTX configuration (under the key gtx)

NameDescriptionTypeDefault
max_transaction_sizeMaximum size of transactions in bytesint25 * 1024 * 1024
modulesGTX modulesarray
sqlmodulesGTX SQL modulesarray
allowoverridesAllow operations and queries with the same name to be overridden by another GTX modulebooleanfalse

Revolt configuration (under the key revolt)

NameDescriptionTypeDefault
timeoutDefault revolt timeout in millisecondsint10000
exponential_delay_initialInitial delay of revolt timeout in millisecondsint1000
exponential_delay_power_basePower base of exponential increase of the revolt timeout per roundstring1.2
exponential_delay_maxMaximum possible revolt timeout in millisecondsint600000
fast_revolt_status_timeoutTimeout in milliseconds since last received status message before considering a node disconnectedint-1
revolt_when_should_build_blockStart counting revolt timeout after considering it possible to build a blockbooleanfalse