פריסה מלאה מקצה לקצה של אינדקסר Bitcoin Ord עבור NFT, BRC-20 ו-Runes

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

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

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

אינדקסר Bitcoin Ord: היכן נשבר סנכרון הנתונים

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

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

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

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

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

מה נותן פריסה בקונטור שלכם

צומת רשת מלא ובסיס אינדקסים משלכם — אלו שתי שכבות בלתי תלויות. הצומת מאמת בלוקים ומעביר אותם עם אישורם, האינדקסר מנתח את התוכן — אינסקריפשנים Ordinals, פעולות BRC-20, הנפקות Runes — וכותב את התוצאה לבסיס נתונים משלו.

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

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

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

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

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

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

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

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

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

אפשרות מתי מתאימה מגבלות
סייר ציבורי אב-טיפוס, בדיקה חד-פעמית של יתרות והיסטוריה מגבלות בקשות, היסטוריה חלקית לפי כתובת, שינוי פורמט תשובות ללא אזהרה
שכירות צומת ייעודי נדרש אינדוקס משלכם, אך אין רצון להחזיק חומרה ולתפוס תורנות על הסנכרון תלות בספק, חלק מהגדרות האינדקסר אינן זמינות, גישה במנוי
צומת bitcoin משלכם + בסיס אינדקסים משלכם מוצר עם עומס קבוע ונתונים מלאים על Ordinals, BRC-20 ו-Runes אחסון וסנכרון בצד שלכם, נדרשים ניטור ותורנות
היברידי עם מטמון מקומי שיעור גבוה של בקשות חוזרות, השהיית תגובה חשובה יש להפוך מטמון ללא תקף בזמן reorg, הלוגיקה מסתבכת

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

שלבי יישום: מביקורת הקונטור ועד מסירה לעבודה

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

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

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

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

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

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

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

מקרה בוחן: מעבר מסייר ציבורי לקונטור משלכם

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

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

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

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

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

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

מה לעשות אם האינדקסר כבר פרוס אך סוטה מהרשת?

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

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

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

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

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

שאלות על עומס, שלמות ועמידות בכשלים

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

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

מה קורה בארגון מחדש של השרשרת?

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

איזה צומת דרוש לעבודה?

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

כיצד להתעדכן ללא השבתה?

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

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

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

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

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