There is a large number of network-related settings that can be customized in Bitxor.
The easiest way to change them is by using Bitxor Bootstrap’s custom presets (read Using Bitxor Bootstrap): Put the settings in a YAML file and pass it to bitxor-bootstrap config
using the -c
parameter.
These settings can also be directly provided to bitxorcore-client through .properties
files. The header of each of the tables below indicates which file contains that table’s properties.
Note
For node-related properties, read the Configuring node properties guide.
resources/config-network.properties
v1.0.2.0
Property | Type | Default value PRIVATE | Default value MAINNET | |||
---|---|---|---|---|---|---|
network | ||||||
identifier | NetworkIdentifier | private-test | public | |||
Network identifier. | ||||||
nodeEqualityStrategy | NodeIdentityEqualityStrategy | host | host | |||
Node equality strategy. | ||||||
genesisSignerPublicKey | Key | |||||
Genesis public key. | ||||||
generationHashSeed | bitxorcore::GenerationHashSeed | |||||
Genesis generation hash seed. | ||||||
epochAdjustment | utils::TimeSpan | 1573430400s | 1615853185s | |||
Genesis epoch time adjustment. | ||||||
chain | ||||||
enableVerifiableState | bool | false | true | |||
true if block chain should calculate state hashes so that state is fully verifiable at each block. | ||||||
enableVerifiableReceipts | bool | false | true | |||
true if block chain should calculate receipts so that state changes are fully verifiable at each block. | ||||||
currencyTokenId | TokenId | |||||
Token id used as primary chain currency. | ||||||
harvestingTokenId | TokenId | |||||
Token id used to provide harvesting ability. | ||||||
blockGenerationTargetTime | utils::TimeSpan | 30s | 30s | |||
Targeted time between blocks. | ||||||
blockTimeSmoothingFactor | uint32_t | 3000 | 3000 | |||
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. Note: This can lower security because it will increase the influence of time relative to importance. | ||||||
importanceGrouping | uint64_t | 39 | 720 | |||
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. | ||||||
importanceActivityPercentage | uint8_t | 5 | 5 | |||
Percentage of importance resulting from fee generation and beneficiary usage. | ||||||
maxRollbackBlocks | uint32_t | 40 | 0 | |||
Maximum number of blocks that can be rolled back. | ||||||
maxDifficultyBlocks | uint32_t | 60 | 60 | |||
Maximum number of blocks to use in a difficulty calculation. | ||||||
defaultDynamicFeeMultiplier | BlockFeeMultiplier | 10'000 | 100 | |||
Default multiplier to use for dynamic fees. | ||||||
maxTransactionLifetime | utils::TimeSpan | 24h | 6h | |||
Maximum lifetime a transaction can have before it expires. | ||||||
maxBlockFutureTime | utils::TimeSpan | 500ms | 300ms | |||
Maximum future time of a block that can be accepted. | ||||||
initialCurrencyAtomicUnits | Amount | 8'999'999'998'000'000 | 7'842'928'625'000'000 | |||
Initial currency atomic units available in the network. | ||||||
maxTokenAtomicUnits | Amount | 9'000'000'000'000'000 | 8'999'999'999'000'000 | |||
Maximum atomic units (total-supply * 10 ^ divisibility) of a token allowed in the network. | ||||||
totalChainImportance | Importance | 17'000'000 | 7'842'928'625'000'000 | |||
Total whole importance units available in the network. | ||||||
minHarvesterBalance | Amount | 500 | 10'000'000'000 | |||
Minimum number of harvesting token atomic units needed for an account to be eligible for harvesting. | ||||||
maxHarvesterBalance | Amount | 4'000'000 | 50'000'000'000'000 | |||
Maximum number of harvesting token atomic units needed for an account to be eligible for harvesting. | ||||||
minVoterBalance | Amount | 50'000 | 3'000'000'000'000 | |||
Minimum number of harvesting token atomic units needed for an account to be eligible for voting. | ||||||
votingSetGrouping | uint64_t | 78 | 1440 | |||
Number of blocks that should be treated as a group for voting set purposes. Note: Voting sets will only be calculated at blocks that are multiples of this grouping number. | ||||||
maxVotingKeysPerAccount | uint8_t | 3 | 3 | |||
Maximum number of voting keys that can be registered at once per account. | ||||||
minVotingKeyLifetime | uint32_t | 72 | 112 | |||
Minimum number of finalization rounds for which voting key can be registered. | ||||||
maxVotingKeyLifetime | uint32_t | 26280 | 360 | |||
Maximum number of finalization rounds for which voting key can be registered. | ||||||
harvestBeneficiaryPercentage | uint8_t | 10 | 25 | |||
Percentage of the harvested fee that is collected by the beneficiary account. | ||||||
harvestNetworkPercentage | uint8_t | 5 | 5 | |||
Percentage of the harvested fee that is collected by the network. | ||||||
harvestNetworkFeeSinkAddress | Address | |||||
Address of the harvest network fee sink account. | ||||||
maxTransactionsPerBlock | uint32_t | 200'000 | 6'000 | |||
Maximum number of transactions per block. | ||||||
fork_heights | ||||||
totalVotingBalanceCalculationFix | Height | 528'000 | 528'000 | |||
Height of fork to fix TotalVotingBalance calculation. | ||||||
plugin:bitxorcore.plugins.accountlink | ||||||
dummy | to trigger plugin load | to trigger plugin load | ||||
plugin:bitxorcore.plugins.aggregate | ||||||
maxTransactionsPerAggregate | uint32_t | 1'000 | 100 | |||
Maximum number of transactions per aggregate. | ||||||
maxCosignaturesPerAggregate | uint8_t | 15 | 25 | |||
Maximum number of cosignatures per aggregate. | ||||||
enableStrictCosignatureCheck | bool | false | false | |||
true if cosignatures must exactly match component signers. false if cosignatures should be validated externally. | ||||||
enableBondedAggregateSupport | bool | true | true | |||
true if bonded aggregates should be allowed. false if bonded aggregates should be rejected. | ||||||
maxBondedTransactionLifetime | utils::TimeSpan | 48h | 48h | |||
Maximum lifetime a bonded transaction can have before it expires. | ||||||
plugin:bitxorcore.plugins.lockhash | ||||||
lockedFundsPerAggregate | Amount | 10'000'000 | 10'000'000 | |||
Amount that has to be locked per aggregate in partial cache. | ||||||
maxHashLockDuration | utils::BlockSpan | 2d | 2d | |||
Maximum number of blocks for which a hash lock can exist. | ||||||
plugin:bitxorcore.plugins.locksecret | ||||||
maxSecretLockDuration | utils::BlockSpan | 30d | 365d | |||
Maximum number of blocks for which a secret lock can exist. | ||||||
minProofSize | uint16_t | 1 | 0 | |||
Minimum size of a proof in bytes. | ||||||
maxProofSize | uint16_t | 1000 | 1024 | |||
Maximum size of a proof in bytes. | ||||||
plugin:bitxorcore.plugins.metadata | ||||||
maxValueSize | uint16_t | 1024 | 1024 | |||
Maximum metadata value size. | ||||||
plugin:bitxorcore.plugins.token | ||||||
maxTokensPerAccount | uint16_t | 10'000 | 1'000 | |||
Maximum number of tokens that an account can own. | ||||||
maxTokenDuration | utils::BlockSpan | 3650d | 3650d | |||
Maximum token duration. | ||||||
maxTokenDivisibility | uint8_t | 6 | 6 | |||
Maximum token divisibility. | ||||||
tokenRentalFeeSinkAddress | Address | |||||
Address of the token rental fee sink account. | ||||||
tokenRentalFee | Amount | 500 | 500000 | |||
Token rental fee. | ||||||
plugin:bitxorcore.plugins.multisig | ||||||
maxMultisigDepth | uint8_t | 3 | 3 | |||
Maximum number of multisig levels. | ||||||
maxCosignatoriesPerAccount | uint32_t | 10 | 25 | |||
Maximum number of cosignatories per account. | ||||||
maxCosignedAccountsPerAccount | uint32_t | 5 | 25 | |||
Maximum number of accounts a single account can cosign. | ||||||
plugin:bitxorcore.plugins.namespace | ||||||
maxNameSize | uint8_t | 64 | 64 | |||
Maximum namespace name size. | ||||||
maxChildNamespaces | uint16_t | 500 | 100 | |||
Maximum number of children for a root namespace. | ||||||
maxNamespaceDepth | uint8_t | 3 | 3 | |||
Maximum namespace depth. | ||||||
minNamespaceDuration | utils::BlockSpan | 1m | 30d | |||
Minimum namespace duration. | ||||||
maxNamespaceDuration | utils::BlockSpan | 365d | 1825d | |||
Maximum namespace duration. | ||||||
namespaceGracePeriodDuration | utils::BlockSpan | 2m | 30d | |||
Grace period during which time only the previous owner can renew an expired namespace. | ||||||
reservedRootNamespaceNames | unordered_set | xem, nem, user, account, org, com, biz, net, edu, mil, gov, info | bitxor, symbl, bxr, xem, nem, user, account, org, com, biz, net, edu, mil, gov, info | |||
Reserved root namespaces that cannot be claimed. | ||||||
namespaceRentalFeeSinkAddress | Address | |||||
Address of the namespace rental fee sink account. | ||||||
rootNamespaceRentalFeePerBlock | Amount | 1 | 2 | |||
Root namespace rental fee per block. | ||||||
childNamespaceRentalFee | Amount | 100 | 100000 | |||
Child namespace rental fee. | ||||||
plugin:bitxorcore.plugins.restrictionaccount | ||||||
maxAccountRestrictionValues | uint16_t | 512 | 100 | |||
Maximum number of account restriction values. | ||||||
plugin:bitxorcore.plugins.restrictiontoken | ||||||
maxTokenRestrictionValues | uint8_t | 20 | 20 | |||
Maximum number of token restriction values. | ||||||
plugin:bitxorcore.plugins.transfer | ||||||
maxMessageSize | uint16_t | 1024 | 1024 | |||
Maximum transaction message size. |
resources/config-inflation.properties
v1.0.2.0
Property | Type | Default value PRIVATE | Default value MAINNET | |||
---|---|---|---|---|---|---|
inflation | ||||||
starting-at-height-1 | 100 | |||||
starting-at-height-10000 | 0 |