Customize the node configurable parameters.
The instructions to configure the node vary depending on the package used to deploy the network.
After running a node for the first time, the file config-input.yaml
will be generated in the folder``symbol-testnet-bootstrap/identity``.
To edit the node properties, follow the next steps:
sudo docker-compose down
under the same directory you executed the up
command.config-input.yaml
with a text editor.sudo docker-compose up --build --detach
.After running a network for the first time, the folder build/catapult-config
contains all the properties files for the Peer and API nodes that compose the network.
For example, if you want to edit the peer-node-0
properties, follow the next steps:
./cmds/stop-all
.peer-node-0/userconfig/resources
with a text editor../cmds/start-all -d
.Find below the list of configurable properties.
Property | Type | Description | Default |
---|---|---|---|
account | |||
enableDelegatedHarvestersAutoDetection | bool | Set to true if potential delegated harvesters should be automatically detected. | true |
storage | |||
dataDirectory | string | Data directory. | ../data |
certificateDirectory | string | Certificate directory. | ../certificate |
pluginsDirectory | string | Plugins directory. | . |
Property | Type | Description | Default |
---|---|---|---|
node | |||
port | unsigned short | Server port. | 7900 |
maxIncomingConnectionsPerIdentity | uint32_t | Maximum number of incoming connections per identity over primary port. | 3 |
enableAddressReuse | bool | Set to true if the server should reuse ports already in use. | false |
enableSingleThreadPool | bool | Set to true if a single thread pool should be used, Set to false if multiple thread pools should be used. | false |
enableCacheDatabaseStorage | bool | Set to true if cache data should be saved in a database. | true |
enableAutoSyncCleanup | bool | Set to true if temporary sync files should be automatically cleaned up. Note: This should be Set to false if broker process is running. | true |
enableTransactionSpamThrottling | bool | Set to true if transaction spam throttling should be enabled. | true |
transactionSpamThrottlingMaxBoostFee | Amount | Maximum fee that will boost a transaction through the spam throttle when spam throttling is enabled. | 10‘000‘000 |
maxBlocksPerSyncAttempt | uint32_t | Maximum number of blocks per sync attempt. | 400 |
maxChainBytesPerSyncAttempt | utils::FileSize | Maximum chain bytes per sync attempt. | 100MB |
shortLivedCacheTransactionDuration | utils::TimeSpan | Duration of a transaction in the short lived cache. | 10m |
shortLivedCacheBlockDuration | utils::TimeSpan | Duration of a block in the short lived cache. | 100m |
shortLivedCachePruneInterval | utils::TimeSpan | Time between short lived cache pruning. | 90s |
shortLivedCacheMaxSize | uint32_t | Maximum size of a short lived cache. | 10‘000‘000 |
minFeeMultiplier | BlockFeeMultiplier | Minimum fee multiplier of transactions to propagate and include in blocks. | 0 |
transactionSelectionStrategy | model::TransactionSelectionStrategy | Transaction selection strategy used for syncing and harvesting unconfirmed transactions. | oldest |
unconfirmedTransactionsCacheMaxResponseSize | utils::FileSize | Maximum size of an unconfirmed transactions response. | 20MB |
unconfirmedTransactionsCacheMaxSize | uint32_t | Maximum size of the unconfirmed transactions cache. | 1‘000‘000 |
connectTimeout | utils::TimeSpan | Timeout for connecting to a peer. | 10s |
syncTimeout | utils::TimeSpan | Timeout for syncing with a peer. | 60s |
socketWorkingBufferSize | utils::FileSize | Initial socket working buffer size (socket reads will attempt to read buffers of roughly this size). | 512KB |
socketWorkingBufferSensitivity | uint32_t | Socket working buffer sensitivity (lower values will cause memory to be more aggressively reclaimed). Note: Set to 0 will disable memory reclamation. | 100 |
maxPacketDataSize | utils::FileSize | Maximum packet data size. | 150MB |
blockDisruptorSize | uint32_t | Size of the block disruptor circular buffer. | 4096 |
blockElementTraceInterval | uint32_t | Multiple of elements at which a block element should be traced through queue and completion. | 1 |
transactionDisruptorSize | uint32_t | Size of the transaction disruptor circular buffer. | 16384 |
transactionElementTraceInterval | uint32_t | Multiple of elements at which a transaction element should be traced through queue and completion. | 10 |
enableDispatcherAbortWhenFull | bool | Set to true if the process should terminate when any dispatcher is full. | true |
enableDispatcherInputAuditing | bool | Set to true if all dispatcher inputs should be audited. | true |
maxCacheDatabaseWriteBatchSize | utils::FileSize | Maximum cache database write batch size. | 5MB |
maxTrackedNodes | uint32_t | Maximum number of nodes to track in memory. | 5‘000 |
batchVerificationRandomSource | string | Source of random numbers used in batch verification. | /dev/urandom |
trustedHosts | unordered_set<string> | Trusted hosts that are allowed to execute protected API calls on this node. | |
localNetworks | unordered_set<string> | Networks that should be treated as local. | 127.0.0.1 |
localnode | |||
host | string | Node host (leave empty to auto-detect IP). | |
friendlyName | string | Node friendly name (leave empty to use address). | |
version | uint32_t | Node version. | 0 |
roles | ionet::NodeRoles | Node roles. | Peer |
outgoing_connections | |||
maxConnections | uint16_t | Maximum number of active connections. | 10 |
maxConnectionAge | uint16_t | Maximum connection age. | 200 |
maxConnectionBanAge | uint16_t | Maximum connection ban age. | 20 |
numConsecutiveFailuresBeforeBanning | uint16_t | Number of consecutive connection failures before a connection is banned. | 3 |
incoming_connections | |||
maxConnections | uint16_t | Maximum number of active connections. | 512 |
maxConnectionAge | uint16_t | Maximum connection age. | 200 |
maxConnectionBanAge | uint16_t | Maximum connection ban age. | 20 |
numConsecutiveFailuresBeforeBanning | uint16_t | Number of consecutive connection failures before a connection is banned. | 3 |
backlogSize | uint16_t | Maximum size of the pending connections queue. | 512 |
banning | |||
defaultBanDuration | utils::TimeSpan | Default duration for banning. | 12h |
maxBanDuration | utils::TimeSpan | Maximum duration for banning. | 72h |
keepAliveDuration | utils::TimeSpan | Duration to keep account in container after the ban expired. | 48h |
maxBannedNodes | uint32_t | Maximum number of banned nodes. | 5‘000 |
numReadRateMonitoringBuckets | uint16_t | Number of read rate monitoring buckets (Set to 0 to disable read rate monitoring). | 4 |
readRateMonitoringBucketDuration | utils::TimeSpan | Duration of each read rate monitoring bucket. | 15s |
maxReadRateMonitoringTotalSize | utils::FileSize | Maximum size allowed during full read rate monitoring period. | 100MB |
Property | Type | Description | Default |
---|---|---|---|
harvesting | |||
harvesterSigningPrivateKey | string | Harvester signing private key. | |
harvesterVrfPrivateKey | string | Harvester vrf private key. | |
enableAutoHarvesting | bool | Set to true if auto harvesting is enabled. | false |
maxUnlockedAccounts | uint32_t | Maximum number of unlocked accounts. | 5 |
delegatePrioritizationPolicy | harvesting::DelegatePrioritizationPolicy | Delegate harvester prioritization policy. | Importance |
beneficiaryAddress | Address | Address of the account receiving part of the harvested fee. |
Did you find what you were looking for? Give us your feedback.