משיקים אסימון TRC-20 על Tron: מהחוזה ועד לרישום

השקת אסימון נשברת בשיא ההעברות: הרשת עמוסה, והחוזה מחזיק עומס באופן בלתי צפוי. אנו מפתחים אסימוני TRC-20 במפתח-סוף — מתכנון החוזה ועד לרישום, עם בדיקה בהעברות המוניות ומסירת תיעוד. העסקאות הראשונות עוברות בלי הפתעות, והתיעוד נשאר אצל הצוות שלכם.

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1375
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1349
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    794
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1087
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1032
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1129

טוקן TRC-20: מה נשבר בזינוק העומס הראשון

זינוק העומס הראשון הוא הרגע שבו טוקן TRC-20 שהונפק מפסיק להתנהג כמו בסביבת בדיקות. עד אז החוזה נראה תקין: העברות בודדות עוברות, היתרות תואמות, וזירות המסחר שותקות בתור לבדיקה.

הבעיה היא שרוב הטעויות בהנפקת טוקן מונחות עוד בשלב החוזה ומתגלות רק כאשר ברשת זורם רצף פעולות, ולא בדיקות ידניות.

התלונה השכיחה ביותר היא העברות תקועות. העסקה יוצאת עם חישוב שגוי של מלאי המשאבים ברשת, מבוצעת חלקית או נדחית, והיזם בשליחה חוזרת יוצר העברה שנייה על אותו בסיס.

כך נוצרים כפילויות ברישום ופערים ביתרות: כתובת הנמען כבר קיבלה את הנכס, אך המרשם הפנימי של השירות מחשיב את הפעולה כלא מוצלחת. מקור נפרד לפערים הוא דיוק החלק השברי של הטוקן שהוגדר שגוי: הוא נקבע בחוזה לתמיד, וכל האינטגרציות החיצוניות מחשבות מעתה סכומים לפי כללי העיגול שלהן.

הקבוצה השלישית של תקלות קשורה להרשאות ניהול. מפתח הבעלים של החוזה נשאר אצל מהנדס אחד בארנק תפעולי, תפקיד הנפקת יחידות חדשות לא בוטל לאחר ההשקה, והחלפת בעלים לא תורגלה אף פעם. ברגע התקרית מתברר שאין מי שיפקיא או ינפיק נכס נוסף, ושחזור הגישה דורש בירור עם קהילת הרשת.

בגלל זה הרישום למסחר מתעכב: זירות המסחר בוחנות קוד מקור מאומת, היסטוריית פעולות וניהוליות החוזה. בהמשך נפרט כיצד כל אחת מהתקלות הללו נסגרת לפני השקה ציבורית.

מה נותן חוזה מדויק: השפעה על לוחות זמנים ואמינות

חוזה TRC-20 מדויק ברשת Tron נבדל לא במספר הפונקציות אלא ביכולת חיזוי: decimals, הנפקה, זכויות בעלים ואירועי העברות תואמים למטא-נתונים שארנקים וסורקים מצפים להם. כל עוד הערכים תואמים, הנכס נקלט אוטומטית, בלי תיקונים ידניים ברישומים.

מכאן המסקנה המדידה הראשונה — הזמן עד להופעה בארנקים. קוד מקור מאומת ומטא-נתונים תואמים מסירים את שלב התיאומים הידניים עם הזירות: כתובות הפקדה בבורסות מזהות את הטוקן, והארנקים מציגים נכון יתרה ו-decimals. בפועל, המסלול מהפריסה ועד להעברות הראשונות בין כתובות חיצוניות אורך יממה, לא שבועות.

השנייה — שיעור ההעברות הכושלות. בחוזים שנבנו בחופזה, 0.3–0.5% מהעסקאות מסתיימות ב-revert: מופעלות מגבלות על גודל ההעברה, השהיות ובדיקות התלויות במצב המצטבר. בחוזה מדויק אין תנאים כאלה — נשארת רק הסטטיסטיקה של הרשת עצמה.

השלישית — סוג הכשלים שנעלם לגמרי: היתקעות נכסים בכתובות הפקדה בגלל לוגיקת העברה לא סטנדרטית, שליחה לכתובת אפס, revert לאחר חיוב עמלה. תרחישים אלה נסגרים ברמת הקוד, לא באמצעות תמיכה.

ולבסוף, אבטחת נכסים: זכויות להנפקה ולהקפאה מועברות לריבוי חתימות, ובחוזה לא נשארת פונקציה שיכולה לגרוע טוקנים של אחרים. קוד חוזה מאומת הוא ביקורת והשוואה חוזרת של ה-bytecode שנפרס מול קוד המקור, כך שהטקסט המפורסם יתאים לזה שפועל.

אפשרויות הנפקת טוקן TRC-20: תקן, התאמה, חוזה עצמאי

תקן TRC-20 קובע מינימום מחייב: העברות והעברות לפי הרשאה, אישור מגבלה, אירועים על תנועות, מספר הספרות אחרי הנקודה העשרונית ונפח ההנפקה הכולל. כל השאר — תוספת, והיא בדיוק קובעת את בחירת הגישה.

ההבדל מתגלה לא בהנפקה אלא מאוחר יותר: כשמופיעים הנפקה מדורגת, עמלה בהעברה או הגבלות לכתובות מסוימות.

אפשרות מתי מתאימה מגבלות
מימוש תקני הנפקה קבועה, העברות בין מחזיקים, יציאה לבורסות ולארנקים הלוגיקה מקודדת בחוזה בעת ההנפקה; אי אפשר לשנות כללי הנפקה מאוחר יותר — רק חוזה חדש והעברת יתרות
מימוש תקני עם התאמה יש צורך בהנפקה מנוהלת, תפקידים, עמלה בהעברה, הקפאת כתובות כל תוספת מרחיבה את משטח השגיאות; ריבוי חתימות ומגבלות דורשים כיול זהיר של הרשאות
חוזה עצמאי כלכלה לא סטנדרטית: חלוקת חלקים, תשלומים מותנים, כללי הנפקה לא שגרתיים תאימות לארנקים ולבורסות וביקורת — כולם באחריותנו בלבד

מגבלות התקן בודקים לפני ההנפקה, לא אחריה: התאימות נשברת לא מהלוגיקה עצמה אלא מסטיות באירועים ובערכים המוחזרים. לכן את כללי ההנפקה ואת ריבוי החתימות אנחנו מוציאים לתפקידים נפרדים — הרחבת ההתנהגות לא דורשת הנפקה מחדש של הטוקן והעברת יתרות של מחזיקים.

שלבי העבודה: מניתוח המשימה ועד מסירת החוזה

העבודה מתנהלת בשלבים, וכל שלב הבא מתחיל רק כשהקודם נסגר בארטיפקט שאפשר לבדוק. חוזה הטוקן לא נכתב תוך כדי ריצה: עד لحظة ההנפקה ברשת הראשית יהיו בידיכם סכימה מאושרת, תרחישים שהורצו ברשת בדיקות ודוח בדיקת פגיעויות.

  1. ניתוח המשימה. מבררים את כלכלת הטוקן: הנפקה קבועה או הנפקה נוספת, הקפאה, עמלה על העברה, מגבלות על ארנקים. בנפרד מתעדים את דרישות זירות הרישום ולמי זמינות הפונקציות הניהוליות.
  2. סכימת ההנפקה. מתכננים את הרכב החוזים — הטוקן עצמו, ההפצה, החסימות — ומתארים תפקידים, זכויות בעלים וסדר כניסת הטוקנים למחזור. לפי סכימה זו נבדק לאחר מכן הקוד המוגמר.
  3. פיתוח החוזה. כותבים TRC-20 לרשת Tron עם כיסוי בדיקות: העברות, הנפקה, שריפה, מסלולי כישלון והתנהגות בגבולות הערכים.
  4. בדיקה ברשת בדיקות. פורסים ברשת בדיקות ומריצים תרחישים קרובים לסביבת ייצור: העברות המוניות, עמלות, עבודה עם ארנקים וסורק.
  5. בדיקת פגיעויות. ניתוח סטטי, בחינה ידנית של וקטורי תקיפה והרשאות גישה, בדיקה חוזרת לאחר תיקונים. בפלט — דוח עם מה שנמצא, מה תוקן והסיכון השיורי.
  6. הנפקה ברשת הראשית. מפרסמים את החוזה, פותחים את קוד המקור בסורק, מפיצים את הטוקנים ומכינים נתונים לרישום למסחר.
  7. העברת זכויות והדרכה. מעבירים את הניהול לצד שלכם, מפתחות והרשאות, תיעוד ונוהל פעולות: הנפקה, הקפאה, שינוי פרמטרים. מכאן הצוות עובד באופן עצמאי.

מה נשאר אצלכם: קונפיגורציות, סכימות, נהלים

פרויקט נמסר לא כשהחוזה נפרס, אלא כשהצוות שלכם עובד איתו בלעדינו. לכן לחבילת הסגירה נכנס לא דוח עבודה אלא סט ארטיפקטים תפעוליים: לפיהם מהנדס פנימי או קבלן בתחזוקה מנפיק טוקנים, משנה פרמטרים ומטפל בתקריות.

  • קוד המקור של החוזה — סימון לפי פונקציות, הסברים לקריאות חוץ וסימונים אילו שיטות בלתי הפיכות ואילו אפשר להשבית לאחר ההשקה.
  • סכימת תפקידים והרשאות — מי הבעלים, למי זמינות הנפקה ושריפה, שינוי מגבלות ועמלה; אילו פעולות דורשות כמה חתימות.
  • הוראות תחזוקה — הנפקה ושריפה, שינוי הגדרות, בדיקת סטטוס פעולה, סדר הפעולות בהעברה שנדחתה.
  • נוהל הנפקה — מהכנת כתובת הנמען ועד אישור הפעולה בסורק, עם רשימת בדיקה לפני כל הנפקה.
  • תיעוד טוקנומיקה — חלוקת חלקים, לוחות חסימה, ייעוד כתובות שירות וכללי רוטציית מפתחות.
  • חבילה לבדיקות ורישום בבורסות — תיאור החוזה, עמידה בתקן, תוצאות בדיקות פנימיות בצורה שבה הזירות מבקשות אותן.
  • תוכנית מסירה והסלמה — מטריצת גישה, אנשי קשר אחראיים, סדר פעולות בחשד לפגיעה במפתח ורשימת משימות לביקורת חיצונית.

הכול מועבר בסביבה שלכם: המאגר, הסכימה והמסמכים נשארים אצלכם — אנחנו מתחברים נקודתית כשהדרישות משתנות או שנדרשת התאמה.

מקרה בוחן: חוזה להעברות המוניות — נתונים לפני ואחרי

צוות הנפיק טוקן TRC-20 ברשת Tron עבור שירות שחילק מדי יום תגמולים ל-4–6 אלף כתובות. הגרסה הראשונה של החוזה ושל סקריפט ההפצה נכתבה לקראת חלוקה חד-פעמית, לא לזרימה — בעומס קבוע זה ניכר כבר בשבוע השני.

מה היה

בכל ערב מפעיל הפעיל ידנית חבילת העברות ועקב אחר אישורים. חלק מהעסקאות נתקעו: לא היה מספיק משאב רשת מוקצה, והרצה חוזרת שכפלה העברות שכבר נשלחו — היה צריך להתאים כתובות ידנית לפי הלוג. טיפול בתור ארך 3–5 שעות, שיעור ההעברות שלא הושלמו הגיע ל-6–8%, וכל אותו זמן נמענים כתבו לתמיכה.

מה שינו

עיבדנו מחדש את הלוגיקה: המשאב מחושב לכל חבילה לפני שליחה, ההעברות יוצאות במנות עם אישור, והחזרה הפכה לאידמפוטנטית — לכל תשלום יש מזהה משלו, ושליחה חוזרת לא יוצרת העברה שנייה. מצב התור הועבר ליומן נפרד: המפעיל רואה מה יצא, מה בתהליך ומה דורש תשומת לב.

מה נהיה

פעולות ידניות במקום 40–60 ביום נשארו שתיים-שלוש: הפעלה ובקרת דוח. הפצה ל-5 אלף כתובות אורכת 10–15 דקות לעומת כמה שעות, העברות תקועות — פחות מ-0.5%, והן נסגרות בחזרה אוטומטית בלי מעורבות אדם. פניות לתמיכה על «התגמול לא הגיע» פסקו.

מה לעשות אם החוזה כבר נפרס ודורש התאמה

התאמה של חוזה פעיל מתחילה לא בתיקונים אלא בבדיקת הקוד הקיים: האם קוד המקור פורסם והאם הוא תואם ל-bytecode ברשת Tron. בודקים מה בכלל זמין לבעלים — הנפקה, הקפאה, שינוי עמלה — והאם ההרשאות לא בוטלו. מזה תלוי אם תסתפקו כיול פרמטרים או שנדרשת מיגרציה.

בחוזה בלתי ניתן לשינוי בלי proxy אי אפשר לתקן לוגיקה: הרשת לא מאפשרת לכתוב מחדש bytecode שכבר נפרס. משתנים רק ערכים שלשמם הושארה מראש שיטת שינוי. אם proxy לא הונח בפריסה הראשונה, אי אפשר להוסיף אותו בדיעבד — את המימוש מחליפים רק בשלב התכנון.

שינוי לוגיקה — מיסים על העברה, מגבלות, חסימת חלק מהיתרה — משמעו חוזה חדש והעברת מחזיקים לפי צילום מצב בבלוק מסוים. יתרות נאספות מאירועי Transfer וקריאת מצב, ובנפרד נלקחים בחשבון נפחים חסומים לפי לוח זמנים והרשאות לחיוב. מאגרי נזילות וחוזים שמחזיקים טוקנים מועברים ידנית, אחרת הנזילות תישאר בכתובת הישנה.

תאימות כתובות היא הסיכון המרכזי: הכתובת חדשה, לכן בורסות, שערי תשלום וזוגות בבורסות מבוזרות מתחברים מחדש. את החוזה הישן שמים בהשהיה או מעבירים למצב החלפה לפי שער קבוע עם תקופה מוגבלת.

ההחלפה מתבצעת דרך חוזה מיגרציה: המשתמש מפקיד טוקנים ישנים ומקבל חדשים אחד לאחד, והשארית שלא נפדתה נשרפת לאחר המועד. את התרחישים מריצים ברשת בדיקות על נפחים אמיתיים ומוודאים שאף מחזיק לא נפל מצילום המצב.

ספקות טכניים: עוברים על השאלות אחת לאחת

לפני תחילת ההנפקה צוותי הנדסה ומנהלי תחום שואלים אותן שאלות — על קוד, זכויות ומה קורה לאחר המסירה. להלן תשובות קצרות וענייניות, כדי שבהמשך נדון בתרחיש שלכם ולא בכלליות.

איך נבדק קוד החוזה?

מרכיבים את הטוקן על ספריות תקניות ומכסים בבדיקות העברות, מגבלות, זכויות בעלים ודחיות של נמען. מריצים ברשת בדיקות, ואז שולחים לבדיקה בלתי תלויה — דוח עם הערות ותיקונים מצורף לפני הפרסום ברשת הראשית.

למי שייכת השליטה?

הבעלים של החוזה נשארת הכתובת שלכם, המפתחות לא יוצאים מהסביבה שלכם. זכויות הנפקה אנחנו מחזיקים רק בזמן הפריסה ומעבירים בחזרה; אם הטוקן אמור לחיות לאורך זמן, מגדירים חתימה מפוצלת ומחלקים תפקידים לפי פעולות.

כמה זמן אורכת ההנפקה?

המועד נקבע לפי הלוגיקה: TRC-20 בסיסי עם הנפקה קבועה יוצא מהר יותר באופן ניכר מטוקן עם הקפאה, עמלות ומכירה. לוח זמנים מדויק נמסור לאחר ניתוח קצר של הדרישות, תוך ציון נפרד היכן המועד תלוי בבדיקה וברישום למסחר.

אפשר להתאים את הטוקן לאחר ההנפקה?

אם הונחה מראש שכבת תפקידים וחלק מתעדכן בחוזה, פונקציות חדשות נוספות בלי החלפת כתובת ובלי אובדן היסטוריית המחזיקים. אם הרחבה לא הונחה, השינויים נעשים דרך חוזה חדש והעברת יתרות — ההחלטה נשארת בידיכם.

מה כוללת התמיכה לאחר המסירה?

מעבירים תיעוד, סכימת תפקידים והוראות לפעולות שגרתיות, כדי שהצוות שלכם יעבוד עם הטוקן בעצמו. בהמשך לפי סיכום: טיפול בתקריות, עדכוני חוזה וסיוע באינטגרציה עם בורסות וארנקים.

נדון במשימה: נחזור עם הערכה ותוכנית

כדי שהערכת לוחות הזמנים תהיה מציאותית ולא «פחות או יותר רבעון», אנחנו צריכים מינימום נתוני פתיחה על הטוקן ועל התפקיד שלכם בפרויקט. ככל שנתוני המוצא קונקרטיים יותר, כך יש פחות הנחות בתוכנית העבודה וסדר השלבים מדויק יותר — מחוזה בדיקה ברשת בדיקות ועד פרסום והעברת שליטה.

  • ייעוד הטוקן והמודל: סחיר, utility, פנימי לחישובים בשירות — מזה תלוי סט התפקידים והמגבלות בחוזה.
  • פרמטרי הנפקה: שם, טיקר, decimals, נפח הנפקה, האם נדרשת שריפה, הקפאת כתובות, הגבלת העברות.
  • תפקידים ומפתחות: מי בעל החוזה, למי מועברת השליטה לאחר ההשקה, האם יהיה ריבוי חתימות או ויתור על זכויות מנהל.
  • דרישות רישום למסחר: באילו זירות מתוכנן הרישום ואילו מסמכים הן מבקשות — זה משפיע על הדיווח ולוחות הזמנים.
  • הרכב חומרי הפתיחה: תיאור הפרויקט, סכימת הפצה, תחום שיפוט, פרטים לאימות החוזה.
  • תוכנית עבודה ולוחות זמנים: שלחו את תאריך ההשקה הרצוי — נבנה את השלבים בספירה לאחור.
  • נתונים טכניים: האם כבר יש חוזה, ביקורת, backend מוכן או אינטגרציה עם ארנקים.

תארו את המשימה בצורה חופשית — נחזור עם הערכת לוחות זמנים, הרכב שלבים ותוכנית עבודה להנפקה שלכם. אם על חלק מהשאלות עדיין אין תשובה, זה לא חוסם את ההתחלה: נסמן אותן כפתוחות ונכניס לתוכנית כשלבים נפרדים עם נקודות תיאום.