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-נורמליות מפתחות שווים. עבור כל מבדיקת, גם לספק כתיבה מתאימה 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 ​

נתיב הקובץ למשאב שימושי של בלוק ההתחלה חתום שנוצר על ידי 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 ​

כתובת לתקשורת p2p לצורך הסכמה (sumeragi) וסינכרון בלוק (בלוק_sync).

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 עבור כל המודולים, 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 כך ששותף יכול להתחיל מחדש מבלי לנגן מחדש כל בלוק מ 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 שמשמש להגדיל את האיחור בין חיבורים מחדש.

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

dev_telemetry.out_file ​

דרך הקובץ לכתוב את טלמטריה של dev

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