פרמטרים של הגדרות
טוקס
רמת שורש
chain required
שרשרת ID שחייבת להיות מובילה בכל עסקאות.
מתקפה חוזרת היא ניסיון להגיש עסקאות תקיימות לרשת שונה מאלה שנועדו אליה. מכיוון שchain הוא חלק מהחוב מועיל של העסקה חתומה, עסקה חתומה עבור שרשרת אחת נדחה על ידי עמידים שמשתמשים בשורה אחרת ID .
| Type: | String |
|---|---|
| Env: | CHAIN |
chain = "00000000-0000-0000-0000-000000000000"CHAIN="00000000-0000-0000-0000-000000000000"public_key required
מפתח ציבורי של השותף. משותפים בדיקת הסכמה חייבים להשתמש BLS - מפתחות נורמליות.
| Type: | String, public key multihash |
|---|---|
| Env: | PUBLIC_KEY |
public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"PUBLIC_KEY="ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2"private_key required
מפתח פרטי של השותף. הוא חייב להתאים public_key; משותפים בדיקת ההסכמה חייבים להשתמש BLS-מפתחות נורמליות.
| Type: | todo private-key |
|---|---|
| Env: | PRIVATE_KEY |
private_key = "8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"PRIVATE_KEY="8926201CA347641228C3B79AA43839DEDC85FA51C0E8B9B6A00F6B0D6B0423E902973F"trusted_peers
רשימה של עמיתים אמינים מוגדרו מראש.
בדיקות הסכמה צריכות להשתמש BLS-נורמליות מפתחות שווים. עבור כל מבדיקת, גם לספק כתיבה מתאימה trusted_peers_pop.
| Type: | סדרה של חוטים משותפים. השתמש |
|---|---|
| Env: | TRUSTED_PEERS |
trusted_peers = [
"ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2@127.0.0.1:1337",
"ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77@127.0.0.1:1338",
]# as JSON
TRUSTED_PEERS='[
"ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2@127.0.0.1:1337",
"ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77@127.0.0.1:1338"
]'trusted_peers_pop
BLS רשומות של הוכחת רכוש עבור עמיתים אמינים לבדיקן.
| Type: | קו של אובייקטים עם שדות |
|---|---|
| Env: | TRUSTED_PEERS_POP |
trusted_peers_pop = [
{ public_key = "ea01309060D021340617E9554CCBC2CF3CC3DB922A9BA323ABDF7C271FCC6EF69BE7A8DEBCA7D9E96C0F0089ABA22CDAADE4A2", pop_hex = "8515da750f81182aaba5c22fc9f03a01e81ed85e4495a2ca6b29a71c0c8549537e31e79cddf6ff285b9e22d0d9dc17ce0f46e7d0cf78b2ef9feab50c849a1ea8e1e4f07e966f6113faa8a999317545d9f111b8e08a7273913710b43a20b19c08" },
{ public_key = "ea0130A7E9D016D723F72942FCF4B988FB599EA0E092F73C8B68E69F4E8B3FE542A3F7E48AD6CD15F3EB484E45F79399071F77", pop_hex = "a14eb180f0d78c55d2c034e91ccf691378e9c3ceed8e0b81d3e4b7c215c0dbb633bb9f1c5063911c31af4610016c164015f0f93db3c7df6a2ad0c39338fe7695b976a59fd13797615f229fbd77276a8bb2842e4e44fadcafdb7b37f4a143b913" },
]# 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 |
[genesis]
file = "./genesis.signed.nrt"GENESIS="./genesis.signed.nrt"genesis.public_key required
מפתח ציבורי של זוג המפתחות הגנזיס.
| Type: | String, public key multihash |
|---|---|
| Env: | GENESIS_PUBLIC_KEY |
[genesis]
public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"GENESIS_PUBLIC_KEY="ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB"רשת
network.address required
כתובת לתקשורת p2p לצורך הסכמה (sumeragi) וסינכרון בלוק (בלוק_sync).
| Type: | String, socket address (host/IPv4/IPv6 + port) |
|---|---|
| Env: | P2P_ADDRESS |
[network]
address = "0.0.0.0:1337"P2P_ADDRESS=0.0.0.0:1337network.public_address required
כתובת משותף לשותף (חוץ, כפי שנראה על ידי עמינים אחרים).
הם יתווכחו לעמיתיהם הקשורים כדי שהם יוכלו להתווכחים על זה לעמיתים אחרים.
| Type: | String, socket address (host/IPv4/IPv6 + port) |
|---|---|
| Env: | P2P_PUBLIC_ADDRESS |
[network]
public_address = "0.0.0.0:5000"P2P_PUBLIC_ADDRESS=0.0.0.0:5000network.block_gossip_size
כמות הבלוקים שניתן לשלוח בהודעה אחת של סינכרון.
| Type: | Number |
|---|---|
| Default: | 4 |
[network]
block_gossip_size = 256network.block_gossip_period_ms
הפער הזמן בין בקשות לעמיתים על הבלוק האחרון.
בדיחות תכופות יותר מקצרות את הזמן להתקשר, אבל זה יכול להטיל עומס על הרשת.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[network]
block_gossip_period_ms = 1_000network.transaction_gossip_size
מספר מקסימום של עסקאות בהודעת רווחה.
גודל קטן יותר מוביל לזמן ארוך יותר של סינכרון, אבל שימושי אם יש לך אובדן חבילות גבוה.
| Type: | Number |
|---|---|
| Default: | 500 |
[network]
transaction_gossip_size = 256network.transaction_gossip_period_ms
תקופה של דברי רודפים עד עסקה בין עמיתים.
בדיחות תכופות יותר מקצרות את הזמן להתקשר, אבל זה יכול לפחז את הרשת.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[network]
transaction_gossip_period_ms = 5_000network.idle_timeout_ms
משך הזמן שאחריו הקשר עם השותף יפסק אם השותף אינו עובד.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 300_000 (5 minutes) |
[network]
idle_timeout_ms = 300_000Torii
torii.address required
כתובת שהשרת Torii חייב להקשיב אליה והלקוח (ים) מבקש את זה.
| Type: | String, socket address (host/IPv4/IPv6 + port) |
|---|---|
| Env: | API_ADDRESS |
[torii]
address = "0.0.0.0:8080"API_ADDRESS=0.0.0.0:8080torii.max_content_len
מספר המקסימום של בייטים בגוף בקשה חומרה שאושר על ידי נקודות הסיום Torii .
הגבול הזה משמש כדי למנוע מתקפות DOS.
| Type: | מספר (באייטים) |
|---|---|
| Default: |
|
[torii]
max_content_len = 64_000_000torii.query_idle_time_ms
זמן שאלת יכולה להישאר בחנות אם לא ניתן לגשת אליה.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 10_000 (10 seconds) |
[torii]
query_idle_time_ms = 10_000torii.query_store_capacity
הגבול העליון של מספר שאילתות חי.
| Type: | Number |
|---|---|
| Default: | 128 |
[torii]
query_store_capacity = 128torii.query_store_capacity_per_user
הגבול העליון של מספר בקשות חי עבור משתמש אחד.
| Type: | Number |
|---|---|
| Default: | 128 |
[torii]
query_store_capacity_per_user = 128יצרן עץ
logger.level
תרגיל רשום כללי (ראה logger.filter עבור הגדרות המתוחכמות).
| Type: | חוטים, ערכים אפשריים:
בחר את הרמה המתאימה ביותר למקרה השימוש שלך. ראה Stack Overflow עבור פרטים נוספים על איך להשתמש ברמות רישום שונות. |
|---|---|
| Default: | INFO |
| Env: | LOG_LEVEL |
[logger]
level = "INFO"LOG_LEVEL=INFOעדכון בזמן הפעלה
פרמטר זה כפוף לעדכן את ההסדרת של זמן הפעלה באמצעות נקודות הסיום של המפעיל Torii.
logger.filter
פילטרים של רישום מעודכנים בנוסף ל logger.level. מאפשרת להגדיר את דבריות הרישוי על כל מטרה.
| Type: | רצועה, מורכבת ממנחיות אחת או יותר נפרדות על ידי קומות. לכל הנחיה יכולה להיות רמה מקסימלית של דבריות מתאימה המאפשרת (למשל, בוחרת עבור) טווח ואירועים המתאימים. Iroha מחשיב רמות פחות בלעדיות (כגון ברמה גבוהה, סינטקסת ההנחיות מורכבת ממספר חלקים: לקבלת פרטים נוספים, ראה |
|---|---|
| Env: | LOG_FILTER |
[logger]
filter = "iroha_core=debug,iroha_p2p=debug"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: | חוטים, ערכים אפשריים:
לקבלת פרטים נוספים ותוצאות הדגימות, ראה |
|---|---|
| Default: | full |
| Env: | LOG_FORMAT |
[logger]
format = "json"LOG_FORMAT=jsonKura
Kura הוא מנוע אחסון מתמשך של Iroha (יפני עבור מחסן).
kura.blocks_in_memory
לכל הפחות N בלוקים האחרונים ייחסנו בזיכרון.
בלוקים ישנים יפולו מהזיכרון ויהצאו מהדיסק אם הם נדרשים.
| Type: | Number |
|---|---|
| Default: | 1024 |
| Env: | KURA_BLOCKS_IN_MEMORY |
[kura]
blocks_in_memory = 1024KURA_BLOCKS_IN_MEMORY=1024kura.init_mode
מצב ההתחילה Kura
| Type: | חוטים, ערכים אפשריים:
|
|---|---|
| Default: | strict |
| Env: | KURA_INIT_MODE |
[kura]
init_mode = "fast"KURA_INIT_MODE=fastkura.store_dir
קובע את התיקון [^paths] בו הבלוקים מאוחסנים.
ראה גם: snapshot.store_dir.
| Type: | String, file path (relative to the config file or CWD) |
|---|---|
| Default: | ./storage |
| Env: | KURA_STORE_DIR |
[kura]
store_dir = "/path/to/storage"KURA_STORE_DIR=/path/to/storagekura.debug.output_new_blocks debug
דגל כדי לאפשר את הדפסה של בלוקים חדשים לקונסול.
| Type: | todo bool |
|---|---|
| Default: | false |
| Env: | KURA_DEBUG_OUTPUT_NEW_BLOCKS |
[kura.debug]
output_new_blocks = trueKURA_DEBUG_OUTPUT_NEW_BLOCKS=trueשורה
queue.capacity
הגבול העליון של מספר העסקאות המתמודדות בתור.
| Type: | Number |
|---|---|
| Default: | 65_536 |
[queue]
capacity = 1_048_576queue.capacity_per_user
הגבול העליון של מספר עסקאות שמחכות בתור עבור משתמש אחד.
השתמש באפשרות זו כדי להפעיל דחיפה.
| Type: | Number |
|---|---|
| Default: | 65_536 |
[queue]
capacity_per_user = 1_048_576queue.transaction_time_to_live_ms
העסקה תיבטל לאחר זמן זה אם היא עדיין בתור.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 86_400_000 (24 hours) |
[queue]
transaction_time_to_live_ms = 43_200_000Sumeragi
sumeragi.debug.force_soft_fork debug
כפתור תיקון בלבד לטיפול בנתיבי ניהול צנבת רכה Sumeragi. השאירו את זה מונע מחוץ לבדיקות נשלטות; שינוי אותו ברשת הייצור פועלת יכול לגרום לעמיתים לא להסכים על התנהגות הסכמה.
| Type: | todo bool |
|---|---|
| Default: | false |
[sumeragi.debug]
force_soft_fork = trueתמונה מיידית
מודול זה אחראי לקריאה וכתבת תמונות של תפיסת העולם על המצב.
תמונות מייצגות מאחסנות נקודת מבט סדרתית של World State View כך ששותף יכול להתחיל מחדש מבלי לנגן מחדש כל בלוק מ Kura. Kura נשארת ההיסטוריה של הבלוק המתמשכת ומקור האמת לשחזור; תמונות מיידית הם מסלול מאיץ. בעת ההתחלה, Iroha בודק נתונים מטאטא של תמונה מהירה נגד שרשרת המוגדרת והבלוקים המאוחסנים לפני שהוא מחליט אם לטעין תמונה מהיר או לחזור לנגן.
לחיקוי תמונות
במקרה שמשהו לא בסדר עם מערכת ההצלחות, ואתה רוצה להתחיל בעמוד ריק (במונחים של תמונות), אתה יכול להסיר את התיקון המפורט על ידי snapshot.store_dir.
snapshot.mode
האופנה שבה פועלת מערכת Snapshot.
| Type: | חוטים, ערכים אפשריים:
|
|---|---|
| Default: | read_write |
| Env: | SNAPSHOT_MODE |
[snapshot]
mode = "readonly"SNAPSHOT_MODE=readonlysnapshot.create_every_ms
תדירות תמונות.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 600_000 (10 minutes) |
[snapshot]
create_every_ms = 60_000snapshot.store_dir
תיק שבו לאחסן תמונות.
ראה גם: kura.store_dir
| Type: | String, file path (relative to the config file or CWD) |
|---|---|
| Default: | ./storage/snapshot |
| Env: | SNAPSHOT_STORE_DIR |
[snapshot]
store_dir = "/path/to/storage"SNAPSHOT_STORE_DIR="/path/to/storage"טלמטריה
טלמטריה מייצרת אבחון עמיתים לקולקטור טלמטרי חיצוני. להגדיר את telemetry.name ו telemetry.url כאשר עמיתים צריכים להודיע לקולקטר; השאירו את החלק כאשר הטלמטריה אינה משמשת.
name ו url חייבים להיות משותפים.
כל פרק telemetry הוא בחופשי.
telemetry.name
שמו של הערך להופיע בטלמטריה.
| Type: | String |
|---|
[telemetry]
name = "iroha"telemetry.url
WebSocket URL של קולקטור הטלמטריה.
| Type: | String |
|---|
[telemetry]
url = "ws://telemetry.example.com/submit"telemetry.min_retry_period_ms
תקופה מינימלית של זמן לחכות לפני חיבור מחדש.
| Type: | Number, duration in milliseconds |
|---|---|
| Default: | 1_000 (1 second) |
[telemetry]
min_retry_period_ms = 5_000telemetry.max_retry_delay_exponent
האקספוננט המקסימום של 2 שמשמש להגדיל את האיחור בין חיבורים מחדש.
| Type: | Number |
|---|---|
| Default: | 4 |
[telemetry]
max_retry_delay_exponent = 4dev_telemetry.out_file
דרך הקובץ לכתוב את טלמטריה של dev
| Type: | String, file path (relative to the config file or CWD) |
|---|
[dev_telemetry]
out_file = "/path/to/file.json"