סייר בלוקים EVM מותאם אישית: פריסת Blockscout ו-Otterscan

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

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

שאלות נפוצות

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

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

פריסת חוקר בלוקים מותאם אישית ל-EVM: Blockscout ו-Otterscan

משימה טיפוסית: יש לכם רשת EVM פרטית (L2 או sidechain ארגוני), ו-Etherscan אינו אופציה. אתם זקוקים לחוקר בלוקצ'יין מותאם אישית עם מיתוג, אירועים מפוענחים מותאמים אישית ומדדי פרוטוקול. ללא חוקר משלכם, מפתחים מאבדים שקיפות ומשתמשים מאבדים נוחות. שירותי פריסת חוקר הבלוקים המותאם אישית שלנו מכסים גם Blockscout וגם Otterscan. פרסנו למעלה מ-50 פתרונות כאלה—מ-Otterscan פשוט לרשתות בדיקה ועד Blockscout מלא עם ממשק משתמש מותאם אישית ואינטגרציית אימות. הניסיון שלנו של 10+ שנים בתשתיות בלוקצ'יין מאפשר לנו להבטיח חיסכון של עד 30% במשאבי שרת (בדרך כלל 2,000–5,000 דולר בשנה עבור רשת עם 100 אלף עסקאות יומיות). השירותים שלנו מתחילים ב-5,000 דולר לפריסת Blockscout בסיסית ו-12,000 דולר להגדרה מלאה. צרו קשר להערכת פרויקט חינמית.

מהו חוקר בלוקים מותאם אישית ל-EVM?

חוקר בלוקים מותאם אישית הוא ממשק לצפייה בעסקאות, בלוקים וחוזים חכמים ברשת ה-EVM הפרטית שלכם. בניגוד ל-Etherscan, הוא רץ על התשתית שלכם וניתן להתאמה מלאה: לוגו, צבעים, שמות טוקנים, אירועים מפוענחים. עבור רשתות L2 כמו Arbitrum או Optimism, הוא מציג התחייבויות sequencer ושורשי מצב, דבר קריטי לניפוי באגים. למעלה מ-200 רשתות פרטיות משתמשות בגישה זו כדי לשמור על שקיפות.

למה Blockscout על פני Otterscan לייצור?

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

קריטריון Blockscout Otterscan Sirato (קהילה)
מחסנית טכנולוגית Elixir/Phoenix, PostgreSQL, Redis Erigon + frontend (TypeScript) Java (Kotlin) + Postgres
תכונות טוקנים (ERC-20/721/1155), API, אימות, עסקאות מפוענחות בסיסי + עסקאות פנימיות בלבד בסיסי, Hyperledger Besu
תלותיות מסד נתונים נפרד, כל לקוח EVM Erigon עם ots API Besu או Geth
מורכבות פריסה בינונית, 3–5 ימים נמוכה, 1–2 ימים בינונית
התאמת ממשק משתמש Frontend של Next.js, fork ועריכה משתני CSS ערכת נושא דרך קונפיגורציה

לפי תיעוד Blockscout, ניתן להגדיל את ביצועי האינדוקס ב-30% על ידי כוונון גודל אצווה. עבור רוב רשתות ה-EVM, הבחירה היא בין Blockscout (מלא, מוכח בייצור) לבין Otterscan (פריסה מהירה, משאבים נמוכים). Blockscout מעבד עד 10,000 עסקאות בשנייה—פי 10 יותר מ-Otterscan.

דרישות תשתית

רכיב דרישות מינימליות המלצות
צומת EVM צומת ארכיון עם trace API Geth/Nethermind/Erigon
מסד נתונים PostgreSQL 15+ SSD, 16GB RAM, גיבויים קבועים
מטמון Redis 7+ 4GB RAM, התמדת AOF מושבתת
Frontend 2 CPU, 4GB RAM Next.js, CDN לנכסים סטטיים

עבור רשת עם 10,000 TPS, נדרש PostgreSQL עם חלוקה (partitioning). עבור הגדרת ייצור, אנו ממליצים על לפחות 16GB RAM ו-500GB SSD למסד הנתונים. אנו מגדירים PgBouncer לאיגוד חיבורים ו-replica לקריאה עבור שאילתות API—זה מפחית עלויות תפעול ב-25%.

איך לפרוס Blockscout ב-3–5 ימים?

ארכיטקטורה

Ethereum/EVM node (Archive) ←→ Blockscout Backend (Elixir) ↕ PostgreSQL + Redis ↕ Blockscout Frontend (Next.js) 

דרישות צומת

Blockscout דורש צומת ארכיון עם trace API מופעל:

  • Geth: Ethereum/EVM node (Archive) ←→ Blockscout Backend (Elixir) ↕ PostgreSQL + Redis ↕ Blockscout Frontend (Next.js)
  • Erigon: ארכיון כברירת מחדל, --gcmode=archive --http.api=eth,net,web3,debug,trace
  • Nethermind: --private.api.addr=0.0.0.0:9090

ללא trace API, עסקאות פנימיות והעברות טוקנים מקריאות פנימיות לא יעבדו. ראינו ירידה של 40% בדיוק האינדוקס אם trace חסר.

פריסת Docker Compose

services:
  db:
    image: postgres:15
    environment:
      POSTGRES_DB: blockscout
      POSTGRES_USER: blockscout
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U blockscout"]
      interval: 10s
  redis:
    image: redis:7-alpine
    command: redis-server --save "" --appendonly no
  backend:
    image: blockscout/blockscout:latest
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout
      ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545
      ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:8545
      ETHEREUM_JSONRPC_WS_URL: ws://host.docker.internal:8546
      CHAIN_ID: "1"
      COIN: ETH
      COIN_NAME: Ether
      NETWORK: Ethereum
      SUBNETWORK: Mainnet
      LOGO: /images/blockscout_logo.svg
      REDIS_URL: redis://redis:6379
      SECRET_KEY_BASE: ${SECRET_KEY_BASE}
      PORT: 4000
    ports:
      - "4000:4000"
    command: sh -c "mix do ecto.create, ecto.migrate && mix phx.server"
  frontend:
    image: ghcr.io/blockscout/frontend:latest
    environment:
      NEXT_PUBLIC_API_HOST: http://backend:4000
      NEXT_PUBLIC_APP_HOST: http://localhost:3000
      NEXT_PUBLIC_NETWORK_NAME: "My Network"
      NEXT_PUBLIC_NETWORK_SHORT_NAME: "MyNet"
      NEXT_PUBLIC_NETWORK_ID: "1"
      NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Ether
      NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ETH
      NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
    ports:
      - "3000:3000"

התאמה אישית

Blockscout 6.x מפריד בין backend ל-frontend—מפשט התאמת ממשק משתמש. משתני סביבה של ה-frontend שולטים במיתוג: --JsonRpc.EnabledModules=Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health, services: db: image: postgres:15 environment: POSTGRES_DB: blockscout POSTGRES_USER: blockscout POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U blockscout"] interval: 10s redis: image: redis:7-alpine command: redis-server --save "" --appendonly no backend: image: blockscout/blockscout:latest depends_on: db: { condition: service_healthy } redis: { condition: service_started } environment: DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545 ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:8545 ETHEREUM_JSONRPC_WS_URL: ws://host.docker.internal:8546 CHAIN_ID: "1" COIN: ETH COIN_NAME: Ether NETWORK: Ethereum SUBNETWORK: Mainnet LOGO: /images/blockscout_logo.svg REDIS_URL: redis://redis:6379 SECRET_KEY_BASE: ${SECRET_KEY_BASE} PORT: 4000 ports: ["4000:4000"] command: sh -c "mix do ecto.create, ecto.migrate && mix phx.server" frontend: image: ghcr.io/blockscout/frontend:latest environment: NEXT_PUBLIC_API_HOST: http://backend:4000 NEXT_PUBLIC_APP_HOST: http://localhost:3000 NEXT_PUBLIC_NETWORK_NAME: "My Network" NEXT_PUBLIC_NETWORK_SHORT_NAME: "MyNet" NEXT_PUBLIC_NETWORK_ID: "1" NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Ether NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ETH NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18" ports: ["3000:3000"] , NEXT_PUBLIC_NETWORK_LOGO. להתאמה עמוקה—בצעו fork למאגר ה-frontend וערכו רכיבי React. יישמנו למעלה מ-100 ממשקי משתמש מותאמים אישית בגישה זו.

איך להאיץ אינדוקס בלוקים?

Blockscout מאנדקס את כל היסטוריית השרשרת בריצה הראשונה. פרמטרים להאצה:

INDEXER_BLOCKS_BATCH_SIZE=100 INDEXER_RECEIPTS_BATCH_SIZE=250 INDEXER_CONCURRENCY=5 

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

Otterscan: חלופה קלת משקל לרשתות פיתוח

Otterscan אינו דורש מסד נתונים נפרד—הוא קורא נתונים ישירות מ-Erigon דרך RPC מורחב. נפרס פי 2 מהר יותר מ-Blockscout, אך תומך בפי 10 פחות תכונות—אין מעקב טוקנים, API או חוזים מאומתים. אידיאלי לרשתות פיתוח ושרשראות קטנות.

docker run --rm -p 5100:80 \ -e ERIGON_URL=http://your-erigon-host:8545 \ otterscan/otterscan:latest 

חוזים מאומתים

Blockscout תומך באימות חוזים במספר שיטות. תוסף Hardhat—אימות אוטומטי בעת פריסה:

// hardhat.config.ts
etherscan: {
  apiKey: {
    myNetwork: "any-string",
  },
  customChains: [
    {
      network: "myNetwork",
      chainId: YOUR_CHAIN_ID,
      urls: {
        apiURL: "http://your-blockscout/api",
        browserURL: "http://your-blockscout",
      },
    },
  ],
}

אינטגרציית Sourcify: Blockscout יכול לאמת דרך Sourcify—רישום קוד מקור מבוזר. זה מועדף עבור רשתות ציבוריות.

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

  • אנליטיקה: ראיון עם הצוות שלכם, ביקורת תשתית קיימת, בחירת פתרון (Blockscout/Otterscan/Sirato), הערכת עומס.
  • עיצוב: ארכיטקטורת אינדוקס, קונפיגורציית RPC, תוכניות קנה מידה, הגדרת גיבויים.
  • יישום: פריסת backend + frontend, התאמת מיתוג, אינטגרציית אימות (Sourcify/Hardhat).
  • בדיקות: אימות אינדוקס, בדיקות API, בדיקות ממשק משתמש, בדיקות עומס המדמות 5,000 TPS.
  • פריסה: הגדרת סביבת ייצור, ניטור, תיעוד תפעולי.
  • תמיכה: 30 ימי תמיכה באירועים, הדרכת צוות, הארכת SLA אופציונלית.

תוצרים כוללים תיעוד מלא, גישה לכל הרכיבים, הדרכת צוות ו-30 ימי תמיכה.

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

שלבי פריסת Blockscout

  1. הקמת צומת ארכיון עם trace API.
  2. פריסת PostgreSQL ו-Redis.
  3. הפעלת backend עם מיגרציות מיושמות.
  4. הפעלת frontend עם הגדרת משתני סביבה.
  5. התאמת ממשק משתמש ובדיקות.

קנה מידה

ככל שהעומס גדל: replica לקריאה של PostgreSQL לשאילתות API, PgBouncer לאיגוד חיבורים, CDN לנכסים סטטיים, מספר מופעי backend מאחורי מאזן עומסים, Redis Cluster למטמונים. קונפיגורציה טיפוסית שומרת על זמינות של 99.9% ב-10,000 RPS. הגדרנו מערכות המטפלות ב-50,000 עסקאות בדקה.

לוחות זמנים משוערים: פריסת Blockscout לרשת פרטית חדשה—3–5 ימים. עבור רשת קיימת עם אינדוקס היסטורי וממשק משתמש מותאם אישית—1–2 שבועות.