Configuring network properties

Customize the network configurable parameters.

The directory ruby/catapult-templates/peer_node/resources of the Catapult Service Bootstrap repository comes with a set of files to configure the network.

The .properties files provided can be edited with any text editor before launching a network for the first time.


Find below the list of configurable properties.

Property Type Description Default
identifier NetworkIdentifier Network identifier. mijin-test
nodeEqualityStrategy NodeIdentityEqualityStrategy Node equality strategy. host
publicKey Key Nemesis public key. B4F12E7C9F6946091E2CB8B6D3A12B50D17CCBBF646386EA27CE2946A7423DCF
generationHash catapult::GenerationHash Nemesis generation hash. 57F7DA205008026C776CB6AED843393F04CD458E0AA2D9F1D5F31A402072B2D6
enableVerifiableState bool Set to true if block chain should calculate state hashes so that state is fully verifiable at each block. true
enableVerifiableReceipts bool Set to true if block chain should calculate receipts so that state changes are fully verifiable at each block. true
currencyMosaicId MosaicId Mosaic id used as primary chain currency. 0x0DC6‘7FBE‘1CAD‘29E3
harvestingMosaicId MosaicId Mosaic id used to provide harvesting ability. 0x2651‘4E2A‘1EF3‘3824
blockGenerationTargetTime utils::TimeSpan Targeted time between blocks. 15s
blockTimeSmoothingFactor uint32_t 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. 3000
importanceGrouping uint64_t 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. 39
importanceActivityPercentage uint8_t Percentage of importance resulting from fee generation and beneficiary usage. 5
maxRollbackBlocks uint32_t Maximum number of blocks that can be rolled back. 40
maxDifficultyBlocks uint32_t Maximum number of blocks to use in a difficulty calculation. 60
defaultDynamicFeeMultiplier BlockFeeMultiplier Default multiplier to use for dynamic fees. 10‘000
maxTransactionLifetime utils::TimeSpan Maximum lifetime a transaction can have before it expires. 24h
maxBlockFutureTime utils::TimeSpan Maximum future time of a block that can be accepted. 500ms
initialCurrencyAtomicUnits Amount Initial currency atomic units available in the network. 8‘998‘999‘998‘000‘000
maxMosaicAtomicUnits Amount Maximum atomic units (total-supply * 10 ^ divisibility) of a mosaic allowed in the network. 9‘000‘000‘000‘000‘000
totalChainImportance Importance Total whole importance units available in the network. 15‘000‘000
minHarvesterBalance Amount Minimum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting. 500
harvestBeneficiaryPercentage uint8_t Percentage of the harvested fee that is collected by the beneficiary account. 10
blockPruneInterval uint32_t Number of blocks between cache pruning. 360
maxTransactionsPerBlock uint32_t Maximum number of transactions per block. 200‘000
dummy     to trigger plugin load
maxTransactionsPerAggregate uint32_t Maximum number of transactions per aggregate. 1‘000
maxCosignaturesPerAggregate uint8_t Maximum number of cosignatures per aggregate. 15
enableStrictCosignatureCheck bool Set to true if cosignatures must exactly match component signers. Set to false if cosignatures should be validated externally. false
enableBondedAggregateSupport bool Set to true if bonded aggregates should be allowed. Set to false if bonded aggregates should be rejected. true
maxBondedTransactionLifetime utils::TimeSpan Maximum lifetime a bonded transaction can have before it expires. 48h
lockedFundsPerAggregate Amount Amount that has to be locked per aggregate in partial cache. 10‘000‘000
maxHashLockDuration utils::BlockSpan Maximum number of blocks for which a hash lock can exist. 2d
maxSecretLockDuration utils::BlockSpan Maximum number of blocks for which a secret lock can exist. 30d
minProofSize uint16_t Minimum size of a proof in bytes. 1
maxProofSize uint16_t Maximum size of a proof in bytes. 1000
maxValueSize uint16_t Maximum metadata value size. 1024
maxMosaicsPerAccount uint16_t Maximum number of mosaics that an account can own. 10‘000
maxMosaicDuration utils::BlockSpan Maximum mosaic duration. 3650d
maxMosaicDivisibility uint8_t Maximum mosaic divisibility. 6
mosaicRentalFeeSinkPublicKey Key Public key of the mosaic rental fee sink account. 53E140B5947F104CABC2D6FE8BAEDBC30EF9A0609C717D9613DE593EC2A266D3
mosaicRentalFee Amount Mosaic rental fee. 500
maxMultisigDepth uint8_t Maximum number of multisig levels. 3
maxCosignatoriesPerAccount uint8_t Maximum number of cosignatories per account. 10
maxCosignedAccountsPerAccount uint8_t Maximum number of accounts a single account can cosign. 5
maxNameSize uint8_t Maximum namespace name size. 64
maxChildNamespaces uint16_t Maximum number of children for a root namespace. 500
maxNamespaceDepth uint8_t Maximum namespace depth. 3
minNamespaceDuration utils::BlockSpan Minimum namespace duration. 1m
maxNamespaceDuration utils::BlockSpan Maximum namespace duration. 365d
namespaceGracePeriodDuration utils::BlockSpan Grace period during which time only the previous owner can renew an expired namespace. 2m
reservedRootNamespaceNames unordered_set<string> Reserved root namespaces that cannot be claimed. xem, nem, user, account, org, com, biz, net, edu, mil, gov, info
namespaceRentalFeeSinkPublicKey Key Public key of the namespace rental fee sink account. 3E82E1C1E4A75ADAA3CBA8C101C3CD31D9817A2EB966EB3B511FB2ED45B8E262
rootNamespaceRentalFeePerBlock Amount Root namespace rental fee per block. 1
childNamespaceRentalFee Amount Child namespace rental fee. 100
maxAccountRestrictionValues uint16_t Maximum number of account restriction values. 512
maxMosaicRestrictionValues uint8_t Maximum number of mosaic restriction values. 20
maxMessageSize uint16_t Maximum transaction message size. 1024

Property Type Description Default
starting-at-height-1     100
starting-at-height-10000     0