Կազմակերպման պարամետրեր
[toc]
Հիմնական մակարդակ
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-Normal բանալիներ:
| Type: | todo private-key |
|---|---|
| Env: | PRIVATE_KEY |
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"PRIVATE_KEY="8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"trusted_peers
Վստահելի գործընկերների ցուցակ:
Համաձայնության հավաստիացնողները պետք է օգտագործեն BLS-Normal peer բանալիները: Յուրաքանչյուր հավաստիացողի համար նաեւ տրամադրեք համապատասխան trusted_peers_pop մուտք:
| Type: | Պարբերականների շղթաների շարքը: Օգտագործեք |
|---|---|
| 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
Փաստաթղթի ուղին ստորագրված genesis բլոկի օգտակար լիցքավորման համար, որը ստեղծվում է 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
Address for p2p communication for consensus (sumeragi) and block synchronization (block_sync) նպատակների համար:
| 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 օպերատորի վերջային կետերի միջոցով այս պարամետրը ենթակա է վազման ժամանակի կոնֆigurացիայի թարմացման:
logger.filter
Պարզացված արձանագրական ֆիլտրերը, բացի logger.level: Թույլ է տալիս հարմարեցնել արձանագրման բառապաշարը յուրաքանչյուր թիրախի համար.
| Type: | String- ը բաղկացած է մեկ կամ մի քանի գծով առանձին հրահանգներից: Յուրաքանչյուր հրահանգ կարող է ունենալ համապատասխան առավելագույն բառապաշարային մակարդակ, որը թույլ է տալիս (օրինակ ՝ ընտրում) համապատասխան տարածություններ եւ իրադարձություններ: 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 օպերատորի վերջային կետերի միջոցով այս պարամետրը ենթակա է վազման ժամանակի կոնֆigurացիայի թարմացման:
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
Սpecifies the 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
Պիտակ, որը թույլ է տալիս տպել նոր բլոկներ կոնսոլի համար:
| 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Նկարներ
Այս մոդուլը պատասխանատու է World State View կայքի ակնթարթային լուսանկարների ընթերցման եւ գրելու համար:
Snapshots- ը պահում է World State View- ի սերիալացված ստուգման կետը, այնպես որ զուգընկերն կարող է վերսկսել ՝ առանց Kura -ից յուրաքանչյուր բլոկի կրկնելու: Kura -ը մնում է ամուր բլոկային պատմությունը եւ կրկնելու համար ճշմարտության աղբյուրը. snapshots- ն արագացման ուղին է: Սկսելիս Iroha-ը ստուգում է շտանկարային մետադատաները կազմված շղթայի եւ պահվող բլոկների հետ, նախքան որոշելը, թե արդյոք ներբեռնել կամ վերադառնալ կրկնօրինակելու:
Սրբել նկարները
Այն դեպքում, եթե ինչ-որ բան սխալ է snapshots համակարգի հետ, եւ ցանկանում եք սկսել դատարկ էջից (հետաքրքրական լուսանկարների առումով), դուք կարող եք հեռացնել ցուցակը, որը նշված է snapshot.store_dir:
snapshot.mode
Snapshot համակարգի ռեժիմը:
| 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"Հեռաչափություն
Հեռաչափությունը արտահանում է զուգընկերների ախտորոշումը արտաքին հեռաչափության հավաքագրող: Կոնֆigurել 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"