Configuration Parameters များ
[toc]
အမြစ်အဆင့်
chain required
Chain ID ကို transaction တစ်ခုချင်းစီမှာ ထည့်သွင်းရမယ်။ ပြန်လည်ဖြန့်ဝေမှု တိုက်ခိုက်မှုတွေကို တားဆီးဖို့ သုံးတယ်။
chain သည် လက်မှတ်ရေးထိုးထားသော ငွေပေးချေမှု အသုံးဝင်မှု၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည်မို့၊ ချိတ်ဆက်မှုတစ်ခုအတွက် လက်မှတ်ရေးဆွဲထားသည့် ငွေလဲလှယ်မှုကို အခြားချိတ်ဆက်မှု ID ကို အသုံးပြုသူများက ပစ်ပယ်ကြသည်။
| Type: | String |
|---|---|
| Env: | CHAIN |
chain = "00000000-0000-0000-0000-000000000000"CHAIN="00000000-0000-0000-0000-000000000000"public_key required
အများသုံး peer key: Consensus validator peers တွေဟာ BLS-Normal keys ကို သုံးရမယ်။
| Type: | String, public key multihash |
|---|---|
| Env: | PUBLIC_KEY |
public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"PUBLIC_KEY="ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"private_key required
Peer private key: public_key နှင့် ကိုက်ညီရမည်။ Consensus validator peers များသည် BLS-Normal keys များကို အသုံးပြုရမည်ဖြစ်သည်။
| Type: | todo private-key |
|---|---|
| Env: | PRIVATE_KEY |
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"PRIVATE_KEY="8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"trusted_peers
အရင်ဆုံး သတ်မှတ်ထားတဲ့ ယုံကြည်ရတဲ့ အဖော်စာရင်း။
Consensus validators များသည် BLS-Normal peer keys များကို အသုံးပြုရမည်ဖြစ်သည်။ validator တစ်ခုစီအတွက်လည်း trusted_peers_pop entry ကိုပေးသွင်းပါ။
| 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 validator ကိုယုံကြည်တဲ့ အဖော်များအတွက် ပိုင်ဆိုင်မှုသက်သေစာရင်းသွင်းခြင်း။
| 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 မှထုတ်လုပ်သော လက်မှတ်ရေးထိုးထားသော genesis block ၏ အသုံးဝင်ဝန်ဆောင်မှုသို့ ဖိုင်လမ်းကြောင်း။ Generated profiles များတွင်ဤကို 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
Genesis Key ရဲ့ အများသုံး သော့ပါ။
| Type: | String, public key multihash |
|---|---|
| Env: | GENESIS_PUBLIC_KEY |
[genesis]
public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"GENESIS_PUBLIC_KEY="ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"ကွန်ရက်
network.address required
သဘောတူညီချက် (sumeragi) နှင့် ဘလော့က ပေါင်းစပ်ခြင်း (block_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
Peer-to-peer address (အခြား peers တွေမြင်သလို ပြင်ပ) ။
အဆက်အသွယ် ရှိတဲ့ အဖော်တွေဆီ ဝေဖန်ခံရမှာမို့လို့ အခြား အဖော်တွေဆီကို ဝေဖန်နိုင်မှာပါ။
| 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
Synchronization message တစ်ခုတည်းမှာ ပို့နိုင်တဲ့ blocks အရေအတွက်။
| Type: | Number |
|---|---|
| Default: | 4 |
[network]
block_gossip_size = 256network.block_gossip_period_ms
နောက်ဆုံး block အတွက် peer တွေကို တောင်းဆိုချက်ကြားက အချိန်အကွာအဝေး။
မကြာခဏ ဝေဖန်ခြင်းဟာ sync လုပ်ဖို့ အချိန်ကို တိုစေပေမဲ့ ကွန်ရက်ကို လွှမ်းမိုးနိုင်တယ်။
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[network]
block_gossip_period_ms = 1_000network.transaction_gossip_size
Gossip batch စာတိုမှာ အတိုင်းအတာ အများဆုံး ငွေပေးချေမှု။
ပိုသေးတဲ့ အရွယ်အစားက synchronize လုပ်ဖို့ အချိန်ပိုကြာစေပေမဲ့ ပါကက်အဆုံးရှုံးမှု မြင့်မားရင် အသုံးဝင်ပါတယ်။
| Type: | Number |
|---|---|
| Default: | 500 |
[network]
transaction_gossip_size = 256network.transaction_gossip_period_ms
အဖော်များအကြား ငွေပေးချေမှုကို စောင့်ဆိုင်းနေစဉ် ဝေဖန်ပြောဆိုခြင်း ကာလ။
မကြာခဏ ဝေဖန်ခြင်းဟာ sync လုပ်ဖို့ အချိန်ကို တိုစေပေမဲ့ ကွန်ရက်ကို လွှမ်းမိုးနိုင်တယ်။
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[network]
transaction_gossip_period_ms = 5_000network.idle_timeout_ms
peer နဲ့ ဆက်နွယ်မှု ရပ်တန့်သွားတဲ့ အချိန်ကာလ၊ peer က အလုပ်မလုပ်ဘူးဆိုရင်။
| 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 အကန့်အသတ်မှတ်ချက်များ ကလက်ခံသော raw request body တွင် byte အများဆုံးအရေအတွက်။
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
General logging verbosity logger.filter ကို ကြည့်ပါ။
| Type: | ကြိုး၊ ဖြစ်နိုင်ခြေတန်ဖိုးများ:
သင့်အသုံးပြုမှုကိစ္စအတွက်အကောင်းဆုံးအဆင့်ကိုရွေးချယ်ပါ။ မတူညီတဲ့မှတ်တမ်းအဆင့်များကိုဘယ်လိုသုံးရမလဲဆိုတဲ့အပိုဒ်များအတွက် Stack Overflow ကိုကြည့်ပါ။ |
|---|---|
| Default: | INFO |
| Env: | LOG_LEVEL |
[logger]
level = "INFO"LOG_LEVEL=INFORuntime ကို update လုပ်ပေးရန်
ဤပမာဏသည် Torii အော်ပရေတာအဆုံးမှတ်များမှတစ်ဆင့် runtime configuration update ကို subjected ဖြစ်ပါသည်။
logger.filter
logger.level အပြင် ပြင်ဆင်ထားသော log filter များ။ ရည်မှန်းချက်တစ်ခုစီအတွက် logging verbosity ကို customization လုပ်ခွင့်ပေးတယ်။
| Type: | string သည် comma ကွဲပြားသော ညွှန်ကြားချက်တစ်ခု (သို့မဟုတ်) များစွာမှပါဝင်သည်။ ညွှန်ပြချက်တိုင်းသည်အလျောက်တူညီသော အမြင့်ဆုံး verbosity အဆင့်ရှိနိုင်ပြီး (ဥပမာ၊ရွေးချယ်ခြင်းများအတွက်) ကိုက်ညီသည့် span နှင့်ဖြစ်စဉ်များကိုခွင့်ပြုသည်။ Iroha ဆိုသည်မှာ ရှားပါးသော သီးခြားအဆင့်များ (ဥပမာ အဆင့်မြင့်အဆင့်မှာ ညွှန်ကြားချက်တွေရဲ့ သဒ္ဒါဟာ အစိတ်အပိုင်းများစွာနဲ့ ဖွဲ့စည်းထားပါတယ်။ အသေးစိတ်အချက်အလက်များအတွက် |
|---|---|
| Env: | LOG_FILTER |
[logger]
filter = "iroha_core=debug,iroha_p2p=debug"LOG_FILTER=iroha_core=debug,iroha_p2p=debuglogger.level နှင့် ကိုက်ညီမှု
logger.filter သည် logger.level နှင့် အတူတကွ အလုပ်လုပ်ပြီး တစ်ခုမှ အခြားတစ်ခုကို overwrites မလုပ်ပါ။
ဥပမာ၊ logger.level သတ်မှတ်ထားသည် INFO နှင့် logger.filter သတ်မှတ်ထားသည် iroha_core=debug, ရလာတဲ့ filter set ကတော့ info,iroha_core=debug (အဲဒါက info မော်ဂျူးအားလုံးအတွက်၊ debug အတွက် iroha_core).
Runtime ကို update လုပ်ပေးရန်
ဤပမာဏသည် Torii အော်ပရေတာအဆုံးမှတ်များမှတစ်ဆင့် runtime configuration update ကို subjected ဖြစ်ပါသည်။
logger.format
မှတ်ပုံတင်ပုံစံ။
| Type: | ကြိုး၊ ဖြစ်နိုင်ခြေတန်ဖိုးများ:
အသေးစိတ်အချက်အလက်များနှင့် နမူနာထုတ်ကုန်များကို |
|---|---|
| Default: | full |
| Env: | LOG_FORMAT |
[logger]
format = "json"LOG_FORMAT=jsonKura
Kura သည် Iroha (သိုလှောင်ရုံအတွက် ဂျပန်ဘာသာ) ၏ တည်ငြိမ်သော သိုလှောင်မော်တာဖြစ်သည်။
kura.blocks_in_memory
နောက်ဆုံး N ဘလော့က Memory ထဲမှာ သိမ်းထားမှာပါ။
ပိုမိုဟောင်းတဲ့ ဘလော့ကစ်တွေကို မှတ်ဉာဏ်ကနေ ပိတ်ပစ်ပြီး လိုအပ်ရင် ဒစ်ကစ်ကနေ ထည့်သွင်းပေးမှာပါ။
| 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
blocks တွေကို သိုလှောင်ထားတဲ့ directory [^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
Console အတွက် ဘလော့အသစ်တွေကို ပုံနှိပ်နိုင်အောင် Flag ကိုနှိပ်ပါ။
| 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
သုံးစွဲသူတစ်ဦးအတွက် အတန်းမှာ စောင့်နေတဲ့ ငွေပေးချေမှု ကိန်းဂဏန်းရဲ့ အထက်ဆုံး ကန့်သတ်ချက်
ဒီ option ကိုသုံးပြီး throttling လုပ်ပါ။
| 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 soft-fork ကိုင်တွယ်ခြင်းလမ်းကြောင်းများကိုလေ့ကျင့်ရန် Debug-only switch ကိုပိတ်ပါ။ ထိန်းချုပ်ထားသောစမ်းသပ်ချက်များအပြင်တွင်၎င်းကိုပိတ်ထားပါ; ပြင်းထန်နေသည့်ထုတ်လုပ်ရေးကွန်ရက်တစ်ခုတွင်ပြောင်းသည်ဆိုသည်မှာညီညွတ်မှုပြုမူမှုအပေါ်တူညီမှုမရှိစေနိုင်သည်။
| Type: | todo bool |
|---|---|
| Default: | false |
[sumeragi.debug]
force_soft_fork = trueဓာတ်ပုံရိုက်ကူးခြင်း
ဒီမော်ဂျူးက World State View ရဲ့ snapshots တွေကို ဖတ်ပြီး ရေးဖို့ တာဝန်ယူပါတယ်။
Snapshots များသည် World State View ၏ အစဉ်လိုက် စစ်ဆေးရေးမှတ်တိုင်ကို သိမ်းဆည်းထားသည့်ကြောင့် peer သည် Kura မှ block တစ်ခုစီကို playback မလုပ်ဘဲ restart လုပ်နိုင်သည်။ Kura သည် ရေရှည်တည်တံ့သော block သမိုင်းနှင့် replay အတွက် အမှန်တရား၏ အရင်းအမြစ်ဖြစ်နေဆဲဖြစ်သည်။ snapshots သည်အရှိန်မြှင့်လမ်းကြောင်းတစ်ခုဖြစ်သည်။ startup မှာ Iroha က snapshot metadata တွေကို configured chain နဲ့ stored blocks တွေနဲ့ စစ်ဆေးပြီး snapshot ကို load လုပ်မလား ဒါမှမဟုတ် ပြန်လည် play လုပ်မလား ဆုံးဖြတ်ပါတယ်။
Snapshots များကို ဖယ်ရှားပါ
snapshots စနစ်မှာ တစ်ခုခု မှားယွင်းနေပါက ( snapshots တွေအရ) ပလပ်စတစ် စာမျက်နှာတစ်ခုကနေ စတင်ချင်ရင် snapshot.store_dir က သတ်မှတ်ထားတဲ့ directory ကို ဖျက်ပစ်နိုင်ပါတယ်။
snapshot.mode
Snapshot စနစ် လုပ်ဆောင်မှုပုံစံ။
| Type: | ကြိုး၊ ဖြစ်နိုင်ခြေတန်ဖိုးများ:
|
|---|---|
| Default: | read_write |
| Env: | SNAPSHOT_MODE |
[snapshot]
mode = "readonly"SNAPSHOT_MODE=readonlysnapshot.create_every_ms
snapshots များရဲ့ ကြိမ်နှုန်း။
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 600_000 (10 minutes) |
[snapshot]
create_every_ms = 60_000snapshot.store_dir
snapshots တွေကို ဘယ်မှာ သိမ်းထားရမလဲဆိုတဲ့ directory ပါ။
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
ပြန်လည်ဆက်သွယ်မှုအကြား နှောင့်နှေးမှုကို မြှင့်တင်ဖို့ အသုံးပြုတဲ့ အမြင့်ဆုံး exponent 2 ပါ။
| Type: | Number |
|---|---|
| Default: | 4 |
[telemetry]
max_retry_delay_exponent = 4dev_telemetry.out_file
dev-telemetry ကိုရေးဖို့ filepath ကို
| Type: | String, file path (relative to the config file or CWD) |
|---|
[dev_telemetry]
out_file = "/path/to/file.json"