פעולות Web3 של Tenderly: אוטומציה של אירועי On-Chain

פעולות Web3 של Tenderly: אוטומציה של אירועי On-Chain ללא Polling Polling מפספס אירועים קריטיים. קחו לדוגמה מתקפת Flash Loan—Polling כל 100 אלפיות שנייה עדיין נכשל אם העסקה נוחתת בבלוק שכבר שאלתם. פעולות Web3 של Tenderly תופסות כל אירוע באופן מיידי באמצעות ארכיטקטורה מונעת אירועים

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

שאלות נפוצות

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

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

Tenderly Web3 Actions: אוטומציה של אירועי On-Chain ללא Polling

Polling מפספס אירועים קריטיים. קחו לדוגמה מתקפת flash loan—בדיקה כל 100 אלפיות שנייה עדיין נכשלת אם הטרנזקציה נוחתת בבלוק שכבר נשאל. Tenderly Web3 Actions תופסים כל אירוע באופן מיידי באמצעות ארכיטקטורה מונעת אירועים, ומגיבים תוך אלפיות שנייה. הצוות שלנו, עם ניסיון של למעלה מ-5 שנים ב-Web3 ויותר מ-50 אינטגרציות DeFi, מספק ניטור אמין של מאגרי נזילות, איזון מחדש אוטומטי והתראות מיידיות—הכל ללא ניהול שרתים. אנחנו דואגים להגדרה והתקנה, ומבטיחים סובלנות לתקלות.

בעיות שאנחנו פותרים

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

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

מורכבות אינטגרציה: שליחת התראות ל-Slack, Telegram או Discord דורשת בדרך כלל תשתית נוספת. ל-Actions יש קריאות HTTP מובנות, מה שמקצר את מאמץ האינטגרציה ב-70%.

איך Web3 Actions מנצחים את ה-Polling

מאפיין Polling מסורתי Tenderly Web3 Actions
זמן תגובה 1–2 שניות <100 אלפיות שנייה
אירועים שהוחמצו אפשריים אף פעם
תשתית שרת משלך, מפתחות RPC Tenderly, ללא ניהול
מורכבות אינטגרציה בינונית נמוכה (Action אחד)
יעילות עלות עלויות RPC גבוהות חיסכון של עד 90% בעמלות RPC

ציטוט מ-Tenderly: "Web3 Actions מספקים ניטור מונע אירועים ללא צורך בתחזוקת תשתית."

שלבי התקנה

  1. התקן את Tenderly CLI: Deposit
  2. התחבר: context.secrets
  3. אתחל פרויקט: npm install -g @tenderly/cli tenderly login tenderly init
  4. כתוב את ה-Action שלך (ראה דוגמה למטה)
  5. פרוס: tenderly.yaml actions/ src/ index.ts # точки входа для Actions package.json

מבנה הפרויקט:

npm install -g @tenderly/cli tenderly login tenderly init 

דוגמת Action שמנטר הפקדות גדולות:

tenderly.yaml actions/ src/ index.ts # точки входа для Actions package.json 

הגדרות ב-import { ActionFn, Context, Event, TransactionEvent } from "@tenderly/actions"; import { ethers } from "ethers"; const THRESHOLD = ethers.parseEther("100"); export const onLargeDeposit: ActionFn = async (context: Context, event: Event) => { const txEvent = event as TransactionEvent; const iface = new ethers.Interface([ "event Deposit(address indexed user, uint256 amount)" ]); for (const log of txEvent.logs) { try { const parsed = iface.parseLog(log); if (parsed?.name === "Deposit" && parsed.args.amount > THRESHOLD) { const webhookUrl = await context.secrets.get("SLACK_WEBHOOK_URL"); await fetch(webhookUrl, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ text: `Large deposit: ${ethers.formatEther(parsed.args.amount)} ETH from ${parsed.args.user}\nTx: ${txEvent.hash}` }) }); } } catch { // Log не относится к нашему контракту — пропускаем } } }; :

import { ActionFn, Context, Event, TransactionEvent } from "@tenderly/actions"; import { ethers } from "ethers"; const THRESHOLD = ethers.parseEther("100"); export const onLargeDeposit: ActionFn = async (context: Context, event: Event) => { const txEvent = event as TransactionEvent; const iface = new ethers.Interface([ "event Deposit(address indexed user, uint256 amount)" ]); for (const log of txEvent.logs) { try { const parsed = iface.parseLog(log); if (parsed?.name === "Deposit" && parsed.args.amount > THRESHOLD) { const webhookUrl = await context.secrets.get("SLACK_WEBHOOK_URL"); await fetch(webhookUrl, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ text: `Large deposit: ${ethers.formatEther(parsed.args.amount)} ETH from ${parsed.args.user}\nTx: ${txEvent.hash}` }) }); } } catch { // Log не относится к нашему контракту — пропускаем } } }; 

סוגי טריגרים

סוג אירוע מקרה שימוש
טרנזקציה כל טרנזקציה תואמת ניטור הפקדות, התראות על העברות גדולות
בלוק כל בלוק N בדיקות גורם בריאות, עדכוני אינדקס off-chain
Webhook קריאת HTTP ממערכת חיצונית CI/CD, בדיקות ידניות
התראה טריגר התראה של Tenderly סף גז, טרנזקציות חריגות

ניהול סודות

שמור מפתחות API ומפתחות פרטיים דרך ה-Dashboard או CLI: tenderly.yaml. גישה עם account_id: "my-account" project_slug: "my-project" actions: my-project/on-large-deposit: runtime: v2 sources: actions/src entrypoint: index:onLargeDeposit trigger: type: transaction transaction: status: - mined filters: - network: 1 eventEmitted: contract: address: "0xYourContractAddress" name: Deposit . ללא קידוד קשיח.

שמירת מצב

Actions הם חסרי מצב, אבל Tenderly מציע אחסון מפתח-ערך:

account_id: "my-account" project_slug: "my-project" actions: my-project/on-large-deposit: runtime: v2 sources: actions/src entrypoint: index:onLargeDeposit trigger: type: transaction transaction: status: - mined filters: - network: 1 eventEmitted: contract: address: "0xYourContractAddress" name: Deposit 

ביצוע מקסימלי: 25 שניות. למשימות ארוכות יותר, השתמש ב-webhook לתור חיצוני. סביבת ריצה Node.js v20, תומך ברוב חבילות npm.

מה כלול

  • עיצוב ארכיטקטורת Action
  • קידוד TypeScript ופריסה
  • הגדרת סודות
  • בדיקות באמצעות Tenderly Simulation
  • תיעוד תפעולי
  • תמיכה לאחר השקה

לוחות זמנים ותמחור

ההתקנה אורכת 1–3 ימי עסקים. התמחור מתחיל ב-$1,500 לפרויקט. לקוחות בדרך כלל חוסכים בין $2,000 ל-$10,000 בכל חודש בעמלות RPC לאחר המעבר. לדוגמה, פרוטוקול הלוואות חסך $3,500 בחודש לאחר אוטומציה של התראות. עם שיפור עלות פי 10 לעומת ניטור מבוסס Polling, רוב ההשקעות מוחזרות תוך 30 יום. צור קשר לניתוח חינם. רקורד מוכח (50+ פרויקטים, 5+ שנים) מבטיח אוטומציה אמינה.

מקרה שימוש אמיתי

פרוטוקול DeFi השתמש ב-Polling כדי לנטר את מאגרי ההלוואות שלו. הם פספסו אירוע חיסול, וגרמו לחוב אבוד של $20,000. לאחר המעבר ל-Web3 Actions עם טריגרים של בלוקים, הם מקבלים כעת התראות Slack תוך 200 אלפיות שנייה מכל חיסול. הם גם אוטומטו את איזון המאגרים, וחסכו 10 שעות עבודה ידנית בשבוע. לקוח אחר השתמש ב-Web3 Actions כדי לנטר NFT mints, וחסך 20 שעות עבודה ידנית בשבוע והפחית את עלויות ה-RPC ב-85%.

לחץ להרחבה על פרטים טכניים של בדיקות סימולציה ניתן לדמות Actions באמצעות Tenderly Simulation API. זה מאפשר לבדוק את הלוגיקה שלך מול טרנזקציות היסטוריות או מותאמות אישית לפני הפריסה. לדוגמה:
await context.storage.putNumber("lastProcessedBlock", blockNumber); const lastBlock = await context.storage.getNumber("lastProcessedBlock"); 

זה מחזיר את תוצאת הביצוע וכל שגיאה.