跳到主要内容

ERC-4337

BotChain 提供兼容 EntryPoint v0.7 的账户抽象基础设施。开发者可以选择直接接入 EntryPoint、使用 BotChain Bundler、采用参考 SimpleAccount,或部署自定义智能账户和 Paymaster。

ERC-4337 交易流程

接入前准备:配置 Gas 资金来源​

发送 UserOperation 前,必须通过以下任一方式准备足够的 Gas 资金:

  • 充值 EntryPoint deposit:调用 EntryPoint.depositTo(sender),为智能账户地址预存 Gas;可通过 EntryPoint.balanceOf(sender) 查询余额。

  • 充值智能账户:向智能账户地址转入足够的原生 BOT,由兼容的账户实现在验证阶段补足 EntryPoint 所需资金。自定义账户必须正确处理 missingAccountFunds。

  • 使用 Paymaster:在 UserOperation 中提供 Paymaster 数据,由 Paymaster 代付 Gas;Paymaster 自身必须在 EntryPoint 中有足够的 deposit,并按 Bundler 策略准备 stake。

四类接入能力​

1. 通过 Bundler 接入-推荐方式​

开发者封装 UserOperation 参数,调用 BOT Chain Bundler RPC,完成模拟、打包并调用 EntryPoint,适合钱包和 DApp 直接接入。UserOperation 构造和 RPC 接口参照 Bundler RPC。

2. 直接接入 EntryPoint-高级方式​

开发者可以通过链 RPC 接入 EntryPoint v0.7,适合自建 Bundler/Relayer 基础设施的团队。具体请参照 EntryPoint。

3. 使用或自定义智能账户​

开发者可以采用 SimpleAccount 参考实现,也可以实现自己的 ERC-4337 智能账户。接口和自定义说明参照 智能账户。

4. 自定义 Paymaster-可选​

开发者可以实现兼容 EntryPoint v0.7 的 Paymaster,为符合策略的 UserOperation 支付 Gas。参照 自定义 Paymaster。