Skip to content

Конфигурацын параметр

[toc]

Хөгжлийн түвшин

chain required

ID сүлжээ нь аливаа гүйлгээнд нэгтгэх ёстой.

Урьдчилсан гүйлгээний халдлага нь тухайн үйл явцаас өөр нэг сүлжээ рүү хүчинтэй гүйлгээг хүргэх оролдлого юм. chain нь гарын үсэг зурсан гүйлгэний ашигтай ачааллын нэг хэсэг тул нэг зангилаар гарын үсгийн гүйлгээ нь ID -ийг ашигладаг өрсөлдөгчид татгалзаж байна.

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

public_key required

Үндсэн ойлголцлын баталгаажуулагч өрсөлдөгчид нь BLS-Нормаль түлхүүр ашиглах ёстой.

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

private_key required

Төгсчийн хувийн товчоо. Энэ нь public_keyтай нийцэж байх ёстой; санал нэгдлийн баталгаажуулагч орнууд BLS-Нормалын товчоо ашиглах ёстой.

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

trusted_peers

Дашрамдсан итгэх нөхөд жагсаалт.

Үндсэн санал хураалтын баталгаажуулагчид BLS-Нормаль ижил төстэй түлхүүр ашиглаж байх ёстой. Арьсны баталгаажуулалтанд нийцсэн trusted_peers_pop нэвтрүүлгийг өгөх хэрэгтэй.

Type:

Нөхөр зөөврийн шугам. PUBLIC_KEY@ADDRESS хаягийг мэддэг бол P2P нэгийг ашигла; Bare PUBLIC_KEY нь мөн хүлээн зөвшөөрөгдсөн бөгөөд өрсөлдөгчийн хаягийг гайхамшигнаас илрүүлэх боломжийг олгоно.

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 баталгаажуулагчаар итгэж байгаа өрсөлдөгчдийн эзэмшлийн гэрчилгээ.

Type:

public_key болон pop_hex гэсэн талбайтай объектүүдийн жагсаалт

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

Эхлэл

genesis.file

Genesis block-ийн гарын үсэг зурсан хэрэглээний ачааллын файлын замыг kagami genesis sign. Жинэсэн хувилбар нь ихэвчлэн үүнийг Norito .nrt Документ.

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

Женезис цомгийн нөөцний гол.

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

Сүлжээ

network.address required

Зөвлөлдөх (sumeragi) болон блокийн синхрончлалын (block_sync) зорилгоор p2p харилцааны хаяг.

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

Хэдэн үеийнхний хоорондын хаяг (баруун, бусад өрсөлдөгчдийн харж байгаагаар).

Бусад залуучуудад гайхмаар ярих болно.

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

Нэг удаагийн синхрончлалын мэдээгээр дамжуулж болох блоктын тоо.

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

network.block_gossip_period_ms

Хамгийн сүүлд хийсэн блогын өрсөлдөгчдийн хүсэлтийн хоорондын цаг хугацааны интервал.

Урьдчилсан яриа нь холбооны цаг хугацааг багасгах боловч сүлжээ хэтрүүлэн ачаалалтай болно.

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

network.transaction_gossip_size

Хэлэлцүүлгийн хамгийн их тооны транзакциуд.

Жижиг хэмжээ нь илүү удаан хугацаагаар синхрон болгох боломжийг олгодог, гэхдээ зургийн алдагдал өндөр бол ашигтай.

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

network.transaction_gossip_period_ms

Хэдэн үеийнхний хоорондын гүйлгээг хүлээсэн хүйтэн ярианы үе.

Урьдчилсан яриа нь холбооны цаг хугацааг багасгах боловч сүлжээ хэтрүүлэн ачаалалтай болно.

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

network.idle_timeout_ms

Хөгжлийн хязгаарлалтын хугацаа:

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

Torii

torii.address required

Torii сервер нь сонсох ёстой, үйлчлүүлэгчид хүсэлтээ гаргадаг хаяг.

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 эцсийн цэгүүд хүлээн зөвшөөрөгдсөн түүхий эдийн хүсэлтийн байгууллагын хамгийн их байтын тоо.

Энэ хязгаар нь DOS халдлагын урьдчилан сэргийлэх зорилгоор ашиглагддаг.

Type:

(Байтын тоо)

Default:

64_000_000 (64 сая байт)

toml
[torii]
max_content_len = 64_000_000

torii.query_idle_time_ms

Хэрэглэгт хүрэхгүй бол дэлгүүрийн дотор үлдэх хугацаа

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

torii.query_store_capacity

Амьдралын асуултын тооны дээд хязгаар.

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

torii.query_store_capacity_per_user

Нэг хэрэглэгчийн хувьд шууд хайлтын тооны дээд хязгаар.

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

Хөдөлмөрч

logger.level

Бүхэл бүтэн бүртгэлийн үгс (шинэ үү logger.filter боловсруулсан конфигурацын талаар).

Type:

Хадгаар, боломжтой үнэ цэнэ:

  • TRACE: Бүх үйл ажиллагаа, тэр дундаа бага түвшний үйл ажиллагаа.
  • DEBUG: Диагноз шалгаруулалтад ашигтай алдааны түвшний мэдээ.
  • INFO: Ерөнхий мэдээлэл.
  • WARN: Бодит асуудлуудыг илтгэх сэрэмжлэл.
  • ERROR: Эдийн засгийн хэвийн үйл ажиллагааг хамарсан, гэхдээ үргэлжлүүлэн ажиллуулах боломжийг олгодог алдаа.

Хэрэглээний хэргийнхээ хамгийн тохиромжтой түвшинг сонгох. Бусад бүртгэлийн түвшинүүдийг хэрхэн ашиглах талаар дэлгэрэнгүй мэдээлэл авахын тулд Stack Overflow-д хараарай.

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

Үйл ажиллагааны цаг хугацааг шинэчлэл

Энэ параметр нь Torii үйлдвэрийн эцсийн цэгүүдээр дамжуулан гүйлгээний цаг үеийн конфигурацыг шинэчлэх боломжтой.

logger.filter

logger.level-ийн нэмэлт, боловсруулсан номын сангийн филтрүүд. Зорилгоор бүртгэх үгний түвшинг өөрчлөх боломжийг олгодог.

Type:

Стринг нь нэг эсвэл хэд хэдэн мөрийн дугаартай хуваагдсан захирамжаас бүрддэг. Тухайлбал, тохиромжтой хугацаа болон үйл явдлыг сонгон шалгаруулахад боломжийг олгодог. Iroha хялбар бус түвшинд тооцоолдог (гэхдээ: trace эсвэл info) нь илүү илүүдэлч түвшинээс илүү гүнзгий байх ёстой error эсвэл warn).

Дээрх дүгнэлтийн синтаксис нь өндөр түвшинд хэд хэдэн хэсгээс бүрддэг:

target[span{field=value}]=level

Дэлгэрэнгүй дэлгэрэнгүй мэдээллийг tracing-subscriber баримт бичигт үзнэ үү.

Env:LOG_FILTER
toml
[logger]
filter = "iroha_core=debug,iroha_p2p=debug"
shell
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 бөгөөд iroha_core-ийн хувьд debug болно).

Үйл ажиллагааны цаг хугацааг шинэчлэл

Энэ параметр нь Torii үйлдвэрийн эцсийн цэгүүдээр дамжуулан гүйлгээний цаг үеийн конфигурацыг шинэчлэх боломжтой.

logger.format

Номын тэмдэглэлийн хэлбэр.

Type:

Хадгаар, боломжтой үнэ цэнэ:

  • full: Үндсэн форматч. Энэ нь тухайн үйл явдлын хүн уншигч, нэг шугамаар бүртгэгддэг бөгөөд үйл явдлыг форматжуулсан төлөөлөхөөс өмнө өнөөгийн хугацааны хүрээг харуулдаг байна.
  • compact: Дээрх хэлбэлзүүлэгчний хувилбар, богино шугам урттай тохируулсан. Одоогийн өргөн хүрээний хүрээнд байгаа талбайг форматчилсан үйл явдлын талбаанд хавсралтлуулж, өргөн хүрэх нэрүүдийг үзүүлдэггүй; үгний түвшин нэг үсэгтэй товчлогдсон байна.
  • pretty: Хүний уншдагд зориулан сайжруулсан хэт сайхан, олон шугамтай тэмдэглэлийг гаргана. Энэ нь үндсэндээ орон нутгийн хөгжил, засваржуулахад эсвэл командын шугам дахь хэрэгслийн хувьд ашиглах зорилготой Тогтоолын автоматжуулсан шинжилгээ, компакт хадгаламж нь уншигчтай байдал болон дүрсэд илтгэлтэй байдгаас илүү чухал биш.
  • json: Шинэ шугамтай хязгаарлагдмал JSON номыг гаргадаг. Энэ нь зохион байгуулалттай номыг шинжилгээ, үзэх хэрэгсэлээр JSON гэж хэрэглэдэг системүүдээр үйлдвэрлэлийн хэрэглээний тулд зориулагдсан юм. JSON нөөц нь хүний уншлын хувьд сайжруулахгүй.

Дэлгэрэнгүй дэлгэрэнгүй мэдээллийг болон үлгэрийн үр дүнг үзвэл tracing-subscriber баримт бичгийг үзнэ үү.

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

Kura

Kura нь Iroha (хурбайн зориулалтаар Япон хэлээр) -ийн тасралтгүй агуулах хөдөлгүүр юм.

kura.blocks_in_memory

Хамгийн ихдээ N сүүлийн блок нь дурсамжинд хадгалагдах болно.

Эртний блокууд нь дурсамжаас хаягдаж, шаардлагатай бол дискээс ачаалал болно.

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 нэвтрүүлгийн хэлбэр

Type:

Хадгаар, боломжтой үнэ цэнэ:

  • strict: бүх блокнуудыг хатуу баталгаажуулах
  • fast: Зөвхөн үндсэн хяналт шалгалтын тусламжтайгаар хурдан эхлүүлж байна
Default:strict
Env:KURA_INIT_MODE
toml
[kura]
init_mode = "fast"
shell
KURA_INIT_MODE=fast

kura.store_dir

Блокууд хадгалагдаж байгаа [^paths] захиалгыг тодорхойлдог.

Мөн: 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

Консоль дээр шинэ блок хэвлэх боломжийг олгодог флаг.

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

Төмөр

queue.capacity

Захиргаанд хүлээх гүйлгээний тооны дээд хязгаар.

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

queue.capacity_per_user

Зөвхөн нэг хэрэглэгчийн хувьд шуурхай хүлээх гүйлгээний тооны дээд хязгаар.

Энэ хувилбарыг ашиглаж, дулаан хийлгэх.

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

queue.transaction_time_to_live_ms

Энэ цагаас хойш аливаа бүтээн байгуулалтыг зогсоож болно, хэрэв энэ нь хэсгээрээ байгаа бол.

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 мундаг шулуун хөөцөлдөх замыг хэрэгжүүлэхэд зөвхөн алдааны хөдөлгөөнтэй шилжүүлэг. Энэ нь хяналтын туршилтуудаас гадуур буулгах; үйл ажиллагаа явуулж буй үйлдвэрлэлийн сүлжээнд өөрчлөх нь эв нэгдлийн хандлагын талаар өрсөлдөгчдийн санал зөрчигдсөн болно.

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

Зураг зураг

Энэ модуль нь World State View-ийн хүйтэн зургуудыг уншиж, бичдэг.

Снэпсхоуд нь World State View-ийн цувралсан хяналтын цэг хадгалдаг бөгөөд энэ нь Kura -аас бүхий л блок дахин тоглуулахгүйгээр дундаж эхлэх боломжтой юм. Kura бол удаан хугацаагаар үргэлжилсэн блокийн түүх болон дахин тоглох үнэн үүсвэр хэвээр үлддэг; снэпсHOOT нь хурдацлах зам юм . Эхлэлтийн үед Iroha нь хяналтын снэп-шоогийн метабараа конфигуруулсан зангилга, хадгалан үлдсэн блоктай харьцуулахад хяналт тавих эсвэл дахин тоглох эсэхээ шийдэхээс өмнө шалгаж байна.

Зураг зургуудыг арилгах

Снэпсхотын систем дээр ямар нэгэн асуудал үүссэн тохиолдолд, та богино хуудастан эхлүүлэх хүсэлтэй бол snapshot.store_dir заасан захиалгыг арилгаж болно.

snapshot.mode

Snapshot системийн үйл ажиллагааны хэлбэр.

Type:

Хадгаар, боломжтой үнэ цэнэ:

  • read_write: Iroha Урьдчилсан хугацаатай хяналтын зургуудыг бий болгох: snapshot.create_every_ms. Сургуулахдаа, Iroha одоогийн хяналтын зургийг уншиж, блокийн хадгаламжтай холбоотой цаг үеийн байдлыг баталгаажуулна.
  • readonly: read_write-тай ижил төстэй боловч Iroha нь ямар нэгэн хүйтэн зургийг үүсгэхгүй байна.
  • disabled: Iroha нь нээлт эхлэхэд шинэ хяналтын зургуудыг бий болгодоггүй, одоогийн зургийг уншдаггүй.
Default:read_write
Env:SNAPSHOT_MODE
toml
[snapshot]
mode = "readonly"
shell
SNAPSHOT_MODE=readonly

snapshot.create_every_ms

Сэтгэгдлийн давтамж.

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

snapshot.store_dir

Зураг зургийг хаана хадгалах вэ?

Түүнчлэн үзнэ үү: 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"

Телеметри

Telemetry нь гадаад телеметрийн цуглуулгад өрсөлдөгчдийн диагностиг экспорторуулдаг. telemetry.name болон telemetry.url аль алиныг нь төсөөлөгч нь цуглуулга руу мэдээлэх ёстой үед тохируулах; телеметрийг ашиглахгүй тохиолдолд хэсгийг орхисугай.

name болон url нь хамарсан байх ёстой.

Бүх telemetry хэсэг нь сонголттой.

telemetry.name

Тэлеметрийн дагуу үзүүлэх түймрийн нэр.

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

telemetry.url

Телеметрийн цуглуулгачийн WebSocket URL .

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

telemetry.min_retry_period_ms

Цаг хугацааны хамгийн бага хугацаа нь сэргээлтийн өмнө хүлээх хугацаа юм.

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

telemetry.max_retry_delay_exponent

Цаашид холбогдлын хоорондын хохирлыг нэмэгдүүлэхэд ашигладаг 2-ийн дээд үзүүлэлт.

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

dev_telemetry.out_file

De-Telemetry бичих файлын замыг

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