Configuration properties
This topic outlines various blockchain configuration options, specifically for BaseBlockChainConfiguration
.
Name | Description | Type | Required | Default |
---|---|---|---|---|
signers | List of blockchain signers | array | ✅ | |
sync | Synchronization infrastructure implementation | string | "" | |
sync_ext | Synchronization infrastructure extensions | array | [] | |
configurationfactory | Configuration factory implementation | string | ✅ | |
txqueuecapacity | Maximum size of the transaction queue | int | 2500 | |
historic_brid | Historical BRID when forking a blockchain | bytea | ||
dependencies | Blockchain dependencies in raw format | gtv | ||
max_transaction_execution_time | Maximum execution time for a transaction before it's rejected (disabled if -1) | int | -1 | |
config_consensus_strategy | Configuration consensus strategy | string | ||
query_cache_ttl_seconds | Maximum time a query response can be cached in seconds (0 means no caching) | int | 0 |
Block strategy configuration (under the key blockstrategy
)
Name | Description | Type | Default |
---|---|---|---|
name | Block strategy class implementing net.postchain.core.block.BlockBuildingStrategy | string | |
maxblocksize | Maximum block size in bytes | int | 26 * 1024 * 1024 |
maxblocktransactions | Maximum transactions per block | int | 100 |
mininterblockinterval | Smallest time interval between blocks in milliseconds | int | 25 |
maxblocktime | Maximum time to wait before starting to build a block in milliseconds (empty block if queue is empty) | int | 30000 |
maxtxdelay | Maximum time to wait before building a block after the first transaction in milliseconds | int | 1000 |
minbackofftime | Minimum back-off time before retrying a failed block in milliseconds | int | 20 |
maxbackofftime | Maximum back-off time before retrying a failed block in milliseconds | int | 2000 |
maxspecialendtransactionsize | Maximum size of a special end transaction in bytes | int | 1024 |
preemptiveblockbuilding | Enable preemptive block building | boolean | true |
GTX configuration (under the key gtx
)
Name | Description | Type | Default |
---|---|---|---|
max_transaction_size | Maximum size of transactions in bytes | int | 25 * 1024 * 1024 |
modules | GTX modules | array | |
sqlmodules | GTX SQL modules | array | |
allowoverrides | Allow operations and queries with the same name to be overridden by another GTX module | boolean | false |
Revolt configuration (under the key revolt
)
Name | Description | Type | Default |
---|---|---|---|
timeout | Default revolt timeout in milliseconds | int | 10000 |
exponential_delay_initial | Initial delay of revolt timeout in milliseconds | int | 1000 |
exponential_delay_power_base | Power base of exponential increase of the revolt timeout per round | string | 1.2 |
exponential_delay_max | Maximum possible revolt timeout in milliseconds | int | 600000 |
fast_revolt_status_timeout | Timeout in milliseconds since last received status message before considering a node disconnected | int | -1 |
revolt_when_should_build_block | Start counting revolt timeout after considering it possible to build a block | boolean | false |