概要
これはSymbolノード(プライベート)の各種設定の覚書です。
custom-network-preset.yml
とはSymbolノードを一から構築(symbol-networkツールを使ってプライベートネット構築など)する際に必要となる大元の設定ファイルのことです。
symbol-networkツールを使用してノードを立てる際にはcustom-network-preset.yml
の他にkey-store.yml
とnetwork-input.yml
が必要になります。
※ この記事ではsymbol-network
ツールの使い方は説明しません。
各種設定
以下のcustom-network-preset.yml
はbootstrap指定時のものです。(一部追記あり)
symbol-networkツールを使用する際には testnet
,mainnet
,bootstrap
のプリセットが指定できます。
custom.network-preset.yml
maxBondedTransactionLifetime: 48h # アグリゲートボンデッドトランザクションの生存期間
blockGenerationTargetTime: 30s # ブロック生成時間
symbolServerImage: symbolplatform/symbol-server:gcc-1.0.3.6 # サーバーイメージ
symbolRestImage: symbolplatform/symbol-rest:2.4.3 # RESTイメージ
symbolExplorerImage: symbolplatform/symbol-explorer:1.1.1-alpha-202110290945
symbolFaucetImage: symbolplatform/symbol-faucet:1.0.1-alpha-202110131930
mongoImage: mongo:5.0.15 # データベースのイメージ
reservedRootNamespaceNames: symbol, symbl, xym, xem, nem, user, account, org, com, biz, net, edu, mil, gov, info # ネームスペース(ここで指定されているネームスペースは取得することができない)
maxMosaicsPerAccount: 1000 # 1アカウントが保持できるモザイクの数量
maxValueSize: 1024 # メッセージサイズ
maxSecretLockDuration: 365d # シークレットロックの最大期間
maxNamespaceDuration: 1825d # ネームスペースの最大期間
networkDescription: Private Net
initialCurrencyAtomicUnits: 8998999998000000 # 基軸通貨の発行料
maxMosaicAtomicUnits: 9000000000000000
totalChainImportance: 15000000 # ネットワークの総インポータンス
minHarvesterBalance: 500 # 最低ハーベストバランス
maxHarvesterBalance: 50000000000000 # 最大ハーベストバランス
networkType: 152
minVoterBalance: 50000
baseNamespace: symbol
explorerUrl: http://localhost:90/
faucetUrl: http://localhost:100/
beneficiaryAddress: ''
votingKeyDesiredLifetime: 720
votingKeyDesiredFutureLifetime: 120
lastKnownNetworkEpoch: 1
restExtensions: accountLink, aggregate, lockHash, lockSecret, mosaic, metadata, multisig, namespace, receipts, restrictions, transfer
nemesis:
mosaics:
-
name: xym # 基軸通貨
divisibility: 6
duration: 0
supply: 8998999998000000
isTransferable: true
isSupplyMutable: false
isRestrictable: false
accounts: 5
-
name: harvest # ハーベストモザイク
divisibility: 3
duration: 0
supply: 15000000
isTransferable: true
isSupplyMutable: true
isRestrictable: false
accounts: 2
inflation: # インフレーションの設定
starting-at-height-1: 0
starting-at-height-10000: 0
nemesisSeedFolder: nemesis-seed
nemesisSignerPublicKey: B8571D19AE6B33A45167038F81E3F439A15B***********************
harvestNetworkFeeSinkAddress: TBBFYS4MFKDBUBUOJ437OWWQYXTZS2C2RIU2M2Q
namespaceRentalFeeSinkAddress: TDSB2HGGQ4KAKWW367QYHPHZG6IVTPIXJRCQQDY
mosaicRentalFeeSinkAddress: TA2XFWJKMURU7E5IHW2PT37GWOPEX3HNPBUK27Y
nemesisGenerationHashSeed: C8445F18765E3CB341113C022081***********************
epochAdjustment: 1703577141s
knownRestGateways:
- https://private-dual-001.example.com:3001
- https://private-dual-002.example.com:3001
knownPeers:
-
publicKey: DAD43D27A4ADEBA168B13*****************
endpoint:
host: private-dual-001.example.com
port: 7900
metadata:
name: private-dual-001
roles: Api,Peer,Voting
-
publicKey: 730F980C458837930CE433D**************************
endpoint:
host: private-dual-002.example.com
port: 7900
metadata:
name: rivate-dual-002
roles: Api,Peer,Voting
あとがき
各種ネットワークの設定はなかなかに難解です。
正しく設定をしないとノードがクラッシュして起動しません。
また、ハーベスト権を持たない状態でノードを起動すると永遠にブロックが進まないといったことも発生するので注意が必要です。
テストネットの設定を参考にしながらインフレーションの設定を行なってみたのですが、ネメシスブロックは生成できてもノードが正常起動しないので(設定を読み込むとノードがクラッシュする)もし成功したら追記します。
参考: