Skip to content

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
toml
chain = "00000000-0000-0000-0000-000000000000"
shell
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
toml
public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"
shell
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
toml
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"
shell
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 PUBLIC_KEY@ADDRESS istifadə edin; çılpaq PUBLIC_KEY də qəbul edilir və həmyaşıd ünvanının dedikodudan aşkar edilməsinə imkan verir.

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 təsdiqçi etibarlı həmyaşıdları üçün mülkiyyət sübutunun daxil edilməsi.

Type:

public_keypop_hex sahələri olan obyektlər sırası

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"}
]'

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
toml
[genesis]
file = "./genesis.signed.nrt"
shell
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
toml
[genesis]
public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"
shell
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
toml
[network]
address = "0.0.0.0:1337"
shell
P2P_ADDRESS=0.0.0.0:1337

network.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
toml
[network]
public_address = "0.0.0.0:5000"
shell
P2P_PUBLIC_ADDRESS=0.0.0.0:5000

network.block_gossip_size

Bir sinxronlaşdırma mesajında göndərilə bilən blokların miqdarı.

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

network.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)
toml
[network]
block_gossip_period_ms = 1_000

network.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
toml
[network]
transaction_gossip_size = 256

network.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)
toml
[network]
transaction_gossip_period_ms = 5_000

network.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)
toml
[network]
idle_timeout_ms = 300_000

Torii

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
toml
[torii]
address = "0.0.0.0:8080"
shell
API_ADDRESS=0.0.0.0:8080

torii.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:

64_000_000 (64 milyon bayt)

toml
[torii]
max_content_len = 64_000_000

torii.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)
toml
[torii]
query_idle_time_ms = 10_000

torii.query_store_capacity

Canlı sorğuların sayının yuxarı həddi.

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

torii.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
toml
[torii]
query_store_capacity_per_user = 128

Ağ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:

  • TRACE: Aşağı səviyyəli əməliyyatlar da daxil olmaqla, bütün hadisələr.
  • DEBUG: Debug səviyyəsində mesajlar, diaqnozlaşdırma üçün faydalıdır.
  • INFO: Ümumi informasiya mesajları.
  • WARN: Mümkün problemləri göstərən xəbərdarlıqlar.
  • ERROR: Normal funksiyanı pozmuş, lakin davamlı fəaliyyətə imkan verən səhvlə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
toml
[logger]
level = "INFO"
shell
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, trace və ya info) daha eksklüziv səviyyələrə nisbətən daha sözlü hesab edir (məs., error və ya warn).

Yüksək səviyyədədirektivlərin sintaksisinin bir neçə hissəsi vardır:

target[span{field=value}]=level

Daha ətraflı məlumat üçün tracing-subscriber sənədliyinə baxın .

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

logger.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: INFOlogger.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:

  • full: Standart formatlaşdırıcı. Bu, baş verən hər hadisə üçün insan tərəfindən oxunula bilən, bir satırlıq qeydlər verir və hadisənin formatlaşdırılmış təmsilindən əvvəl mövcud məsafə kontekstinin göstərilir.
  • compact: Qısa xətt uzunluqları üçün optimallaşdırılmış standart formatlaşdırıcının bir variantı. Formatlaşdırılan hadisənin sahələrinə hazırkı span kontekstindən olan sahələr əlavə olunur və zaman adları göstərilmir; verbosity səviyyəsi yalnız bir xarakterə qısaldılır.
  • pretty: İnsanların oxumağı üçün optimallaşdırılmış həddindən artıq gözəl, çox xətti qeydlər buraxır. Bu əsasən yerli inkişaf və düzəldilmədə və ya əmr xətti tətbiqləri üçün istifadə edilmək üçün nəzərdə tutulmuşdur, kitabların avtomatlaşdırılmış təhlili və kompakt saxlanılması oxumaq qabiliyyətindən daha az üstünlük təşkil edən hallarda.
  • json: Yeni xətti məhdudlaşdırılmış JSON qeydlərin çıxışı. Bu, strukturlu qeydlərin analiz və izləmə vasitələri ilə JSON kimi istehlak edildiyi sistemlərlə istehsal istifadəsi üçün nəzərdə tutulmuşdur. JSON buraxılışı insan oxumaq qabiliyyəti üçün optimallaşdırılmayıb.

Daha ətraflı məlumat və nümunə çıxışı üçün tracing-subscriber sənədliyinə baxın .

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

Kura

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
toml
[kura]
blocks_in_memory = 1024
shell
KURA_BLOCKS_IN_MEMORY=1024

kura.init_mode

Kura başlanğıc rejimi

Type:

String, mümkün dəyərlər:

  • strict: bütün blokların qəti təsdiqlənməsi
  • fast: Yalnız əsas yoxlamalarla sürətli başlanğıclandırma
Default:strict
Env:KURA_INIT_MODE
toml
[kura]
init_mode = "fast"
shell
KURA_INIT_MODE=fast

kura.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
toml
[kura]
store_dir = "/path/to/storage"
shell
KURA_STORE_DIR=/path/to/storage

kura.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
toml
[kura.debug]
output_new_blocks = true
shell
KURA_DEBUG_OUTPUT_NEW_BLOCKS=true

Səyahət

queue.capacity

Sifarişdə gözləyən əməliyyatların sayının yuxarı həddi.

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

queue.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
toml
[queue]
capacity_per_user = 1_048_576

queue.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)
toml
[queue]
transaction_time_to_live_ms = 43_200_000

Sumeragi

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
toml
[sumeragi.debug]
force_soft_fork = true

Hə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:

  • read_write: Iroha snapshot.create_every_ms tərəfindən müəyyən edilmiş müddətdə sürətli görüntüləri yaradır. Başlatarkən, Iroha mövcud bir sürətli görüntü (mümkünsə) oxuyur və blokların saxlanılması ilə yenilənməsini yoxlayır .
  • readonly: read_write-ə bənzər, lakin Iroha heç bir sürətli görüntüləri yaratmır.
  • disabled: Iroha ne yeni sürətli görüntüləri yaratır, nə də başlanğıc zamanı mövcud olanları oxuyur.
Default:read_write
Env:SNAPSHOT_MODE
toml
[snapshot]
mode = "readonly"
shell
SNAPSHOT_MODE=readonly

snapshot.create_every_ms

Fotoşəkillər tezliyi.

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

snapshot.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
toml
[snapshot]
store_dir = "/path/to/storage"
shell
SNAPSHOT_STORE_DIR="/path/to/storage"

Telemetriya

Telemetriya həmkarların diaqnostikasını xarici telemetriya kollektoruna ixrac edir. Həm telemetry.nametelemetry.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.

nameurl 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
toml
[telemetry]
name = "iroha"

telemetry.url

Telemetrik kollektorun WebSocket URL

Type: String
toml
[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)
toml
[telemetry]
min_retry_period_ms = 5_000

telemetry.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
toml
[telemetry]
max_retry_delay_exponent = 4

dev_telemetry.out_file

Developer telemetry yazmaq üçün fayl yolu

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