配置參數
標籤:
根級別
chain required
鏈 ID 必須在每個交易中包含. 用於防止重複攻擊.
複製攻擊是試圖將有效的交易提交給與其預期的不同網絡.由於 chain 是簽署的交易實用負載的一部分,使用另一個鏈 ID 的同行拒絕了一項爲一連鎖簽署的事務.
| Type: | String |
|---|---|
| Env: | CHAIN |
chain = "00000000-0000-0000-0000-000000000000"CHAIN="00000000-0000-0000-0000-000000000000"public_key required
共識驗證器的同行必須使用 BLS-Normal鍵.
| Type: | String, public key multihash |
|---|---|
| Env: | PUBLIC_KEY |
public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"PUBLIC_KEY="ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"private_key required
同級密鑰:它必須匹配 public_key;共識驗證器同級必須使用 BLS-正常密鑰.
| Type: | todo private-key |
|---|---|
| Env: | PRIVATE_KEY |
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"PRIVATE_KEY="8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"trusted_peers
預先定義的可信同行列表.
共識驗證器必須使用 BLS-Normal peer keys.對於每個驗證器,還提供匹配的 trusted_peers_pop輸入.
| Type: | 在 P2P 地址已知時使用 |
|---|---|
| Env: | TRUSTED_PEERS |
trusted_peers = [
"ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2@127.0.0.1:1337",
"ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77@127.0.0.1:1338",
]# as JSON
TRUSTED_PEERS='[
"ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2@127.0.0.1:1337",
"ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77@127.0.0.1:1338"
]'trusted_peers_pop
BLS 驗證者可信任的同行所有權證明條目.
| Type: | 具有 |
|---|---|
| Env: | TRUSTED_PEERS_POP |
trusted_peers_pop = [
{ public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2", pop_hex = "8515da750f81182aaba5c22fc9f03a01e81ed85e4495a2ca6b29a71c0c8549537e31e79cddf6ff285b9e22d0d9dc17ce0f46e7d0cf78b2ef9feab50c849a1ea8e1e4f07e966f6113faa8a999317545d9f111b8e08a7273913710b43a20b19c08" },
{ public_key = "ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77", pop_hex = "a14eb180f0d78c55d2c034e91ccf691378e9c3ceed8e0b81d3e4b7c215c0dbb633bb9f1c5063911c31af4610016c164015f0f93db3c7df6a2ad0c39338fe7695b976a59fd13797615f229fbd77276a8bb2842e4e44fadcafdb7b37f4a143b913" },
]# as JSON
TRUSTED_PEERS_POP='[
{"public_key":"ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2","pop_hex":"0x8515da750f81182aaba5c22fc9f03a01e81ed85e4495a2ca6b29a71c0c8549537e31e79cddf6ff285b9e22d0d9dc17ce0f46e7d0cf78b2ef9feab50c849a1ea8e1e4f07e966f6113faa8a999317545d9f111b8e08a7273913710b43a20b19c08"},
{"public_key":"ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77","pop_hex":"0xa14eb180f0d78c55d2c034e91ccf691378e9c3ceed8e0b81d3e4b7c215c0dbb633bb9f1c5063911c31af4610016c164015f0f93db3c7df6a2ad0c39338fe7695b976a59fd13797615f229fbd77276a8bb2842e4e44fadcafdb7b37f4a143b913"}
]'創世記
genesis.file
文件路徑到由 kagami genesis sign生成的簽署基因區塊有效載荷.生成的個人資料通常將此寫成 Norito .nrt文件.
| Type: | String, file path (relative to the config file or CWD) |
|---|---|
| Env: | GENESIS |
[genesis]
file = "./genesis.signed.nrt"GENESIS="./genesis.signed.nrt"genesis.public_key required
基因關鍵對的公鑰.
| Type: | String, public key multihash |
|---|---|
| Env: | GENESIS_PUBLIC_KEY |
[genesis]
public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"GENESIS_PUBLIC_KEY="ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"網絡
network.address required
爲共識 (sumeragi) 和區塊同步 (區塊_sync) 的目的的p2p通信地址.
| Type: | String, socket address (host/IPv4/IPv6 + port) |
|---|---|
| Env: | P2P_ADDRESS |
[network]
address = "0.0.0.0:1337"P2P_ADDRESS=0.0.0.0:1337network.public_address required
同等地址 (外部,其他同齡人看到的).
他們會向相關的同齡人傳說八,以便他們可以向其他同齡人傳播.
| Type: | String, socket address (host/IPv4/IPv6 + port) |
|---|---|
| Env: | P2P_PUBLIC_ADDRESS |
[network]
public_address = "0.0.0.0:5000"P2P_PUBLIC_ADDRESS=0.0.0.0:5000network.block_gossip_size
單個同步消息中可以發送的塊量.
| Type: | Number |
|---|---|
| Default: | 4 |
[network]
block_gossip_size = 256network.block_gossip_period_ms
最新區塊的同行請求之間的時間間隔.
頻繁的八縮短了同步時間,但可以加載網絡.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[network]
block_gossip_period_ms = 1_000network.transaction_gossip_size
一個言批次消息中最大交易數.
較小的尺寸會導致更長的時間同步,但如果您有很高的數據包損失,則有用.
| Type: | Number |
|---|---|
| Default: | 500 |
[network]
transaction_gossip_size = 256network.transaction_gossip_period_ms
在同齡人之間進行交易等待言的時間.
頻繁的八縮短了同步時間,但可以加載網絡.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[network]
transaction_gossip_period_ms = 5_000network.idle_timeout_ms
如果同行無事,則終止與同行的聯繫的時間.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 300_000 (5 minutes) |
[network]
idle_timeout_ms = 300_000Torii
torii.address required
Torii 服務器必須聽取的地址,客戶端應向該服務器提出請求.
| Type: | String, socket address (host/IPv4/IPv6 + port) |
|---|---|
| Env: | API_ADDRESS |
[torii]
address = "0.0.0.0:8080"API_ADDRESS=0.0.0.0:8080torii.max_content_len
在 Torii 終端點所接受的原始請求體中最大字節數.
這一限制用於防止 DOS 攻擊.
| Type: | 字節數量 |
|---|---|
| Default: |
|
[torii]
max_content_len = 64_000_000torii.query_idle_time_ms
如果沒有訪問,查詢可以留在商店的時間.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[torii]
query_idle_time_ms = 10_000torii.query_store_capacity
現場查詢數量的上限.
| Type: | Number |
|---|---|
| Default: | 128 |
[torii]
query_store_capacity = 128torii.query_store_capacity_per_user
一個用戶的直播查詢數量的上限.
| Type: | Number |
|---|---|
| Default: | 128 |
[torii]
query_store_capacity_per_user = 128伐木工
logger.level
一般的記錄動詞性 (參見 logger.filter進行精煉的配置).
| Type: | 字符串,可能值:
選擇適合您使用情況的級別.查看Stack Overflow,瞭解如何使用不同日誌水平的更多細節. |
|---|---|
| Default: | INFO |
| Env: | LOG_LEVEL |
[logger]
level = "INFO"LOG_LEVEL=INFO運行時間更新
該參數通過 Torii 操作員終端點進行運行時間配置更新.
logger.filter
除了 logger.level之外,還可以進行精細的日誌過器.
| Type: | 字符串由一個或多個以逗號分開的指令組成. 每條指令都可能具有相應的最大語文性水平,允許 (例如選擇) 相匹配的跨度和事件;Iroha 認爲較少的獨佔水平 (如 在高層面上,指令的語法由幾個部分組成: |
|---|---|
| Env: | LOG_FILTER |
[logger]
filter = "iroha_core=debug,iroha_p2p=debug"LOG_FILTER=iroha_core=debug,iroha_p2p=debug與 logger.level的兼容性
logger.filter與 logger.level一起工作,沒有一個覆蓋另一個.
例如,如果 logger.level 設置爲 INFO 和 logger.filter 設置爲 iroha_core=debug, 產生的過器組將是: info,iroha_core=debug (也就是說 info 對於所有模塊, debug 對於 iroha_core).
運行時間更新
該參數通過 Torii 操作員終端點進行運行時間配置更新.
logger.format
記錄格式.
| Type: | 字符串,可能值:
更多詳細信息和樣本輸出,請見 |
|---|---|
| Default: | full |
| Env: | LOG_FORMAT |
[logger]
format = "json"LOG_FORMAT=jsonKura
Kura 是 Iroha (用於倉庫的日本語) 的持久存儲引擎.
kura.blocks_in_memory
最多將存儲在內存中的最後N塊.
如果需要,舊區塊將從內存中丟棄並從磁盤上載.
| Type: | Number |
|---|---|
| Default: | 1024 |
| Env: | KURA_BLOCKS_IN_MEMORY |
[kura]
blocks_in_memory = 1024KURA_BLOCKS_IN_MEMORY=1024kura.init_mode
Kura 啓動方式
| Type: | 字符串,可能值:
|
|---|---|
| Default: | strict |
| Env: | KURA_INIT_MODE |
[kura]
init_mode = "fast"KURA_INIT_MODE=fastkura.store_dir
指定區塊存儲處的目錄[^paths].
也見: snapshot.store_dir.
| Type: | String, file path (relative to the config file or CWD) |
|---|---|
| Default: | ./storage |
| Env: | KURA_STORE_DIR |
[kura]
store_dir = "/path/to/storage"KURA_STORE_DIR=/path/to/storagekura.debug.output_new_blocks debug
標籤,使其能夠打印新的塊.
| Type: | todo bool |
|---|---|
| Default: | false |
| Env: | KURA_DEBUG_OUTPUT_NEW_BLOCKS |
[kura.debug]
output_new_blocks = trueKURA_DEBUG_OUTPUT_NEW_BLOCKS=true排隊
queue.capacity
在排列中等待的交易數量的上限.
| Type: | Number |
|---|---|
| Default: | 65_536 |
[queue]
capacity = 1_048_576queue.capacity_per_user
一個用戶在排列中等待的交易數量的上限
使用這個選項來施加氣.
| Type: | Number |
|---|---|
| Default: | 65_536 |
[queue]
capacity_per_user = 1_048_576queue.transaction_time_to_live_ms
在此之後,如果交易仍在排隊中,交易將被取消.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 86_400_000 (24 hours) |
[queue]
transaction_time_to_live_ms = 43_200_000Sumeragi
sumeragi.debug.force_soft_fork debug
僅用於煉的調試開關 Sumeragi 軟叉處理路徑.將其禁用在控制測試之外;在運行的生產網絡上更改可能會導致同齡人對共識行爲產生分歧.
| Type: | todo bool |
|---|---|
| Default: | false |
[sumeragi.debug]
force_soft_fork = true快照
該模塊負責閱讀和編寫世界狀態視圖的快照.
快照存儲世界狀態視圖的序列化檢查點,以便一個同行可以重新啓動而不需要重播從 Kura 的每個區塊. Kura 仍然是持續的區塊歷史和重播的真相來源;快照是一個加速路徑.在啓動時, Iroha 檢查了設置鏈和存儲的區塊之間的快照元數據,然後決定是否要加載快照或重新播放.
刪除快照
如果快照系統有什麼問題,並且您想從空白頁面開始 (即快照),則可以刪除 snapshot.store_dir所指定的目錄.
snapshot.mode
快照系統的模式.
| Type: | 字符串,可能值:
|
|---|---|
| Default: | read_write |
| Env: | SNAPSHOT_MODE |
[snapshot]
mode = "readonly"SNAPSHOT_MODE=readonlysnapshot.create_every_ms
快照的頻率.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 600_000 (10 minutes) |
[snapshot]
create_every_ms = 60_000snapshot.store_dir
在哪裏存儲快照.
另見: kura.store_dir
| Type: | String, file path (relative to the config file or CWD) |
|---|---|
| Default: | ./storage/snapshot |
| Env: | SNAPSHOT_STORE_DIR |
[snapshot]
store_dir = "/path/to/storage"SNAPSHOT_STORE_DIR="/path/to/storage"電測儀
遠程測量將同行診斷輸出到外部遠程測量的收集器.當同行報告給收藏器時,設置 telemetry.name 和 telemetry.url;如果不使用遠程測試,則省略該節目.
name和 url必須配對.
所有的 telemetry 部分是可選的.
telemetry.name
在遠程測量中顯示節點的名稱.
| Type: | String |
|---|
[telemetry]
name = "iroha"telemetry.url
遠程測量器的 WebSocket URL.
| Type: | String |
|---|
[telemetry]
url = "ws://telemetry.example.com/submit"telemetry.min_retry_period_ms
在重新連接之前的最低等待時間.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[telemetry]
min_retry_period_ms = 5_000telemetry.max_retry_delay_exponent
增加連接之間的延遲使用的最大指數爲2.
| Type: | Number |
|---|---|
| Default: | 4 |
[telemetry]
max_retry_delay_exponent = 4dev_telemetry.out_file
編寫 dev-telemetry的文件路徑
| Type: | String, file path (relative to the config file or CWD) |
|---|
[dev_telemetry]
out_file = "/path/to/file.json"