חוזים חכמים
עסקים Iroha מבצעים עומסים מועילים Executable. מודל הנתונים הנוכחי תומך:
Executable::Instructions: קבוצת מסודרת של הוראות מיוחדות IrohaExecutable::ContractCall: שיחת התייחסות לצרף למצוגה של חוזה משמשתExecutable::Ivm: קוד בייט Iroha VMExecutable::IvmProved: קוד בייט Iroha VM עם כמות של הוראות מראש ומתחייבויות הוכחה.
Kotodama היא שפת החוזים החכמים ברמה גבוהה של Iroha. קובץ מקור .ko מהודר לקוד בתים דטרמיניסטי של IVM, הנשמר בדרך כלל כארטיפקט .to לפריסה. Kotodama מיועדת ל-IVM בלבד. היא אינה מיועדת ל-RISC-V או ל-WebAssembly.
המהדורה הראשונה תומכת בגרסה 1 של ABI בלבד. מדיניות syscall ו-pointer-ABI נאכפת ללא תנאי בעת קבלת החוזה וביצועו; אין מתג תאימות בזמן ריצה.
מתי להשתמש בחוזים חכמים
השתמשו בהוראות רגילות כאשר העסקה יכולה להיות מוצגת ישירות:
- רישום או לא רשום אובייקטים
- נכסים של מנטה, שריפה או העברה
- מעדכן מטא נתונים
- לתת או לבטל רשיונות
- להוציא לפועל את ההדק
- הגדרת פרמטרים על שרשרת
השתמשו בחוזה חכם כאשר העסקה זקוקה ללוגית ארוזית אשר קשה להביע בתור רצף הוראות סטטי, או כאשר יש להתקשר למצוגה של החוזה המוקדם על ידי תיקון.
IVM מופעלים
Executable::Ivm נושאת קוד בייט רוק IVM. קווים מבצעים את הקוד בייט בתוך הגבולות של זמן ההפעלה המוגדרים עבור שרשרת. לשמור על קוד בייט קטן ודeterministic; חוזים הם חלק מבצעת עסקאות ולכן משפיעים על הסכמה .
Executable::IvmProved מיועד לזרמים נושאים ראיות. הוא נושא:
- IVM קוד בייט
- כמות של הוראות דטרמיסטיות
- מחויבות אירועים ביצוע
- התחייבות למדיניות הגז
ההוכחה מחייבת את התכסה לקוד בייט שנפעיל. בהתאם למדיניות הצינור, מבקרי אישור יכולים לאמת את ההוכחה ולהחזיר ביצוע כבדוק ביטחון נוסף.
שיחות חוזה משותפות
Executable::ContractCall קורא למצוגה של הסכם משועבר על ידי כתובת. השתמש בזה כאשר קוד הסכם נרשם בנפרד, והמעשים צריכים לקרוא לו על ידי התייחסות במקום להכיל את הקוד בייט בכל פעם.
הנחיות המבצעיות
- לשמור על חוזים דטרמיסטיים. התנהגות החוזה לא צריכה להתבסס על זמן חומת מקומי, מצב מערכת הקבצים המארחת, שיחות רשת או הכניסות מקומיות אחרות של עמיתים.
- שמרו על עומסי תועלת קומפקטיים. קוד בייט גדול מגביר את גודל העסקה ואת העלות להתרבות של הבלוק.
- הם מעדיפים הוראות מודפסות לשינויים פשוטים בספריה. הן קלות יותר לבדיקת ולא זולות יותר לבצע.
- מתייחסים לקידום חוזים ולרשימות הרישום כאמצעי ביקורת מבצעיים בעלי סיכון גבוה.
ראו גם: