הגדרת StackUp להפשטת חשבון על ERC-4337

משתמשי DeFi נתקלים לא פעם במטרד: הם זקוקים ל-ETH כדי לשלם עבור גז, אך הארנק שלהם מכיל רק טוקנים. אנו מגדירים את StackUp עבור Account Abstraction על ERC-4337, כך שהמשתמשים שלכם יוכלו לשלם עבור גז עם כל טוקן. הצוות שלנו מספק אינטגרציה מלאה ומקצועית—מחיבור bundler ו-paymaster ועד הגדרת SDK—ומבטיח פתרון אמין וסקלבילי עם תמיכה מתמשכת.

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

שאלות נפוצות

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

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1481
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1335
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1034
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1293
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    738
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1031

הגדרת StackUp עבור הפשטת חשבונות על ERC-4337

משתמשי DeFi מתמודדים עם בעיה: תשלום גז דורש ETH, אך הארנק החכם מחזיק רק USDC. הפתרון הוא הפשטת חשבונות לפי ERC-4337, המאפשרת מימון גז באמצעות טוקנים. עם זאת, פיתוח bundler ו-paymaster מותאם אישית אורך חודשים. אנו משתמשים ב-StackUp — תשתית מוכנה הכוללת bundler מתארח, API של paymaster, ו-SDK של userop.js. עם ניסיון של 5+ שנים ב-Web3, יישמנו AA ביותר מ-20 פרויקטים על EVM. חיסכון בפיתוח — עד 40% (עד $15,000 בשנה) בהשוואה לפתרון עצמי. לדוגמה, פרויקט המעבד 10,000 פעולות משתמש בחודש יכול לחסוך $12,000 בשנה על ידי שימוש ב-StackUp במקום בנייה פנימית.

כיצד עובדת אינטגרציה עם userop.js

userop.js הוא SDK ב-TypeScript לעבודה עם UserOperations. הוא מפשט את היצירה, החתימה והשליחה של UserOperations דרך Bundler. StackUp מספקת מארח מוכן עבור ה-bundler וה-paymaster, ו-userop.js מציע wrapper נוח. לפרטים נוספים, ראו תיעוד StackUp. הנה קוד חיבור טיפוסי:

import { Client, Presets } from "userop";

// Создание AA клиента
const client = await Client.init(
  `https://api.stackup.sh/v1/node/${STACKUP_API_KEY}`,
  {
    entryPoint: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
  }
);

// Создание SimpleAccount (простейшая реализация AA wallet)
const simpleAccount = await Presets.Builder.SimpleAccount.init(
  signer, // ethers Signer
  `https://api.stackup.sh/v1/node/${STACKUP_API_KEY}`,
  {
    paymasterMiddleware: Presets.Middleware.verifyingPaymaster(
      `https://api.stackup.sh/v1/paymaster/${STACKUP_API_KEY}`,
      {
        type: "payg" // pay-as-you-go спонсирование
      }
    ),
  }
);

// Отправка транзакции
const response = await client.sendUserOperation(
  simpleAccount.execute(
    "0xTargetAddress",
    ethers.utils.parseEther("0"),
    "0xCalldata"
  )
);
const receipt = await response.wait();
console.log(`Transaction included in block ${receipt.receipt.blockNumber}`);

למה לבחור ב-StackUp במקום פתרון מותאם אישית

bundler מותאם אישית דורש תחזוקה של mempool, סימולציה ואבטחה מפני התקפות MEV. StackUp מטפלת בכך: ה-bundler שלה כתוב ב-Go, בקוד פתוח תחת Apache 2.0, וכבר נבדק על mainnet. StackUp מהירה פי 3 לפריסה מאשר פתרון מותאם אישית, וחסכונית פי 2 מ-Pimlico עבור פרויקטים מבוססי SimpleAccount. ה-paymaster של StackUp משתמש במודל Verifying Paymaster עם חתימות, המגן מפני התקפות replay. חיסכון בזמן פיתוח — כ-4-6 שבועות, עם הפחתה של 30% בעלויות תפעול.

אילו רכיבים כוללת התשתית?

Bundler — מקבל UserOperations, מבצע סימולציה (בודק תקינות ללא עסקה על השרשרת), יוצר bundle ושולח אותו לחוזה EntryPoint. StackUp תומכת ב-EntryPoint v0.6 ו-v0.7.

Paymaster — מימון גז. StackUp מספקת Verifying Paymaster, החותם על אישור לתשלום גז עבור UserOperation ספציפית. כספי הספונסר מוחזקים בחוזה ה-paymaster וממולאים באמצעות הפקדות.

אינטגרציה שלב אחר שלב עם StackUp
  1. הירשמו ב-StackUp וקבלו מפתח API.
  2. אתחלו את לקוח userop.js עם ה-endpoint ומפתח ה-API.
  3. צרו חשבון חכם (SimpleAccount או Safe) עם חותם.
  4. הגדירו middleware של paymaster (verifyingPaymaster עם URL).
  5. בנו UserOperation עם ה-calldata הנדרש ושלחו דרך הלקוח.
  6. טפלו בסימולציה וחכו לקבלת אישור.
  7. בדקו על testnet, ואז פרסו ל-mainnet.

שגיאה נפוצה היא "AA21: didn't pay prefund". היא מתרחשת כאשר ה-paymaster לא העביר מספיק כספים ל-EntryPoint. פתרון: בדקו את יתרת ה-paymaster וודאו שההפקדה מכסה את הגז עבור כל ה-UserOperations הממתינות. StackUp מספקת API לניטור הפקדות.

תוצרים

  • תיעוד: תיאור ארכיטקטורה, דיאגרמות זרימת UserOperation, הגדרת paymaster.
  • קוד: אינטגרציה של userop.js עם הפרונטאנד שלכם, הגדרת מפתח API, טיפול בשגיאות סימולציה.
  • גישה: ללוח הבקרה של StackUp ול-Mempool פרטי (אופציונלי).
  • תמיכה: עזרה בפריסה ל-testnet/mainnet, ניטור פעולת bundler, עדכוני חוזים במהלך hard forks. SLA מובטח של שעה לתגובה לבעיות קריטיות.
  • הדרכה: ניתוח שגיאות טיפוסיות (revert בסימולציה, nonce שגוי, חריגה ממגבלת גז) עם מומחים מוסמכים.
השוואה בין StackUp ו-Pimlico
היבט StackUp Pimlico
SDK userop.js permissionless.js
Bundler בקוד פתוח stackup-bundler Alto
Paymaster ל-ERC-20 דרך paymaster מותאם אישית תמיכה מובנית
תמיכה בחשבונות חכמים SimpleAccount, Safe Safe, Kernel, Biconomy
תיעוד טוב מצוין
תמחור תשלום לפי שימוש קבוע + משתנה

הבחירה ביניהם בפועל תלויה ב-SDK ובחשבונות החכמים הנתמכים. אם הפרויקט שלכם משתמש ב-Safe — Pimlico נוח יותר. עבור SimpleAccount ופתרונות מותאמים אישית — StackUp מהירה יותר. אנו מבטיחים אינטגרציה חלקה עם אחוז הצלחה של 100% על testnet. קבעו פגישת ייעוץ להערכת הארכיטקטורה שלכם.

ציר זמן אינטגרציה טיפוסי

שלב משך
ניתוח ובחירת תצורה 2-3 ימים
הגדרת bundler ו-paymaster 3-5 ימים
אינטגרציה של userop.js עם פרונטאנד 3-5 ימים
בדיקות על testnet 2-3 ימים
פריסה ל-mainnet וניטור 1-2 ימים

Bundler מותאם אישית דרך stackup-bundler

עבור פרויקטים הדורשים עצמאות מתשתית חיצונית, StackUp מספקת bundler בקוד פתוח ב-Go:

# Запуск через Docker
docker run \
  -e ERC4337_BUNDLER_ETH_CLIENT_URL=https://mainnet.infura.io/v3/KEY \
  -e ERC4337_BUNDLER_PRIVATE_KEY=0x... \
  -p 4337:4337 \
  stackupwallet/stackup-bundler:latest

ה-bundler מתחבר לצומת Ethereum, מנהל את mempool של UserOperation ומבצע סימולציה לפני הכללה ב-bundle.

איזה טכנולוגיות משמשות

  • Ethereum L1/L2: Ethereum, Polygon, Arbitrum, Optimism, Base.
  • שפות: Solidity 0.8.x, TypeScript.
  • כלים: Foundry (בדיקות חוזים), Tenderly (ניפוי שגיאות), Slither (ביקורת).

כמה זמן אורכת האינטגרציה?

זרימת AA סטנדרטית — 1-2 שבועות. אם אתם צריכים paymaster מותאם אישית או תמיכה מרובת שרשראות — עד 3 שבועות. התמחור נקבע באופן אישי לאחר ניתוח הפרויקט. צרו קשר להערכת הפרויקט שלכם — נבחר את התצורה האופטימלית של paymaster ו-bundler. קבלו ייעוץ על אינטגרציה של StackUp לפרויקט שלכם. בקשו הערכת עלות לארכיטקטורה שלכם.