פריסת חוקר בלוקים מותאם אישית ל-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
- הקמת צומת ארכיון עם trace API.
- פריסת PostgreSQL ו-Redis.
- הפעלת backend עם מיגרציות מיושמות.
- הפעלת frontend עם הגדרת משתני סביבה.
- התאמת ממשק משתמש ובדיקות.
קנה מידה
ככל שהעומס גדל: replica לקריאה של PostgreSQL לשאילתות API, PgBouncer לאיגוד חיבורים, CDN לנכסים סטטיים, מספר מופעי backend מאחורי מאזן עומסים, Redis Cluster למטמונים. קונפיגורציה טיפוסית שומרת על זמינות של 99.9% ב-10,000 RPS. הגדרנו מערכות המטפלות ב-50,000 עסקאות בדקה.
לוחות זמנים משוערים: פריסת Blockscout לרשת פרטית חדשה—3–5 ימים. עבור רשת קיימת עם אינדוקס היסטורי וממשק משתמש מותאם אישית—1–2 שבועות.







