Skip to content

კონფიგურაციის პარამეტრები

ტოკი

ფესვების დონე

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-Normal peer keys. თითოეული ვალიდატორისთვის, ასევე მიუთითეთ შესაბამისი trusted_peers_pop შეტყობინება.

Type:

პარტნიორების რიგები. გამოიყენეთ PUBLIC_KEY@ADDRESS როდესაც ცნობილია P2P მისამართი; ასევე მიღებულია შიშველი 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 ბლოკის სასარგებლო დატვირთვა გენერირებული 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) და ბლოკის სინქრონიზაციის (ბლოკი_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. საშუალებას აძლევს მორგებული ჩანაწერი verbosity თითო სამიზნეზე.

Type:

სტრინგი შედგება ერთი ან რამდენიმე კომით გამოყოფილი დირექტივიდან. თითოეულ დირექტივას შეიძლება ჰქონდეს შესაბამისი მაქსიმალური ვერბოზობის დონე, რომელიც საშუალებას აძლევს (მაგალითად, შერჩევა) შესაბამის სიგრძეს და მოვლენებს. Iroha მიიჩნევს, რომ ნაკლებად ექსკლუზიური დონეები (მაგალითად trace ან info) უფრო ლექსიკურია, ვიდრე უფრო ექსკლოზიური დონეები (მაგ jaaka 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 ყველა მოდულისათვის, debug სამედიცინო iroha_core).

გაშვების დროის განახლება

აღნიშნული პარამეტრი განთავსების დროის კონფიგურაციის განახლებაზე ექვემდებარება 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 რჩება მდგრადი ბლოკის ისტორიისა და სიმართლის წყაროს განახლებისთვის; სნაპშეტები არის გაჩქარების გზა. დაწყებისას, 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.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 მაქსიმალური ექსპონენტი, რომელიც გამოიყენება გაზრდის დაგვიანებით შორის reconnections.

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

dev_telemetry.out_file

საფაილო გზა დეველოპერული ტელემეტრიის დაწერისთვის

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