Network properties

There is a large number of network-related settings that can be customized in Symbol.

The easiest way to change them is by using Symbol Bootstrap’s custom presets (read Using Symbol Bootstrap): Put the settings in a YAML file and pass it to symbol-bootstrap config using the -c parameter.

These settings can also be directly provided to catapult-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.

Network configuration

Network configuration settings.
From resources/config-network.properties v1.0.2.0
PropertyTypeDefault value
PRIVATE
Default value
MAINNET
network
identifierNetworkIdentifierprivate-testpublic
Network identifier.
nodeEqualityStrategyNodeIdentityEqualityStrategyhosthost
Node equality strategy.
nemesisSignerPublicKeyKey
Nemesis public key.
generationHashSeedcatapult::GenerationHashSeed
Nemesis generation hash seed.
epochAdjustmentutils::TimeSpan1573430400s1615853185s
Nemesis epoch time adjustment.
chain
enableVerifiableStateboolfalsetrue
true if block chain should calculate state hashes so that state is fully verifiable at each block.
enableVerifiableReceiptsboolfalsetrue
true if block chain should calculate receipts so that state changes are fully verifiable at each block.
currencyMosaicIdMosaicId
Mosaic id used as primary chain currency.
harvestingMosaicIdMosaicId
Mosaic id used to provide harvesting ability.
blockGenerationTargetTimeutils::TimeSpan30s30s
Targeted time between blocks.
blockTimeSmoothingFactoruint32_t30003000
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.
importanceGroupinguint64_t39720
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.
importanceActivityPercentageuint8_t55
Percentage of importance resulting from fee generation and beneficiary usage.
maxRollbackBlocksuint32_t400
Maximum number of blocks that can be rolled back.
maxDifficultyBlocksuint32_t6060
Maximum number of blocks to use in a difficulty calculation.
defaultDynamicFeeMultiplierBlockFeeMultiplier10'000100
Default multiplier to use for dynamic fees.
maxTransactionLifetimeutils::TimeSpan24h6h
Maximum lifetime a transaction can have before it expires.
maxBlockFutureTimeutils::TimeSpan500ms300ms
Maximum future time of a block that can be accepted.
initialCurrencyAtomicUnitsAmount8'999'999'998'000'0007'842'928'625'000'000
Initial currency atomic units available in the network.
maxMosaicAtomicUnitsAmount9'000'000'000'000'0008'999'999'999'000'000
Maximum atomic units (total-supply * 10 ^ divisibility) of a mosaic allowed in the network.
totalChainImportanceImportance17'000'0007'842'928'625'000'000
Total whole importance units available in the network.
minHarvesterBalanceAmount50010'000'000'000
Minimum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting.
maxHarvesterBalanceAmount4'000'00050'000'000'000'000
Maximum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting.
minVoterBalanceAmount50'0003'000'000'000'000
Minimum number of harvesting mosaic atomic units needed for an account to be eligible for voting.
votingSetGroupinguint64_t781440
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.
maxVotingKeysPerAccountuint8_t33
Maximum number of voting keys that can be registered at once per account.
minVotingKeyLifetimeuint32_t72112
Minimum number of finalization rounds for which voting key can be registered.
maxVotingKeyLifetimeuint32_t26280360
Maximum number of finalization rounds for which voting key can be registered.
harvestBeneficiaryPercentageuint8_t1025
Percentage of the harvested fee that is collected by the beneficiary account.
harvestNetworkPercentageuint8_t55
Percentage of the harvested fee that is collected by the network.
harvestNetworkFeeSinkAddressAddress
Address of the harvest network fee sink account.
maxTransactionsPerBlockuint32_t200'0006'000
Maximum number of transactions per block.
fork_heights
totalVotingBalanceCalculationFixHeight528'000528'000
Height of fork to fix TotalVotingBalance calculation.
plugin:catapult.plugins.accountlink
dummyto trigger plugin loadto trigger plugin load
plugin:catapult.plugins.aggregate
maxTransactionsPerAggregateuint32_t1'000100
Maximum number of transactions per aggregate.
maxCosignaturesPerAggregateuint8_t1525
Maximum number of cosignatures per aggregate.
enableStrictCosignatureCheckboolfalsefalse
true if cosignatures must exactly match component signers. false if cosignatures should be validated externally.
enableBondedAggregateSupportbooltruetrue
true if bonded aggregates should be allowed. false if bonded aggregates should be rejected.
maxBondedTransactionLifetimeutils::TimeSpan48h48h
Maximum lifetime a bonded transaction can have before it expires.
plugin:catapult.plugins.lockhash
lockedFundsPerAggregateAmount10'000'00010'000'000
Amount that has to be locked per aggregate in partial cache.
maxHashLockDurationutils::BlockSpan2d2d
Maximum number of blocks for which a hash lock can exist.
plugin:catapult.plugins.locksecret
maxSecretLockDurationutils::BlockSpan30d365d
Maximum number of blocks for which a secret lock can exist.
minProofSizeuint16_t10
Minimum size of a proof in bytes.
maxProofSizeuint16_t10001024
Maximum size of a proof in bytes.
plugin:catapult.plugins.metadata
maxValueSizeuint16_t10241024
Maximum metadata value size.
plugin:catapult.plugins.mosaic
maxMosaicsPerAccountuint16_t10'0001'000
Maximum number of mosaics that an account can own.
maxMosaicDurationutils::BlockSpan3650d3650d
Maximum mosaic duration.
maxMosaicDivisibilityuint8_t66
Maximum mosaic divisibility.
mosaicRentalFeeSinkAddressAddress
Address of the mosaic rental fee sink account.
mosaicRentalFeeAmount500500000
Mosaic rental fee.
plugin:catapult.plugins.multisig
maxMultisigDepthuint8_t33
Maximum number of multisig levels.
maxCosignatoriesPerAccountuint32_t1025
Maximum number of cosignatories per account.
maxCosignedAccountsPerAccountuint32_t525
Maximum number of accounts a single account can cosign.
plugin:catapult.plugins.namespace
maxNameSizeuint8_t6464
Maximum namespace name size.
maxChildNamespacesuint16_t500100
Maximum number of children for a root namespace.
maxNamespaceDepthuint8_t33
Maximum namespace depth.
minNamespaceDurationutils::BlockSpan1m30d
Minimum namespace duration.
maxNamespaceDurationutils::BlockSpan365d1825d
Maximum namespace duration.
namespaceGracePeriodDurationutils::BlockSpan2m30d
Grace period during which time only the previous owner can renew an expired namespace.
reservedRootNamespaceNamesunordered_setxem, nem, user, account, org, com, biz, net, edu, mil, gov, infosymbol, symbl, xym, xem, nem, user, account, org, com, biz, net, edu, mil, gov, info
Reserved root namespaces that cannot be claimed.
namespaceRentalFeeSinkAddressAddress
Address of the namespace rental fee sink account.
rootNamespaceRentalFeePerBlockAmount12
Root namespace rental fee per block.
childNamespaceRentalFeeAmount100100000
Child namespace rental fee.
plugin:catapult.plugins.restrictionaccount
maxAccountRestrictionValuesuint16_t512100
Maximum number of account restriction values.
plugin:catapult.plugins.restrictionmosaic
maxMosaicRestrictionValuesuint8_t2020
Maximum number of mosaic restriction values.
plugin:catapult.plugins.transfer
maxMessageSizeuint16_t10241024
Maximum transaction message size.

Inflation configuration

Inflation configuration settings.
From resources/config-inflation.properties v1.0.2.0
PropertyTypeDefault value
PRIVATE
Default value
MAINNET
inflation
starting-at-height-1100
starting-at-height-100000