הגדרת סייר בלוקצ'יין: בחירת פלטפורמה ופריסה

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

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

שאלות נפוצות

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

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    פיתוח אפליקציית ווב עבור FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    פיתוח אתר עבור BELFINGROUP
    1004
  • image_ecommerce_furnoro_435_0.webp
    פיתוח חנות מקוונת לחברת FURNORO
    1270
  • image_logo-advance_0.webp
    עיצוב לוגו לחברת B2B Advance
    719
  • image_crm_enviok_479_0.webp
    פיתוח אפליקציית ווב עבור Enviok
    1011

סיירים ציבוריים כמו Etherscan או Solscan נוחים כל עוד אתה משתמש ברשתות ציבוריות וה-API שלהם מכסה את המשימות שלך. סייר בלוקצ'יין ייעודי הופך לחיוני כאשר אתה עובד עם בלוקצ'יין פרטי או קונסורציום — אין שם סייר ציבורי. או כאשר אתה צריך לוגיקת תצוגה מותאמת: ממשק משתמש ממותג, מדדי פרוטוקול ספציפיים, או דפוסי שאילתות סגורים. נתקלנו במצבים שבהם שירותים ציבוריים חושפים נתוני תעבורה סודיים — סייר מותאם אישית פותר את זה. צומת ארכיון עבור Ethereum תופס כ-17 TB, אבל העלות מוצדקת: אתה מקבל שליטה מלאה ויכולת להתאים אישית את הממשק. החיסכון ברישיונות סייר מסחריים יכול להגיע ל-40% בשנה.

כיצד לבחור פלטפורמה לסייר בלוקצ'יין

Blockscout: פתרון אוניברסלי ל-EVM

קוד פתוח, כתוב ב-Elixir/Phoenix, תומך בכל הרשתות התואמות EVM. הוא משמש כסייר הרשמי עבור Gnosis Chain, Optimism, Base ו-L2 אחרים. Blockscout מציע פונקציונליות עשירה: אימות חוזים, צפייה בטוקנים (ERC-20, ERC-721, ERC-1155), NFT, מדדי DeFi, REST API ו-GraphQL. עם זאת, הערימה שלו (Elixir + PostgreSQL + Redis + node) כבדה: ייצור דורש לפחות 32 GB RAM, וההתקנה הראשונית אינה טריוויאלית.

Otterscan: קל ומינימלי

סייר קל משקל על React שעובד ישירות עם צומת Erigon דרך ה-API המורחב של ots_ namespace. הוא לא צריך מסד נתונים נפרד — כל ההיסטוריה מאוחסנת בצומת עצמו. יתרונות: טביעת רגל מינימלית, אין אינדוקס נפרד, מתחיל תוך דקות. חסרונות: דורש בדיוק Erigon (לא geth, לא Nethermind), אין אימות חוזים, פונקציונליות בסיסית.

The Graph: כשאתה צריך נתונים מותאמים

The Graph אינו סייר מלא, אבל אם אתה צריך להציג נתוני פרוטוקול ספציפיים (למשל, נפחי נזילות לפי בריכה או היסטוריית סטייקינג), subgraph + frontend מותאם יהיו מהירים וזולים יותר מסייר מלא. זה לא תחליף אלא השלמה.

השוואת פלטפורמות

פלטפורמה פונקציונליות תשתית זמן פריסה אימות חוזים
Blockscout מלא: טוקנים, NFT, API, DeFi PostgreSQL + Redis + node, ≥32 GB RAM 2–4 שבועות אינדוקס כן, דרך Sourcify או API
Otterscan בסיסי: עסקאות, בלוקים רק צומת Erigon דקות לא
The Graph נתונים מותאמים דרך מנוי Subgraph + frontend שעות–ימים רק דרך subgraph

דרישות צומת לפלטפורמות שונות

פלטפורמה סוג צומת מתודות נוספות שטח דיסק (Ethereum mainnet)
Blockscout ארכיון debug_traceTransaction, trace_block ~17 TB
Otterscan Erigon (ארכיון) מתודות ots_* ~17 TB (Erigon)
The Graph מלא או ארכיון RPC סטנדרטי ~12 TB (מלא)

כיצד להקים סייר ב-5 שלבים

  1. בחר פלטפורמה — החלט אם אתה צריך פונקציונליות מלאה (Blockscout), מינימליזם (Otterscan), או רק מדדים מותאמים (The Graph).
  2. הכן צומת — Blockscout דורש צומת ארכיון עם מתודות debug/trace מופעלות. Otterscan דורש Erigon. ודא ששטח הדיסק יכול להכיל את כל ההיסטוריה.
  3. פרוס תשתית — השתמש ב-Docker Compose עבור Blockscout או פשוט הפעל Erigon עבור Otterscan.
  4. הגדר אינדוקס — בצע אופטימיזציה של גודל אצווה ומספר תהליכים מקבילים כדי להאיץ טעינת היסטוריה.
  5. אמת והשק — חבר את Sourcify או אמת חוזים ידנית דרך API. הפעל את ממשק המשתמש והגדר SSL.

מה דרוש לפריסת Blockscout?

תשתית

אנו משתמשים ב-Docker Compose לפריסה מהירה. להלן קונפיגורציה מפושטת שאנו מתאימים למשימות שלך:

version: '3.8' services: db: image: postgres:15 environment: POSTGRES_DB: blockscout POSTGRES_USER: blockscout POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data shm_size: '512mb' redis: image: redis:7-alpine command: redis-server --maxmemory 4gb --maxmemory-policy allkeys-lru backend: image: blockscout/blockscout:latest depends_on: [db, redis] environment: DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout ETHEREUM_JSONRPC_VARIANT: geth ETHEREUM_JSONRPC_HTTP_URL: http://node:8545 ETHEREUM_JSONRPC_WS_URL: ws://node:8546 ETHEREUM_JSONRPC_TRACE_URL: http://node:8545 SECRET_KEY_BASE: ${SECRET_KEY_BASE} CHAIN_ID: "1" COIN: ETH NETWORK: Mainnet SUBNETWORK: Ethereum Mainnet POOL_SIZE: 80 ECTO_USE_SSL: 'false' SOURCIFY_INTEGRATION_ENABLED: 'true' SOURCIFY_SERVER_URL: https://sourcify.dev/server ports: - "4000:4000" frontend: image: ghcr.io/blockscout/frontend:latest environment: NEXT_PUBLIC_API_HOST: http://backend:4000 NEXT_PUBLIC_NETWORK_NAME: My Network NEXT_PUBLIC_NETWORK_SHORT_NAME: MyNet NEXT_PUBLIC_NETWORK_ID: "1" ports: - "3000:3000" 

דרישות צומת

Blockscout משתמש במתודות RPC לא סטנדרטיות: version: '3.8' services: db: image: postgres:15 environment: POSTGRES_DB: blockscout POSTGRES_USER: blockscout POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data shm_size: '512mb' redis: image: redis:7-alpine command: redis-server --maxmemory 4gb --maxmemory-policy allkeys-lru backend: image: blockscout/blockscout:latest depends_on: [db, redis] environment: DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout ETHEREUM_JSONRPC_VARIANT: geth ETHEREUM_JSONRPC_HTTP_URL: http://node:8545 ETHEREUM_JSONRPC_WS_URL: ws://node:8546 ETHEREUM_JSONRPC_TRACE_URL: http://node:8545 SECRET_KEY_BASE: ${SECRET_KEY_BASE} CHAIN_ID: "1" COIN: ETH NETWORK: Mainnet SUBNETWORK: Ethereum Mainnet POOL_SIZE: 80 ECTO_USE_SSL: 'false' SOURCIFY_INTEGRATION_ENABLED: 'true' SOURCIFY_SERVER_URL: https://sourcify.dev/server ports: - "4000:4000" frontend: image: ghcr.io/blockscout/frontend:latest environment: NEXT_PUBLIC_API_HOST: http://backend:4000 NEXT_PUBLIC_NETWORK_NAME: My Network NEXT_PUBLIC_NETWORK_SHORT_NAME: MyNet NEXT_PUBLIC_NETWORK_ID: "1" ports: - "3000:3000" עבור עסקאות פנימיות, debug_traceTransaction ו-trace_block עבור traces תואמי Parity, ו-trace_transaction במצב ארכיון. צומת מלא רגיל אינו מספיק — אתה צריך צומת ארכיון עם מתודות debug/trace מופעלות. עבור Ethereum mainnet, גודל צומת הארכיון הוא כ-17 TB. זו עלות התשתית העיקרית. דוגמת הפעלת Geth:

geth --mainnet \ --syncmode full \ --gcmode archive \ --http \ --http.api eth,net,web3,debug,txpool \ --ws \ --ws.api eth,net,web3,debug \ --cache 32768 
מידע נוסף על דרישות צומת

כדי ש-Blockscout יעבוד כראוי, הצומת חייב לתמוך ב:

  • eth_getBalance — עבור עסקאות פנימיות
  • geth --mainnet \ --syncmode full \ --gcmode archive \ --http \ --http.api eth,net,web3,debug,txpool \ --ws \ --ws.api eth,net,web3,debug \ --cache 32768 , debug_traceTransaction — עבור traces
  • מצב ארכיון — אחרת נתוני יתרות עבור כתובות ישנות לא יהיו זמינים.

כמו כן, ודא ש-HTTP ו-WebSocket APIs פתוחים, ומגבלת הגז היא לפחות 10 מיליון.

כיצד להאיץ אינדוקס?

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

BLOCK_TRANSFORMER: base INDEXER_BLOCK_REWARD_BATCH_SIZE: 10 INDEXER_COIN_BALANCES_BATCH_SIZE: 500 INDEXER_RECEIPTS_BATCH_SIZE: 250 INDEXER_INTERNAL_TRANSACTIONS_BATCH_SIZE: 20 

עבור רשתות פרטיות עם היסטוריה קטנה, אינדוקס מלא לוקח שעות. בפרויקט אחד, פרסנו סייר Blockscout עבור רשת Ethereum פרטית עם 500 אלף בלוקים. על ידי כוונון גדלי אצווה של האינדקסר ושימוש בצומת ארכיון ייעודי עם אחסון NVMe, צמצמנו את זמן האינדוקס הראשוני מ-3 שבועות משוערים ל-10 ימים.

כיצד לאמת חוזים חכמים?

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

curl -X POST https://your-blockscout.com/api \ -H "Content-Type: application/json" \ -d '{ "module": "contract", "action": "verifysourcecode", "contractaddress": "0x...", "sourceCode": "pragma solidity...", "codeformat": "solidity-single-file", "contractname": "MyContract", "compilerversion": "v0.8.20+commit.a1b79de6", "optimizationUsed": 1, "runs": 200 }' 

מדדים מותאמים וממשק משתמש ממותג

אם אתה צריך סגנון ארגוני ודפים לא סטנדרטיים, Blockscout מאפשר הגדרת טוקנים מותאמים ומטבע מקורי דרך משתני סביבה, פיצול ה-frontend (Next.js) והתאמת העיצוב, וכן הוספת דפים נוספים כמו מדדי פרוטוקול כרכיבי React נפרדים.

מה כלול בעבודה

אנו מקימים סיירים ל-15+ פרויקטים, כולל רשתות פרטיות ו-L2 ציבוריים. התהליך המקצה-לקצה שלנו כולל:

  • ניתוח: בחירת פלטפורמה לפי הדרישות שלך (רשת, מדדים, תקציב).
  • עיצוב: הכנת תשתית, חישוב משאבים לצומת ארכיון.
  • פריסה: Docker Compose או Kubernetes, קונפיגורציה של צומת וסייר.
  • אינדוקס: אופטימיזציה של מקביליות, ניטור פיגור.
  • אימות: אינטגרציית Sourcify, הגדרת API.
  • השקה: Nginx reverse proxy עם SSL, דומיין, התראות.

לוחות זמנים: בין 2 ל-3 שבועות תלוי במורכבות הרשת וההתאמות הנדרשות.

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