文档
GameOn 架构文档

GameOn 架构文档

Bundler 代付

Bundler作为收集UserOperation,在本地维护一个OP的交易池,并且为用户代付钱包交易,可收集批量OP后统一发给EntryPoint。 Bundler作为一个后端服务,提供外部RPC接口,接收UserOperation接口,查询EntryPoint状态,调试接口等

EIP4337标准合约

合约上有以下模块

  • UserOperation 交易对核心数据结构,定义了钱包地址,生成钱包iniCode或调用合约的callData,对gas的控制和管理者的签名
  • EntryPoint 用作批量交易对统一接入入口,会模拟 UserOperation 执行,并更加参数去发起钱包合约调用
  • UserWallet 用户合约账户钱包,里面模拟了操作nonce,对安全特性和恢复机制可以有一定定制
  • Paymaster(可选)用作替代用户去使用gas的规则,可选gasless,usdt,或者其他ERC20代币支付

社交恢复后端

目前在找回账户需要记录账户关联守护人, 提供两套恢复标准: 设定3个守护人,超过一半同意恢复账户 设定专业管理员,通过个人认证恢复账户

一键搭建 4337 平台

4337作为关联复杂的系统,需要重头搭起Bundler,合约,恢复也是比较复杂的过程 作为开发者连接的平台,我们提供一个前端负责一键搭建所有模块和应用,让项目方专注在玩法和业务上

统一的AA onboarding SDK

aa的范式跟传统web3 eoa的范式有很多改变,基础库的缺乏,接入仍是比较复杂的。 我们提供 aa-lib SDK,类似 aa 的ether.js开发工具,让项目在项目能很容易帮用户创建钱包等操作, 并且提供了封装创建钱包,发送ERC20,发送ERC721,swap合约操作等OP的封装。 同时我们提供一些模板让项目接入,并且我们努力适应各种aa项目,SDK打通接入各种aa钱包