Biconomy SDK: עסקאות ללא גז והפשטת חשבון

משתמשים נוטשים את ה-dApp שלכם כבר בפעולה הראשונה כשהם רואים בקשת דמי גז ב-MetaMask. אנחנו משלבים את Biconomy ו-Account Abstraction בפרויקט שלכם כדי להסיר את החסם הזה. הצוות שלנו מספק אינטגרציה מלאה ומקצועית—החל מהגדרת Smart Account ועד Paymaster—ומבטיח נוחות למשתמשים עם תמיכה מתמשכת.

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

שאלות נפוצות

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

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

משתמש לוחץ על 'Mint' ב-dApp שלך — ורואה בקשה מ-MetaMask על 0.003 ETH עבור גז. אין לו ETH, רק NFTs ו-USDC. ההמרה צונחת. זה לא תרחיש היפותטי: זה בדיוק מה שהורג את תהליך ההטמעה ברוב יישומי Web3 עבור קהלים המוניים. Biconomy פותרת זאת באמצעות Account Abstraction. במדריך זה, אנו מכסים את האינטגרציה של Biconomy עבור עסקאות ללא גז ו-Account Abstraction. אנו משלבים את Biconomy SDK בפרויקט שלך בצורה מלאה, כך שמשתמשים שוכחים מגז.

כיצד Account Abstraction מבטל עמלות גז

Biconomy היא הטמעה של ERC-4337 (Account Abstraction) עם תשתית משלה: bundler, Paymaster, וחוזי Smart Account. המשתמש אינו חותם על עסקת Ethereum — הוא חותם על UserOperation (אובייקט מובנה), ה-bundler אורז מספר UserOperations לעסקה אחת ושולח אותה ל-mempool. ה-Paymaster משלם עבור הגז.

עבור המפתח, זה אומר: הקצה האחורי או חוזה ה-Paymaster משלם גז במקום המשתמש; המשתמש חותם רק על כוונה. ההמרה עולה ב-30–50% — מספרים אמיתיים מהפרויקטים שלנו תיעוד Biconomy. אינטגרציית Biconomy מהירה פי 5 מבנייה מאפס (1-3 ימים לעומת 2-4 שבועות).

שלושת רכיבי האינטגרציה המרכזיים

Smart Account

Smart Account הוא חוזה חכם שמתפקד כארנק של המשתמש. בניגוד ל-EOA, הוא יכול:

  • לשלב קריאות מרובות לעסקה אחת (batch)
  • לתמוך במפתחות סשן (המשתמש חותם פעם אחת, N העסקאות הבאות ללא חתימה)
  • לכלול לוגיקת שחזור חשבון
  • לאמת חתימות באמצעות לוגיקה מותאמת אישית (WebAuthn, passkey)

Biconomy מספקת Modular Smart Account (v3), תואם לתקן ERC-7579 (חשבונות מודולריים). פריסת Smart Account עבור משתמש חדש מתרחשת אוטומטית בשימוש ראשון באמצעות פריסה counterfactual — החוזה נפרס רק בעסקה הראשונה, והכתובת מחושבת דטרמיניסטית מראש.

Paymaster

Paymaster הוא חוזה שמכסה עמלות גז. Biconomy מספקת Sponsorship Paymaster (עסקאות ממומנות) ו-Token Paymaster (המשתמש משלם עם טוקנים במקום ETH).

עבור Sponsorship Paymaster אתה צריך:

  1. לרשום פרויקט ב-Biconomy Dashboard
  2. להטעין יתרת MATIC/ETH לכיסוי גז (חיסכון ממוצע בגז למשתמש: $0.50 לעסקה)
  3. להגדיר רשימת היתרים של חוזים ופונקציות למימון

Token Paymaster מאפשר למשתמשים לשלם ב-USDC, DAI, או כל ERC-20 שנתמך על ידי ה-Paymaster. ההמרה לטוקן מקומי לתשלום גז מתרחשת בתוך ה-UserOperation.

Bundler

Bundler הוא צומת שמקבל UserOperations ממשתמשים, מאמת אותם, אורז אותם לקבוצה, ושולח לרשת. Biconomy מספקת bundler מתארח דרך API עם זמינות של 99.9%. עבור סביבת production, בחר bundler על בסיס:

  • חביון (זמן מ-UserOperation ועד הכללה בעסקה) — בדרך כלל מתחת ל-200ms
  • רשתות נתמכות
  • מגבלות קצב ואמינות

כיצד לשלב את Biconomy ב-5 שלבים

  1. התקן את ה-SDK: tx.origin == msg.sender
  2. צור Smart Account: השתמש ב-@biconomy/sdk עם החותם של המשתמש.
  3. הגדר Paymaster: הגדר Sponsorship או Token Paymaster ב-Biconomy Dashboard.
  4. שלח UserOperation: השתמש ב-viem עם מצב wagmi.
  5. בדוק ופרוס: אמת תחילה ב-Testnet, ולאחר מכן ב-Mainnet.
import { createSmartAccountClient } from "@biconomy/sdk";
import { createWalletClient, custom } from "viem";
import { polygon } from "viem/chains";

// Создаём Smart Account для пользователя
const walletClient = createWalletClient({
  chain: polygon,
  transport: custom(window.ethereum),
});

const smartAccount = await createSmartAccountClient({
  signer: walletClient,
  bundlerUrl: "https://bundler.biconomy.io/api/v2/137/nJPK7B3ru...",
  paymasterUrl: "https://paymaster.biconomy.io/api/v1/137/Tpk8nuCU...",
  paymasterTokens: [
    { address: USDC_ADDRESS, decimal: 6, symbol: "USDC" },
  ],
});

// Batch транзакция: approve + deposit за одну подпись
const txs = [
  { to: TOKEN_ADDRESS, data: approveCalldata },
  { to: PROTOCOL_ADDRESS, data: depositCalldata },
];

const userOpResponse = await smartAccount.sendTransaction(txs, {
  paymasterServiceData: {
    mode: PaymasterMode.SPONSORED,
  },
});

const { transactionHash } = await userOpResponse.waitForTxHash();

מפתחות סשן

מפתחות סשן הם אחת התכונות החזקות ביותר של Smart Account. המשתמש חותם על מדיניות פעם אחת: "אפשר לכתובת X לקרוא לפונקציה Y של חוזה Z עם סכום שלא יעלה על N טוקנים תוך 24 שעות". לאחר מכן, מפתח הסשן מבצע עסקאות ללא אינטראקציה של המשתמש — אידיאלי למשחקים, אסטרטגיות אוטומטיות, ומנויים.

const sessionModule = await createSessionKeyManagerModule({
  moduleAddress: SESSION_KEY_MANAGER_MODULE_ADDRESS,
  smartAccountAddress: smartAccount.accountAddress,
});

// Создаём сессию с ограничениями
const sessionData = await createSession(
  smartAccount,
  [
    {
      sessionValidationModule: ERC20_SESSION_VALIDATION_MODULE,
      sessionKeyData,
    },
  ],
  null, // хранение в памяти или IPFS
  {
    paymasterServiceData: {
      mode: PaymasterMode.SPONSORED,
    },
  }
);
רשתות נתמכות
רשת Bundler Paymaster טוקן גז
Ethereum Mainnet כן כן ETH, ERC-20
Polygon כן כן MATIC, USDC
Arbitrum One כן כן ETH
Optimism כן כן ETH
Base כן כן ETH
BSC כן כן BNB
Avalanche כן כן AVAX

בעיות אינטגרציה נפוצות

UserOperation חוזר ללא שגיאה ברורה. ה-bundler של Biconomy מאמת את ה-UserOperation לפני השליחה, אך שגיאות מה-calladata (למשל, revert בחוזה היעד) מוחזרות בהקס ללא פענוח. אנו משתמשים ב-import { createSmartAccountClient } from "@biconomy/sdk"; import { createWalletClient, custom } from "viem"; import { polygon } from "viem/chains"; // Создаём Smart Account для пользователя const walletClient = createWalletClient({ chain: polygon, transport: custom(window.ethereum), }); const smartAccount = await createSmartAccountClient({ signer: walletClient, bundlerUrl: "https://bundler.biconomy.io/api/v2/137/nJPK7B3ru...", paymasterUrl: "https://paymaster.biconomy.io/api/v1/137/Tpk8nuCU...", paymasterTokens: [{ address: USDC_ADDRESS, decimal: 6, symbol: "USDC" }], }); // Batch транзакция: approve + deposit за одну подпись const txs = [ { to: TOKEN_ADDRESS, data: approveCalldata }, { to: PROTOCOL_ADDRESS, data: depositCalldata }, ]; const userOpResponse = await smartAccount.sendTransaction(txs, { paymasterServiceData: { mode: PaymasterMode.SPONSORED }, }); const { transactionHash } = await userOpResponse.waitForTxHash(); או ב-cast כדי לפענח את סיבת ה-revert.

אי-תאימות של החוזה עם Smart Account. חלק מהחוזים בודקים את const sessionModule = await createSessionKeyManagerModule({ moduleAddress: SESSION_KEY_MANAGER_MODULE_ADDRESS, smartAccountAddress: smartAccount.accountAddress, }); // Создаём сессию с ограничениями const sessionData = await createSession( smartAccount, [{ sessionValidationModule: ERC20_SESSION_VALIDATION_MODULE, sessionKeyData }], null, // хранение в памяти или IPFS { paymasterServiceData: { mode: PaymasterMode.SPONSORED } } ); כדי להגן מפני קריאות מחוזות. Smart Account הוא חוזה, ולכן ethers.utils.parseError() תמיד. בדיקות כאלה חוסמות עסקאות ללא גז. יש להסיר את הבדיקה מהחוזה, או להשתמש ב-EntryPoint כ-forwarder מהימן.

הכתובת ה-counterfactual אינה תואמת לצפוי. כתובת Smart Account תלויה בגרסת ה-factory, ב-salt, וב-signerAddress. בעת שינוי רשת או גרסת SDK, הכתובת עשויה להשתנות. השתמש תמיד ב-msg.sender == tx.origin כמקור האמת היחיד.

מה כלול באינטגרציית Biconomy

  • ביקורת של חוזים קיימים לתאימות ERC-4337
  • הגדרת Paymaster (Sponsorship ו/או Token)
  • פיתוח שכבת UserOperation בחזית (SDK + viem)
  • הטמעת מפתחות סשן, אם נדרש
  • בדיקות ב-Testnet וב-Mainnet (כולל fuzzing)
  • תיעוד תפעולי ותמיכה ל-30 יום

אנו עובדים עם Biconomy מאז 2022 — 5+ אינטגרציות מוצלחות בפרויקטי DeFi ו-NFT. לצוות שלנו ניסיון של למעלה מ-5 שנים ב-Web3, 50+ פרויקטי בלוקצ'יין, ו-5+ אינטגרציות Biconomy. המהנדסים שלנו מעודכנים בעדכוני ה-SDK והתקנים העדכניים ביותר.

השוואה: Biconomy לעומת ERC-4337 בהטמעה עצמית

פרמטר Biconomy הטמעה עצמית
זמן הגדרה 1-3 ימים 2-4 שבועות
תמיכה ברשתות 7+ רשתות רק אחת
ניטור Dashboard בנוי בהתאמה אישית
אבטחה קוד מבוקר ביקורת עצמית

אינטגרציית Biconomy מהירה פי 5 ותומכת בפי 7 יותר רשתות מהקופסה.

מוכן להעריך את הפרויקט שלך? צור קשר — ננתח את המקרה שלך תוך יום אחד ונעריך לוחות זמנים. אינטגרציה בסיסית אורכת 1 עד 3 ימי עסקים, עם מפתחות סשן עד 5 ימים. העלות מתחילה מ-$2,000 עבור אינטגרציה בסיסית. אל תאבד המרות בגלל גז — הטמע עסקאות ללא גז עכשיו.