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"