@account-abstraction/sdk

中文文档
0.6.0发布于 2023/05/08MITTypeScriptCommonJS近 30 天下载 4281

这个软件包为使用用户操作提供了2个API:

中文使用文档
文档目录4 节
  1. 低级 API :
  2. 基础WalletAPI
  3. 简单账户
  4. 高级提供者 API

创建并发送用户操作的 SDK

这个软件包为使用用户操作提供了2个API:

  • 低级"walletAPI"
  • 高级别提供者

低级 API :

基础WalletAPI

为合同钱包创建用户操作的抽象基础类.

简单账户

实施BaseWalletAPI,为简易Wallet的账户-汇总样本.

owner = provider.getSigner()
const walletAPI = new SimpleAccountAPI({
    provider, 
    entryPointAddress,
    owner,
    factoryAddress
})
const op = await walletAPI.createSignedUserOp({
  target: recipient.address,
  data: recipient.interface.encodeFunctionData('something', ['hello'])
})

高级提供者 API

一个不需要不同钱包扩展的简化模式. 取而代之的是,目前提供商的账户被作为钱包所有者使用,称其"签名消息"操作.

这只能用于使用 EIP-191 ("Ethereum Signed Message" ) 签名的钱包( 就像我们的样本SimpleWallet) 另外,UX也不大(用户被要求在散列上签名,甚至钱包地址也没有提及,只有签名者)

import { wrapProvider } from '@account-abstraction/sdk'

//use this account as wallet-owner (which will be used to sign the requests)
const aaSigner = provider.getSigner()
const config = {
  chainId: await provider.getNetwork().then(net => net.chainId),
  entryPointAddress,
  bundlerUrl: 'http://localhost:3000/rpc'
} 
const aaProvider = await wrapProvider(provider, config, aaSigner)
const walletAddress = await aaProvider.getSigner().getAddress()

// send some eth to the wallet Address: wallet should have some balance to pay for its own creation, and for calling methods.

const myContract = new Contract(abi, aaProvider)

// this method will get called from the wallet address, through account-abstraction EntryPoint
await myContract.someMethod()

版本与发布记录

@account-abstraction/sdk 共发布 8 个版本,首次发布于 2022/10/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.6.0latest2023/05/083 年前
0.5.02023/02/243 年前
0.4.02022/12/283 年前
0.3.02022/11/283 年前
0.2.32022/10/094 年前
0.2.22022/10/094 年前

关于 @account-abstraction/sdk 的常见问题

@account-abstraction/sdk 是什么?

这个软件包为使用用户操作提供了2个API:

如何安装 @account-abstraction/sdk?

在项目目录运行 npm install @account-abstraction/sdk,或使用 pnpm add / yarn add / bun add。

@account-abstraction/sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@account-abstraction/sdk 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@account-abstraction/sdk 可以商用吗?

@account-abstraction/sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@account-abstraction/sdk 的下载量有多少?

根据 npm 官方下载统计,@account-abstraction/sdk 在 2026/10/05 – 2026/11/03 这 30 天内被下载 4,281 次,日均约 143 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@account-abstraction/sdk 还在维护吗?

最新版本 0.6.0 发布于 2023/05/08(3 年前);至今共发布 8 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/10/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。