Skip to content

Konfiguratsiya parametrlari ​

O'simlik darajasi ​

chain required ​

ID zanjiri har bir muomalaga kiritilishi kerak. Takrorlash hujumlarini oldini olish uchun ishlatiladi.

Takrorlash hujumlari - bu haqiqiy operatsiyani o'ziga mo'ljallanganidan boshqacha tarmoqga taqdim etish urinishidir. chain imzolangan operatsiya faydali yukning bir qismi bo'lgani uchun, bitta zanjir uchun imzolangan tranzaksiya boshqa zanjirdan foydalanuvchi tengdoshlar tomonidan rad etiladi ID

Type: String
Env:CHAIN
toml
chain = "00000000-0000-0000-0000-000000000000"
shell
CHAIN="00000000-0000-0000-0000-000000000000"

public_key required ​

O'z tengdoshlari uchun ochiq kalit. Konsensni tasdiqlovchi tengdoshlar BLS-Normal kalitlaridan foydalanishlari kerak.

Type: String, public key multihash
Env:PUBLIC_KEY
toml
public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"
shell
PUBLIC_KEY="ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"

private_key required ​

Tengdoshning xususiy kaliti. U public_key bilan mos bo'lishi kerak; konsensusni tasdiqlovchi tengdoshlar BLS-Normal kalitlaridan foydalanishlari kerak.

Type:todo private-key
Env:PRIVATE_KEY
toml
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"
shell
PRIVATE_KEY="8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"

trusted_peers ​

Ishonchli tengdoshlar ro'yxati.

Konsensus tasdiqlovchilaridan BLS-Normal peer kalitlari foydalanilishi kerak. Har bir tasdiqlovchi uchun ham moslashtirilgan trusted_peers_pop yozuvini taqdim eting.

Type:

Tengdoshlar qatoridan. P2P manzili ma'lum bo'lganda PUBLIC_KEY@ADDRESS dan foydalaning; yalang'och PUBLIC_KEY ham qabul qilinadi va tengdoshlar manzili g'iybatlardan aniqlanishiga imkon beradi.

Env:TRUSTED_PEERS
toml
trusted_peers = [
    "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2@127.0.0.1:1337",
    "ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77@127.0.0.1:1338",
]
shell
# as JSON
TRUSTED_PEERS='[
  "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2@127.0.0.1:1337",
  "ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77@127.0.0.1:1338"
]'

trusted_peers_pop ​

BLS validatorning ishonchli tengdoshlari uchun egalik to'g'risidagi dalillar kiritiladi.

Type:

public_key va pop_hex maydonlari bo'lgan ob'ektlar qatorlari

Env:TRUSTED_PEERS_POP
toml
trusted_peers_pop = [
  { public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2", pop_hex = "8515da750f81182aaba5c22fc9f03a01e81ed85e4495a2ca6b29a71c0c8549537e31e79cddf6ff285b9e22d0d9dc17ce0f46e7d0cf78b2ef9feab50c849a1ea8e1e4f07e966f6113faa8a999317545d9f111b8e08a7273913710b43a20b19c08" },
  { public_key = "ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77", pop_hex = "a14eb180f0d78c55d2c034e91ccf691378e9c3ceed8e0b81d3e4b7c215c0dbb633bb9f1c5063911c31af4610016c164015f0f93db3c7df6a2ad0c39338fe7695b976a59fd13797615f229fbd77276a8bb2842e4e44fadcafdb7b37f4a143b913" },
]
shell
# as JSON
TRUSTED_PEERS_POP='[
  {"public_key":"ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2","pop_hex":"0x8515da750f81182aaba5c22fc9f03a01e81ed85e4495a2ca6b29a71c0c8549537e31e79cddf6ff285b9e22d0d9dc17ce0f46e7d0cf78b2ef9feab50c849a1ea8e1e4f07e966f6113faa8a999317545d9f111b8e08a7273913710b43a20b19c08"},
  {"public_key":"ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77","pop_hex":"0xa14eb180f0d78c55d2c034e91ccf691378e9c3ceed8e0b81d3e4b7c215c0dbb633bb9f1c5063911c31af4610016c164015f0f93db3c7df6a2ad0c39338fe7695b976a59fd13797615f229fbd77276a8bb2842e4e44fadcafdb7b37f4a143b913"}
]'

Ibtido ​

genesis.file ​

kagami genesis sign tomonidan yaratilgan imzolangan genesis blokida fayl yo'li. Yaratilgan profillar odatda buni Norito .nrt fayli sifatida yozadi.

Type: String, file path (relative to the config file or CWD)
Env:GENESIS
toml
[genesis]
file = "./genesis.signed.nrt"
shell
GENESIS="./genesis.signed.nrt"

genesis.public_key required ​

Genesis kalitining umumiy kaliti.

Type: String, public key multihash
Env:GENESIS_PUBLIC_KEY
toml
[genesis]
public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"
shell
GENESIS_PUBLIC_KEY="ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"

Tarmoq ​

network.address required ​

Konsensus (sumeragi) va blok sinxronizatsiyasi (blok_sinx) uchun p2p aloqa manzili.

Type: String, socket address (host/IPv4/IPv6 + port)
Env:P2P_ADDRESS
toml
[network]
address = "0.0.0.0:1337"
shell
P2P_ADDRESS=0.0.0.0:1337

network.public_address required ​

Tengdoshlardan to'g'ri manzil (tashkil, boshqa tengdoshlar ko'rganidek).

Boshqa tengdoshlarga gapirishlari uchun o'zaro bog'liq tengdoshlariga g'iybat qilishadi.

Type: String, socket address (host/IPv4/IPv6 + port)
Env:P2P_PUBLIC_ADDRESS
toml
[network]
public_address = "0.0.0.0:5000"
shell
P2P_PUBLIC_ADDRESS=0.0.0.0:5000

network.block_gossip_size ​

Bir xil sinxronlashtirish xabarida jo'natilishi mumkin bo'lgan bloklar soni.

Type: Number
Default:4
toml
[network]
block_gossip_size = 256

network.block_gossip_period_ms ​

Eng so'nggi blok uchun tengdoshlarga murojaatlar orasidagi vaqt oralig'i.

Ko'proq tez-tez g'iybat qilish sinxronlashtirish vaqtini qisqartiradi, ammo tarmog'i ortiqcha bo'ladi.

Type: Number, duration in milliseconds
Default:10_000 (10 seconds)
toml
[network]
block_gossip_period_ms = 1_000

network.transaction_gossip_size ​

G'iybatlar to'plamidagi bitimlarning maksimal soni.

Kichikroq o'lcham sinxronlashtirish uchun ko'proq vaqtga olib keladi, ammo agar sizda katta paket yo'qotish bo'lsa, bu foydali.

Type: Number
Default:500
toml
[network]
transaction_gossip_size = 256

network.transaction_gossip_period_ms ​

Tengdoshlar o'rtasidagi bitimni kutish paytida g'iybat qilish davri.

Ko'proq tez-tez g'iybat qilish sinxronlashtirish vaqtini qisqartiradi, ammo tarmog'i ortiqcha bo'ladi.

Type: Number, duration in milliseconds
Default:1_000 (1 second)
toml
[network]
transaction_gossip_period_ms = 5_000

network.idle_timeout_ms ​

Agar tengdosh ishlamasa, tengdosh bilan bog'lanish tugatilgan vaqt davomiyligi.

Type: Number, duration in milliseconds
Default:300_000 (5 minutes)
toml
[network]
idle_timeout_ms = 300_000

Torii ​

torii.address required ​

Torii serverining tinglashi kerak bo'lgan va mijozlar o'z talablarini amalga oshiradigan manzili.

Type: String, socket address (host/IPv4/IPv6 + port)
Env:API_ADDRESS
toml
[torii]
address = "0.0.0.0:8080"
shell
API_ADDRESS=0.0.0.0:8080

torii.max_content_len ​

Torii oxirgi nuqtalari tomonidan qabul qilingan xom talab organidagi maksimal baytlar soni.

Ushbu limit DOS hujumlarini oldini olish uchun ishlatiladi.

Type:

(baytlar soni)

Default:

64_000_000 (64 million byt)

toml
[torii]
max_content_len = 64_000_000

torii.query_idle_time_ms ​

Agar xaridorga murojaat qilinmasa, so'rovlar do'konda qolishi mumkin bo'lgan vaqt.

Type: Number, duration in milliseconds
Default:10_000 (10 seconds)
toml
[torii]
query_idle_time_ms = 10_000

torii.query_store_capacity ​

To'g'ridan-to'g'ri so'rovlar soni yuqori chegarasi

Type: Number
Default:128
toml
[torii]
query_store_capacity = 128

torii.query_store_capacity_per_user ​

Bir foydalanuvchi uchun jonli so'rovlar sonining yuqori chegarasi.

Type: Number
Default:128
toml
[torii]
query_store_capacity_per_user = 128

Oʻgʻirzor ​

logger.level ​

Umumiy logging verbosity logger.filter ko'rib chiqing.

Type:

Urug'lar, mumkin bo'lgan qiymat:

  • TRACE: Barcha tadbirlar, shu jumladan past darajadagi operatsiyalar.
  • DEBUG: Xavfsizlik darajasidagi xabarlar, diagnostika uchun foydali.
  • INFO: Umumiy axborot xabarlari.
  • WARN: Muvofiq muammolarni ko'rsatadigan ogohlantirishlar.
  • ERROR: Oddiy funktsiyani buzadigan, ammo ishlashni davom ettirish imkonini beradigan xatolar.

Foydalanish holatingizga eng mos bo'lgan darajani tanlang. Stack Overflow-ni ko'rib chiqing.

Default:INFO
Env:LOG_LEVEL
toml
[logger]
level = "INFO"
shell
LOG_LEVEL=INFO

Ish vaqti yangilanishi

Ushbu parametr Torii operator oxirgi nuqtalari orqali ishga tushirish vaqti konfiguratsiyasi yangilanishiga to'g'ri keladi.

logger.filter ​

logger.level ga qo'shimcha ravishda sozlangan log filtrlari. Har bir maqsad bo'yicha yozish verbositetini moslash imkonini beradi.

Type:

Tirik, bir yoki bir nechta komada ajratilgan direktivdan iborat bo'lib turadi. Har bir direktivda o'xshash maksimal so'zlash darajasi bo'lishi mumkin, bu esa mos keladigan muddatlar va hodisalarga imkon beradi (masalan, tanlaydi). Iroha kamroq eksklyuziv darajalarni (masalan, trace yoki info) yuqori eksklyufik darajadan ko'ra ko'proq gapiradigan darajada deb hisoblaydi (masalan error yoki warn).

Yuqori darajadagi yo'nalishlarning sintaxasi bir nechta qismdan iborat:

target[span{field=value}]=level

Ko'proq ma'lumot olish uchun tracing-subscriber hujjatlarini ko'ring.

Env:LOG_FILTER
toml
[logger]
filter = "iroha_core=debug,iroha_p2p=debug"
shell
LOG_FILTER=iroha_core=debug,iroha_p2p=debug

logger.level bilan mos keladi.

logger.filter bilan birga ishlaydi logger.level va hech biri boshqa biridan ustun qo'ymadi.

Masalan, agar: logger.level to ' ldirilgan INFO va logger.filter to ' ldirilgan iroha_core=debug, natijada filtr to'plami bo'ladi: info,iroha_core=debug (ya'ni info barcha modullar uchun; debug uchun iroha_core).

Ish vaqti yangilanishi

Ushbu parametr Torii operator oxirgi nuqtalari orqali ishga tushirish vaqti konfiguratsiyasi yangilanishiga to'g'ri keladi.

logger.format ​

Yozuvlar shakli.

Type:

Urug'lar, mumkin bo'lgan qiymat:

  • full: Andoza formatlovchi. Bu har bir hodisa uchun inson o'qishi mumkin bo'lgan, bitta satrli loglarni chiqaradi va hodisaning formatlangan ifodaidan oldin joriy uzluk kontekst ko'rsatiladi.
  • compact: Qisqa satr uzunliklari uchun optimallashtirilgan andoza formatlash vositasining variantidir. Hozirgi vaqt kontekstidagi maydonlar formatlangan hodisaning maydonlariga ilova qilinadi va vaqt nomlari ko'rsatilmaydi; aytilish darajasi bitta belgiga qisqartiriladi.
  • pretty: Inson o'qishi uchun optimallashtirilgan juda chiroyli, ko'p satrli jurnallarni chiqaradi. Bu asosan mahalliy rivojlanish va xatoliklarni aniqlashda yoki buyruq satridagi dasturlarda ishlatilishga mo'ljallangan, ro'yxatlarning avtomatlashtirilgan tahlili va kompakt saqlanishi o'qishchanlik va vizual jozibadorlikdan kamroq ustuvor ahamiyatga ega bo'lgan hollarda.
  • json: Yangi yo'nalishdagi cheklangan JSON loglarni ishlab chiqaradi. Bu tizimlar bilan ishlab chiqarish uchun mo'ljallangan bo'lib, u erda tuzilgan loglar tahlil va ko'rish vositalari orqali JSON sifatida iste'mol qilinadi. JSON natijasi insonning o'qishi uchun optimallashtirilmagan.

Ko'proq ma'lumot va namuna mahsulotlari uchun tracing-subscriber hujjatlarini ko'rish .

Default:full
Env:LOG_FORMAT
toml
[logger]
format = "json"
shell
LOG_FORMAT=json

Kura ​

Kura - Iroha (go'ja uchun yaponcha) doimiy saqlash dvigati.

kura.blocks_in_memory ​

Eng ko'p N so'nggi bloklar xotiraga saqlanadi.

Agar kerak bo'lsa, eski bloklar xotirasidan tushirib, diskdan yuklanadi.

Type: Number
Default:1024
Env:KURA_BLOCKS_IN_MEMORY
toml
[kura]
blocks_in_memory = 1024
shell
KURA_BLOCKS_IN_MEMORY=1024

kura.init_mode ​

Kura ishga tushirish usuli

Type:

Urug'lar, mumkin bo'lgan qiymat:

  • strict: barcha bloklarning qat'iy tasdiqlanganligi
  • fast: Faqatgina bazaviy tekshiruvlar bilan tezkor boshlov berish
Default:strict
Env:KURA_INIT_MODE
toml
[kura]
init_mode = "fast"
shell
KURA_INIT_MODE=fast

kura.store_dir ​

Bloklar saqlanadigan direktoriyani [^paths] belgilaydi.

Shuningdek, ko'ring: snapshot.store_dir.

Type: String, file path (relative to the config file or CWD)
Default:./storage
Env:KURA_STORE_DIR
toml
[kura]
store_dir = "/path/to/storage"
shell
KURA_STORE_DIR=/path/to/storage

kura.debug.output_new_blocks debug ​

Konsol uchun yangi bloklarni bosib chiqarish imkonini beruvchi bayroq.

Type:todo bool
Default:false
Env:KURA_DEBUG_OUTPUT_NEW_BLOCKS
toml
[kura.debug]
output_new_blocks = true
shell
KURA_DEBUG_OUTPUT_NEW_BLOCKS=true

Chegaralar ​

queue.capacity ​

navbatda turgan bitimlar soni yuqori chegarasi.

Type: Number
Default:65_536
toml
[queue]
capacity = 1_048_576

queue.capacity_per_user ​

Bir foydalanuvchi uchun navbatda turgan tranzaksiyalar soni yuqori chegarasi.

Ushbu variantdan foydalanib, to'xtatish usulini qo'llash.

Type: Number
Default:65_536
toml
[queue]
capacity_per_user = 1_048_576

queue.transaction_time_to_live_ms ​

Ushbu vaqtdan keyin agar u hali ham navbatda bo'lsa, bitim bekor qilinadi.

Type: Number, duration in milliseconds
Default:86_400_000 (24 hours)
toml
[queue]
transaction_time_to_live_ms = 43_200_000

Sumeragi ​

sumeragi.debug.force_soft_fork debug ​

Sumeragi yumshoq furqonlarni boshqarish yo'nalishlarini amalga oshirish uchun faqat debug o'chirgich. Uni nazorat qilinadigan sinovlardan tashqarida o'chirib qo'ying; uni ishlayotgan ishlab chiqarish tarmog'ida o'zgartirish tengdoshlarning konsensus xatti-harakati haqida kelishmovchiliklarga olib kelishi mumkin.

Type:todo bool
Default:false
toml
[sumeragi.debug]
force_soft_fork = true

Oʻrinli fotosurat ​

Ushbu modul World State View fotosuratlarini o'qish va yozish uchun mas'ul.

Snapshots World State View-ning seriyalangan nazorat punktini saqlaydi, shunda tengdosh Kura dan har bir blokni takrorlamasdan qayta ishga tushira oladi. Kura davomli blok tarixini va takrorlash uchun haqiqat manbai bo'lib qoladi; snapshots tezlashtirish yo'lidir. Boshlang'ichda Iroha fotosurat metadatalarini konfiguratsiya qilingan zanjir va saqlangan bloklar bilan tekshiradi, keyin fotosuratni yuklab olish yoki takrorlash haqida qaror qabul qiladi.

Rasmlarni oʻchirish

Agar fotosuratlar tizimida biror narsa noto'g'ri bo'lsa va siz bo'sh sahifadan boshlashni xohlasangiz (snapshotlar bo'yicha), snapshot.store_dir tomonidan aniqlangan direktoriyani olib tashlashingiz mumkin.

snapshot.mode ​

Snapshot tizimi faoliyat ko'rsatadigan rejim.

Type:

Urug'lar, mumkin bo'lgan qiymat:

  • read_write: Iroha ko'rsatilgan muddatga mos o'yinlarni yaratadi: snapshot.create_every_ms. Boshlang'ichda Iroha mavjud fotosuratni o'qiydi (agar mavjud bo'lsa) va bloklar saqlanishi bilan to'g'riligini tasdiqlaydi.
  • readonly: read_write ga o'xshash, lekin Iroha hech qanday fotosurat yaratmaydi.
  • disabled: Iroha yangi fotosuratlarni yaratmaydi va ishga tushirilganda mavjud fotosuratlarni o'qib chiqarmaydi.
Default:read_write
Env:SNAPSHOT_MODE
toml
[snapshot]
mode = "readonly"
shell
SNAPSHOT_MODE=readonly

snapshot.create_every_ms ​

O'yinlarning tez-tezligi.

Type: Number, duration in milliseconds
Default:600_000 (10 minutes)
toml
[snapshot]
create_every_ms = 60_000

snapshot.store_dir ​

O'yinlarni saqlash uchun direktoriya.

Shuningdek, qarang: kura.store_dir

Type: String, file path (relative to the config file or CWD)
Default:./storage/snapshot
Env:SNAPSHOT_STORE_DIR
toml
[snapshot]
store_dir = "/path/to/storage"
shell
SNAPSHOT_STORE_DIR="/path/to/storage"

Telemetriya ​

Telemetriya tengdoshlari tashxisini tashqi telemetriya kollektoridan eksport qiladi. Tengdoshlari to'plamchiga xabar berishi kerak bo'lganda telemetry.name va telemetry.url ni o'rnatish; telemetriyadan foydalanilmaganida, bu bo'limni qoldiring.

name va url juftlanishi kerak.

telemetry bo'limining barchasi fakultativ.

telemetry.name ​

Telemetriyada nodning nomi ko'rsatilishi kerak.

Type: String
toml
[telemetry]
name = "iroha"

telemetry.url ​

Telemetriya yig'uvchining WebSocket URL raqami.

Type: String
toml
[telemetry]
url = "ws://telemetry.example.com/submit"

telemetry.min_retry_period_ms ​

Tekir bog'lanishdan oldin kutishning eng kam muddati.

Type: Number, duration in milliseconds
Default:1_000 (1 second)
toml
[telemetry]
min_retry_period_ms = 5_000

telemetry.max_retry_delay_exponent ​

Qaytadan bog'lanishlar o'rtasidagi kechikishlarni ko'paytirish uchun ishlatiladigan 2 ning maksimal ko'rsatkichi.

Type: Number
Default:4
toml
[telemetry]
max_retry_delay_exponent = 4

dev_telemetry.out_file ​

Dev-telemetriyani yozish uchun fayl yo'li

Type: String, file path (relative to the config file or CWD)
toml
[dev_telemetry]
out_file = "/path/to/file.json"