Konfiqurasiya parametrləri
[toc]
Kök səviyyəsi
chain required
Hər bir əməliyyatda daxil edilməli olan ID zəncir. Yeniləmə hücumlarının qarşısını almaq üçün istifadə olunur.
Yeniləmə hücumu, etibarlı bir əməliyyatı nəzərdə tutulduğu şəbəkədən fərqli bir şəbəkəyə təqdim etmək cəhdidir. chain imzalanan əməliyyat pay yükünün bir hissəsi olduğu üçün, bir zəncir üçün imzalanmış bir əməliyyat digər zəncirdən istifadə edən həmyaşıllılar tərəfindən rədd edilir ID.
| Type: | String |
|---|---|
| Env: | CHAIN |
chain = "00000000-0000-0000-0000-000000000000"CHAIN="00000000-0000-0000-0000-000000000000"public_key required
Konsensus təsdiqçisi həmkarları BLS-Normal açarlarından istifadə etməlidirlər.
| Type: | String, public key multihash |
|---|---|
| Env: | PUBLIC_KEY |
public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"PUBLIC_KEY="ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"private_key required
Tərəfdaşın şəxsi açarı. public_key ilə uyğun olmalıdır; konsensus təsdiqçisi tərəfdaşlar BLS-Normal açarlardan istifadə etməlidirlər.
| Type: | todo private-key |
|---|---|
| Env: | PRIVATE_KEY |
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"PRIVATE_KEY="8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"trusted_peers
Əvvəlcədən müəyyən edilmiş etibarlı həmyaşıdların siyahısı.
Konsensus təsdiqləyiciləri BLS-Normal peer açarlarından istifadə etməlidirlər. Hər bir təsdiqləyici üçün uyğun bir trusted_peers_pop girişini də təmin edin.
| Type: | P2P ünvanı məlum olduqda |
|---|---|
| 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 təsdiqçi etibarlı həmyaşıdları üçün mülkiyyət sübutunun daxil edilməsi.
| 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"}
]'Müqəddəs Kitab
genesis.file
kagami genesis sign tərəfindən istehsal olunan imzalanmış genesis blokunun pay yükünə fayl yolu. Yaradılmış profillər ümumiyyətlə bunu Norito .nrt faylı olaraq yazır.
| 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 açar cütünün ictimai açarı.
| Type: | String, public key multihash |
|---|---|
| Env: | GENESIS_PUBLIC_KEY |
[genesis]
public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"GENESIS_PUBLIC_KEY="ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"şəbəkə
network.address required
Konsensus (sumeragi) və blok sinxronizasiyası (block_sync) üçün p2p ünvanı.
| 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 ünvanı (xarici, digər həmyaşıdların gördüyü kimi).
Əlaqədar həmyaşıdlara dedikodu ediləcək ki, onlar da digər həmyaşıdalara dedikodu edə bilsinlər.
| 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
Bir sinxronlaşdırma mesajında göndərilə bilən blokların miqdarı.
| Type: | Number |
|---|---|
| Default: | 4 |
[network]
block_gossip_size = 256network.block_gossip_period_ms
Ən son blok üçün həmyaşıdlara müraciətlər arasındakı vaxt aralığı.
Daha tez-tez dedikodu etmək sinxronlaşdırma müddətini qısalaşdırır, lakin şəbəkəni həddindən artıq yükləyə bilər.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[network]
block_gossip_period_ms = 1_000network.transaction_gossip_size
Xüsusilə dəhşətli mesajda ən çox əməliyyat sayı.
Kiçik ölçüsü sinxronizasiya üçün daha uzun müddət aparır, lakin yüksək paket itkisi varsa faydalıdır.
| Type: | Number |
|---|---|
| Default: | 500 |
[network]
transaction_gossip_size = 256network.transaction_gossip_period_ms
Tərəfdaşlar arasındakı bir əməliyyatı gözləyən dedikodu zamanı.
Daha tez-tez dedikodu etmək sinxronlaşdırma müddətini qısalaşdırır, lakin şəbəkəni həddindən artıq yükləyə bilər.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[network]
transaction_gossip_period_ms = 5_000network.idle_timeout_ms
Tərəfdaşın fəaliyyətsiz olduğu təqdirdə həmyaşıdla əlaqənin kəsildiyi müddət müddəti.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 300_000 (5 minutes) |
[network]
idle_timeout_ms = 300_000Torii
torii.address required
Torii serverinin dinləməli olduğu və müştərilərin müraciət etdikləri ünvan.
| 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 son nöqtələrinin tərəfindən qəbul edilən xam tələb orqanında maksimum bait sayı.
Bu məhdudluq DOS hücumlarının qarşısını almaq üçün istifadə olunur.
| Type: | Sayı (baytlar) |
|---|---|
| Default: |
|
[torii]
max_content_len = 64_000_000torii.query_idle_time_ms
Bir sorğunun əldə edilmədiyi təqdirdə mağazada qala biləcəyi müddət.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[torii]
query_idle_time_ms = 10_000torii.query_store_capacity
Canlı sorğuların sayının yuxarı həddi.
| Type: | Number |
|---|---|
| Default: | 128 |
[torii]
query_store_capacity = 128torii.query_store_capacity_per_user
Yalnız bir istifadəçi üçün canlı sorğuların sayının yuxarı həddi.
| Type: | Number |
|---|---|
| Default: | 128 |
[torii]
query_store_capacity_per_user = 128Ağacçı
logger.level
Ümumi qeydə alınma sözlüliyi (rafina konfiqurasiya üçün logger.filter baxın).
| Type: | String, mümkün dəyərlər:
İstifadə halınıza ən uyğun səviyyəni seçin. Stack Overflow səhifəsinə baxın və müxtəlif log səviyyələrindən necə istifadə ediləcəyi barədə əlavə məlumat əldə edin. |
|---|---|
| Default: | INFO |
| Env: | LOG_LEVEL |
[logger]
level = "INFO"LOG_LEVEL=INFOİndirmə vaxtının yenilənməsi
Bu parametr Torii operatorun son nöqtələri vasitəsilə işləmə vaxtının konfigurasiyasının yenilənməsinə məruz qalır.
logger.filter
logger.level əlavə edilən təmizlənmiş log filtrləri. Hədəf üçün qeyd verbositetini özelleştirməyə imkan verir.
| Type: | String, bir və ya daha çox komada ayrılmış direktivdən ibarətdir. Hər bir direktivə uyğun maksimum verbosity səviyyəsi ola bilər ki, imkan verir (məsələn, seçir) aralıqlar və hadisələr uyğun. Iroha daha az eksklüziv səviyyələri (məsələn, Yüksək səviyyədədirektivlərin sintaksisinin bir neçə hissəsi vardır: Daha ətraflı məlumat üçün |
|---|---|
| Env: | LOG_FILTER |
[logger]
filter = "iroha_core=debug,iroha_p2p=debug"LOG_FILTER=iroha_core=debug,iroha_p2p=debuglogger.level ilə uyğunluq
logger.filter logger.level ilə birlikdə işləyir və heç biri digərini ört-basdır etmir.
Məsələn, əgər: logger.level təyin edilmişdir: INFO və logger.filter təyin edilmişdir: iroha_core=debug, Nəticədə filtr dəstləri info,iroha_core=debug (yəni, info bütün modullar üçün, debug üçün iroha_core).
İndirmə vaxtının yenilənməsi
Bu parametr Torii operatorun son nöqtələri vasitəsilə işləmə vaxtının konfigurasiyasının yenilənməsinə məruz qalır.
logger.format
Qeydiyyat formatı.
| Type: | String, mümkün dəyərlər:
Daha ətraflı məlumat və nümunə çıxışı üçün |
|---|---|
| Default: | full |
| Env: | LOG_FORMAT |
[logger]
format = "json"LOG_FORMAT=jsonKura
Kura - Iroha davamlı saxlama motoru (anbar üçün yapon dilində)
kura.blocks_in_memory
Ən çox N son bloklar yaddaşda saxlanılacaq.
Köhnə bloklar yaddaşdan düşəcək və lazım olduqda diskdən yüklənəcək.
| Type: | Number |
|---|---|
| Default: | 1024 |
| Env: | KURA_BLOCKS_IN_MEMORY |
[kura]
blocks_in_memory = 1024KURA_BLOCKS_IN_MEMORY=1024kura.init_mode
Kura başlanğıc rejimi
| Type: | String, mümkün dəyərlər:
|
|---|---|
| Default: | strict |
| Env: | KURA_INIT_MODE |
[kura]
init_mode = "fast"KURA_INIT_MODE=fastkura.store_dir
Bloqların saxlandığı dizaynı[^paths] təyin edir.
Həmçinin baxın: 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 üçün yeni blokların çap edilməsini təmin etmək üçün bayraq.
| Type: | todo bool |
|---|---|
| Default: | false |
| Env: | KURA_DEBUG_OUTPUT_NEW_BLOCKS |
[kura.debug]
output_new_blocks = trueKURA_DEBUG_OUTPUT_NEW_BLOCKS=trueSəyahət
queue.capacity
Sifarişdə gözləyən əməliyyatların sayının yuxarı həddi.
| Type: | Number |
|---|---|
| Default: | 65_536 |
[queue]
capacity = 1_048_576queue.capacity_per_user
Bir istifadəçi üçün növbədə gözləyən əməliyyatların sayının yuxarı həddi.
Bu variantdan istifadə edərək dondurma tətbiq edin.
| Type: | Number |
|---|---|
| Default: | 65_536 |
[queue]
capacity_per_user = 1_048_576queue.transaction_time_to_live_ms
Bu müddətdən sonra əməliyyat hələ də növbədədirsə ləğv ediləcəkdir.
| 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 yumşaq çatal idarəetmə yollarını həyata keçirmək üçün yalnız debug açar. Bunu nəzarət olunan testlərdən kənarda saxlayın; işləyən bir istehsal şəbəkəsində dəyişdirmək həmyaşıdların konsensus davranışı haqqında fikir ayrılığına səbəb ola bilər.
| Type: | todo bool |
|---|---|
| Default: | false |
[sumeragi.debug]
force_soft_fork = trueHələlik şəkil
Bu modul World State View şəklini oxumaq və ya yazmaq üçün məsuliyyət daşıyır.
Snapshots World State View-in seriyalı bir yoxlama nöqtəsini saxlayır, belə ki, bir həmyaşıd Kura -dan hər blokun yenidən oynatılmadan yenidən başlaya bilər. Kura davamlı blok tarixi və yenidən oynamaq üçün həqiqət mənbəyi olaraq qalır; snapshots sürətləndirmə yoludur. Başlanğıc zamanı Iroha bir sürətli görüntüyü yükləmək və ya yenidən oynamaq üçün geri qayıtmaq qərarına gəlmədən əvvəl qurulmuş zəncirlə və saxlanan bloklarla sürətli metadata baxır.
Şəkilləri silin
Əgər sürətli görüntülər sistemində bir şey səhv olarsa və boş səhifədən başlamaq istəyirsinizsə (sürətli görüntülər baxımından), snapshot.store_dir tərəfindən müəyyən edilmiş dizaynı silə bilərsiniz.
snapshot.mode
Snapshot sisteminin işlədiyi rejim.
| Type: | String, mümkün dəyərlər:
|
|---|---|
| Default: | read_write |
| Env: | SNAPSHOT_MODE |
[snapshot]
mode = "readonly"SNAPSHOT_MODE=readonlysnapshot.create_every_ms
Fotoşəkillər tezliyi.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 600_000 (10 minutes) |
[snapshot]
create_every_ms = 60_000snapshot.store_dir
Fotoşəkillərin saxlanılması üçün dizayn.
Bax: 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"Telemetriya
Telemetriya həmkarların diaqnostikasını xarici telemetriya kollektoruna ixrac edir. Həm telemetry.name və telemetry.url həmkarların bir kollektora hesabat vermələri lazım olduğu zaman təyin edin; telemetriya istifadə edilmədiyi zaman bölməni buraxın.
name və url cütləşdirilməlidir.
Bütün telemetry bölmələri fakultativdir.
telemetry.name
Telemetriyada göstərilməlidir ki, nodun adı.
| Type: | String |
|---|
[telemetry]
name = "iroha"telemetry.url
Telemetrik kollektorun WebSocket URL
| Type: | String |
|---|
[telemetry]
url = "ws://telemetry.example.com/submit"telemetry.min_retry_period_ms
Yenidən bağlanmadan əvvəl gözləmək üçün minimum vaxt.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[telemetry]
min_retry_period_ms = 5_000telemetry.max_retry_delay_exponent
Yenidən əlaqələr arasındakı gecikmələrin artırılması üçün istifadə olunan 2 maksimum eksponenti.
| Type: | Number |
|---|---|
| Default: | 4 |
[telemetry]
max_retry_delay_exponent = 4dev_telemetry.out_file
Developer telemetry yazmaq üçün fayl yolu
| Type: | String, file path (relative to the config file or CWD) |
|---|
[dev_telemetry]
out_file = "/path/to/file.json"