ノードプロパティ

Symbol には多数のカスタマイズ可能なノード関連の設定があります。

これらを変更する最も簡単な方法は Symbol Bootstrap のカスタムプリセットを使用することです。 (参照 Symbol Bootstrap の使用): 設定を YAML ファイルに記述して、-c パラメータを使用して symbol-bootstrap config に渡します。例:

friendlyName: my-uber-node
dataDirectory: ./data

これらの設定は .properties ファイルを介して catapult-client に直接提供することもできます。以下の各テーブルのヘッダーは、そのテーブルのプロパティが含まれているファイルを示しています。

注釈

ネットワーク 関連のプロパティについては、ネットワークプロパティの設定 ガイドを参照してください。

ユーザー設定

User configuration settings.
From resources/config-user.properties v1.0.2.0
PropertyTypeDefault value
PRIVATE
Default value
MAINNET
account
enableDelegatedHarvestersAutoDetectionbooltruetrue
true if potential delegated harvesters should be automatically detected.
storage
seedDirectorystring../seed./seed
Seed directory containing nemesis.
dataDirectorystring../data./data
Data directory.
certificateDirectorystring../certificate./cert
Certificate directory.
votingKeysDirectorystring../votingkeys./votingkeys
Voting keys directory.
pluginsDirectorystring./usr/catapult/lib
Plugins directory.

ノード設定

Node configuration settings.
From resources/config-node.properties v1.0.2.0
PropertyTypeDefault value
PRIVATE
Default value
MAINNET
node
portunsigned short79007900
Server port.
maxIncomingConnectionsPerIdentityuint32_t36
Maximum number of incoming connections per identity over primary port.
enableAddressReuseboolfalsefalse
true if the server should reuse ports already in use.
enableSingleThreadPoolboolfalsefalse
true if a single thread pool should be used, false if multiple thread pools should be used.
enableCacheDatabaseStoragebooltruetrue
true if cache data should be saved in a database.
enableAutoSyncCleanupbooltruefalse
true if temporary sync files should be automatically cleaned up.
Note: This should be false if broker process is running.
fileDatabaseBatchSizeuint32_t100100
Maximum number of payloads to store in each file database disk file.
Note: This is recommended to be a factor of 10000.
enableTransactionSpamThrottlingbooltruetrue
true if transaction spam throttling should be enabled.
transactionSpamThrottlingMaxBoostFeeAmount10'000'00010'000'000
Maximum fee that will boost a transaction through the spam throttle when spam throttling is enabled.
maxHashesPerSyncAttemptuint32_t84370
Maximum number of hashes per sync attempt.
maxBlocksPerSyncAttemptuint32_t42360
Maximum number of blocks per sync attempt.
maxChainBytesPerSyncAttemptutils::FileSize100MB100MB
Maximum chain bytes per sync attempt.
shortLivedCacheTransactionDurationutils::TimeSpan10m10m
Duration of a transaction in the short lived cache.
shortLivedCacheBlockDurationutils::TimeSpan100m100m
Duration of a block in the short lived cache.
shortLivedCachePruneIntervalutils::TimeSpan90s90s
Time between short lived cache pruning.
shortLivedCacheMaxSizeuint32_t10'000'00010'000'000
Maximum size of a short lived cache.
minFeeMultiplierBlockFeeMultiplier0100
Minimum fee multiplier of transactions to propagate and include in blocks.
maxTimeBehindPullTransactionsStartutils::TimeSpan5m5m
Transaction pulls will only be initiated when the timestamp of the last block in the local chain is within this value of the network time.
transactionSelectionStrategymodel::TransactionSelectionStrategyoldestoldest
Transaction selection strategy used for syncing and harvesting unconfirmed transactions.
unconfirmedTransactionsCacheMaxResponseSizeutils::FileSize5MB5MB
Maximum size of an unconfirmed transactions response.
unconfirmedTransactionsCacheMaxSizeutils::FileSize20MB20MB
Maximum size of the unconfirmed transactions cache.
connectTimeoututils::TimeSpan10s15s
Timeout for connecting to a peer.
syncTimeoututils::TimeSpan60s5m
Timeout for syncing with a peer.
socketWorkingBufferSizeutils::FileSize512KB16KB
Initial socket working buffer size (socket reads will attempt to read buffers of roughly this size).
socketWorkingBufferSensitivityuint32_t1001
Socket working buffer sensitivity (lower values will cause memory to be more aggressively reclaimed).
Note: 0 will disable memory reclamation.
maxPacketDataSizeutils::FileSize150MB150MB
Maximum packet data size.
blockDisruptorSlotCountuint32_t40964096
Number of slots in the block disruptor circular buffer.
blockDisruptorMaxMemorySizeutils::FileSize300MB300MB
Maximum memory of all elements in the block disruptor circular buffer.
blockElementTraceIntervaluint32_t11
Multiple of elements at which a block element should be traced through queue and completion.
transactionDisruptorSlotCountuint32_t81928192
Number of slots in the transaction disruptor circular buffer.
transactionDisruptorMaxMemorySizeutils::FileSize20MB20MB
Maximum memory of all elements in the transaction disruptor circular buffer.
transactionElementTraceIntervaluint32_t1010
Multiple of elements at which a transaction element should be traced through queue and completion.
enableDispatcherAbortWhenFullbooltruefalse
true if the process should terminate when any dispatcher is full.
enableDispatcherInputAuditingbooltruefalse
true if all dispatcher inputs should be audited.
maxTrackedNodesuint32_t5'0005'000
Maximum number of nodes to track in memory.
minPartnerNodeVersionionet::NodeVersion1.0.1.0
Minimum supported version of partner nodes.
maxPartnerNodeVersionionet::NodeVersion1.0.255.255
Maximum supported version of partner nodes.
trustedHostsunordered_set127.0.0.1, 172.20.0.25
Trusted hosts that are allowed to execute protected API calls on this node.
localNetworksunordered_set127.0.0.1127.0.0.1, 172.20.0.25
Networks that should be treated as local.
listenInterfacestring0.0.0.00.0.0.0
Network interface on which to listen.
cache_database
enableStatisticsboolfalsefalse
true if operational statistics should be captured and logged.
maxOpenFilesuint32_t00
Maximum number of open files.
maxBackgroundThreadsuint32_t00
Maximum number of background threads.
maxSubcompactionThreadsuint32_t00
Maximum number of threads that will concurrently perform a compaction.
blockCacheSizeutils::FileSize0MB0MB
Block cache size.
Note: Optimizes for point lookup when nonzero.
memtableMemoryBudgetutils::FileSize0MB0MB
Memtable memory budget.
Note: Optimizes level style compaction when nonzero.
maxWriteBatchSizeutils::FileSize5MB5MB
Maximum write batch size.
localnode
hoststring
Node host (leave empty to auto-detect IP).
friendlyNamestring03A8F7D
Node friendly name (leave empty to use address).
versionionet::NodeVersion1.0.2.0
Node version.
rolesionet::NodeRolesIPv4,PeerPeer,Api
Node roles.
outgoing_connections
maxConnectionsuint16_t1010
Maximum number of active connections.
maxConnectionAgeuint16_t200200
Maximum connection age.
maxConnectionBanAgeuint16_t2020
Maximum connection ban age.
numConsecutiveFailuresBeforeBanninguint16_t33
Number of consecutive connection failures before a connection is banned.
incoming_connections
maxConnectionsuint16_t512512
Maximum number of active connections.
maxConnectionAgeuint16_t200200
Maximum connection age.
maxConnectionBanAgeuint16_t2020
Maximum connection ban age.
numConsecutiveFailuresBeforeBanninguint16_t33
Number of consecutive connection failures before a connection is banned.
backlogSizeuint16_t512512
Maximum size of the pending connections queue.
banning
defaultBanDurationutils::TimeSpan12h12h
Default duration for banning.
maxBanDurationutils::TimeSpan72h12h
Maximum duration for banning.
keepAliveDurationutils::TimeSpan48h48h
Duration to keep account in container after the ban expired.
maxBannedNodesuint32_t5'0005'000
Maximum number of banned nodes.
numReadRateMonitoringBucketsuint16_t44
Number of read rate monitoring buckets (0 to disable read rate monitoring).
readRateMonitoringBucketDurationutils::TimeSpan15s15s
Duration of each read rate monitoring bucket.
maxReadRateMonitoringTotalSizeutils::FileSize100MB100MB
Maximum size allowed during full read rate monitoring period.
minTransactionFailuresCountForBanuint32_t88
Minimum number of transaction failures to trigger a ban.
minTransactionFailuresPercentForBanuint32_t1010
Minimum percentage of transaction failures to trigger a ban.

ハーベスティング設定

Harvesting configuration settings.
From resources/config-harvesting.properties v1.0.2.0
PropertyTypeDefault value
PRIVATE
Default value
MAINNET
harvesting
harvesterSigningPrivateKeystring
Harvester signing private key. Used only when harvesting is enabled.
harvesterVrfPrivateKeystring
Harvester VRF private key. Used only when harvesting is enabled.
enableAutoHarvestingbooltruetrue
Enables harvesting using configured harvester keys when true.
maxUnlockedAccountsuint32_t510
Maximum number of unlocked accounts, i.e., the maximum number of delegated harvesting accounts.
delegatePrioritizationPolicyharvesting::DelegatePrioritizationPolicyImportanceImportance
Prioritization policy used to keep accounts once the maximum number of delegated harvesting accounts is reached. Possible values are Age and Importance.
beneficiaryAddressAddress
Address of the account receiving part of the harvested fee.