邦德勒语Name
在(ERC4337)方面,捆绑者在基础设施中起主要作用. 这一概念是使用Ethereum虚拟机(EVM)的任何网络中账户抽象操作的组成部分.
安装
使用 npm 软件包管理器
npm i @biconomy/bundler
或
使用 yarn 软件包管理器
yarn add @biconomy/bundler
配置
| 密钥 | 说明 |
|---|---|
| 捆绑者 | 代表 ERC4337 spec 已执行的捆绑器 URL 。 您可以从 bicoomy 仪表板中获取一个 。 或者,你可以提供任何你喜欢的 |
| 链路 | 这代表您的智能钱包交易将在网络上进行 。 查看 Link 所支持的链式 ID |
| 输入点地址 | 由于入口可以有不同的地址, 您可以在捆绑器中调用 GetApplied EntryPoints( ) , 以获取所支持的地址列表 |
// This is how you create bundler instance in your dapp's
import { IBundler, Bundler } from "@biconomy/bundler";
// Make use of core-types package
import { ChainId } from "@biconomy/core-types";
const bundler: IBundler = new Bundler({
bundlerUrl: "",
chainId: ChainId.POLYGON_MAINNET,
entryPointAddress: "",
});
可用 bongr 实例调用的方法如下
export interface IBundler {
estimateUserOpGas(userOp: Partial<UserOperation>): Promise<UserOpGasResponse>;
sendUserOp(userOp: UserOperation): Promise<UserOpResponse>;
getUserOpReceipt(userOpHash: string): Promise<UserOpReceipt>;
getUserOpByHash(userOpHash: string): Promise<UserOpByHashResponse>;
}
估计用户OpGas 估计用户操作的气体值。 鉴于用户操作可选择无天然气限制和天然气价格,返回所需的天然气限制。 钱包忽略了签名字段,因此操作不需要用户的批准. 尽管如此,它仍可能需要放置"半有效"的签名(如在正确的长度上签名)
返回值
验证前Gas 此用户操作的燃气管理费 校验GasLimit 本用户操作验证所使用的实际气体 调用 GasLimit 用于执行 userop.callData 从 EntryPoint 调用到智能账户的限制
--------------------------------
发送用户Op 它向客户端的用户操作池提交用户操作对象。 客户端 MUST 验证用户操作, 并相应返回结果 .
如果且只有在请求通过模拟并在客户端的用户操作池中被接受时,结果才应设定给用户OpHash. 如果验证、模拟或用户操作池包含失败,则不应返回结果 。 相反,客户应该归还失败的原因.
返回值 如果用户操作有效, 客户端 MUST 返回计算过的用户 OpHash
--------------------------------
获取用户OpByHash 返回基于散列( userOpHash) 的用户操作( eth sendUser Operation)
返回值
如果用户操作尚未包含在块中, 或完整的用户操作中, 加上条目点、 块数、 块数、 块Hash 和 交易Hash, 则无效
--------------------------------
获取用户OpRecept
返回 eth sendUser 操作返回的基于散列( userOpHash) 的用户操作收据
返回值 如果用户操作尚未包括在块中,则无效,或者:
用户 OpHash 请求散列 条目点 发送者 无 付费人 用于此用户的支付符 Op( 或空) 实际数值 - 实际支付的金额(按账户或付款人分列) 实际使用量 - 用户操作所使用的气体总量(包括核查前、创建、验证和执行) 成功 boolean - 此执行未返回完成 原因 如果还原,这就是还原的原因 日志 此用户操作生成的日志( 不包括同一捆绑中其他用户操作的日志) 收据 交易检索对象。 请注意, 返回的交易记录是针对整个捆绑, 不仅仅是针对此用户操作 .
--------------------------------