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"