כלי להערכת נדירות NFT – פיתוח מקצה לקצה

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

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

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1376
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1350
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    796
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1088
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1034
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1130

מדוע הערכת הרייריטי של NFT נשברת בקולקציות גדולות

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

המקור הראשון לשגיאה — כפילויות במאפייני הטוקן. «Blue Eyes» ו-«blue eyes», «Red_Eyes» ו-«Red Eyes» נכנסים לטבלה כערכים שונים: התדירות של כל אחד מוכפלת בחצי, משקל המאפיין גדל, ופריט עם שילוב רגיל עולה לראש.

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

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

מה נותן חישוב אוטומטי של נדירות הקולקציה

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

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

דרכי חישוב הרייריטי: פירוק ידני, מדד, סכימה היברידית

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

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

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

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

שלבי הפיתוח: מפירוק הקולקציה ועד מסירה ותמיכה

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

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

המתודולוגיה, מדדי נדירות ואינטגרציות: מה נשאר אצלכם

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

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

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

מקרה בוחן: חישוב נדירות לקולקציה של ארבעים אלף טוקנים

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

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

מטריקות לפני ואחרי

מטריקה לפני אחרי
חישוב נדירות הקולקציה הראשוני 9 ימי עבודה ידנית 40 דקות
שיעור הפריטים השנויים במחלוקת 6.4% 0.3%
פניות לתמיכה בחודש 210 18
שחזוריות בחישוב מחדש הדירוג השתנה מריצה לריצה התאמת דירוגים 1:1 על אותו חתך מטא-נתונים
חישוב מחדש אחרי מנה חדשה של טוקנים 3–4 ימים 15 דקות

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

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

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

שאלות טכניות נפוצות על מבנה הכלי

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

מה עושים עם מאפיינים חסרים וכפולים?

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

איך משתנה הדירוג בשינוי מתודולוגיית החישוב?

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

האם השירות יעמוד בעומס בזמן חישוב מחדש?

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

איך זה מתחבר לשירות קיים?

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

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

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

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

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

מה עושים אם חישוב הנדירות כבר מוטמע בשירות קיים

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

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

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

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

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