了解 AIP-62 与 Provider API 的配合方式,让 DApp 在 3 分钟内完成 Web3 钱包接入,安全、流畅、零门槛。
👉 立即查看官方 JavaScript SDK,一键体验直连钱包的示例代码。
为什么 AIP-62 与 Provider API 值得关注
AIP-62 是 Aptos 官方推出的「钱包连接统一标准」,解决了各家钱包接口不统一的痛点。与之配套的 Injected Provider API 则以极简的 JavaScript 形式注入浏览器,让开发者无需额外 SDK 即可完成「连接、读取、签名」三大核心能力。
核心关键词
Aptos 钱包 | Provider API | Inject Provider | Web3 接入 | AIP-62 | 签名交易 | DEX 连接
Injected Provider 是如何工作的?
打开网页时,浏览器插件将 window.okxwallet.aptos 对象注入全局作用域。开发者通过对该对象的方法调用,就能完成:
- 请求连接钱包
- 读取账户信息
- 获取当前网络
- 签名交易 / 消息
- 监听事件(账户/网络切换)
所有通信都遵循 AIP-62 协议,返回的数据结构与官方标准保持 1:1 映射,方便未来与钱包桥的兼容。
API 全流程速查
每项示例仅需 5 行以内代码即可跑通。
1. 连接账户
await window.okxwallet.aptos.connect()
// 返回 { address: string, publicKey: string }- 用户第一次访问,将弹窗确认;确认后即可访问地址与公钥。
- 常见场景:登录即授权、登录即绑定。
失败场景排查:未安装插件、网络不匹配、用户拒绝。
2. 获取账户信息
const { address, publicKey } = await window.okxwallet.aptos.account()若用户已连接,直接返回;若未连接,会触发 Promise.reject("Unconnected")。
3. 读取当前网络
const network = await window.okxwallet.aptos.network()
// 结果示例:mainnet / testnet / devnet在 DEX 场景下,常与主网做对比,防止误操作导致转账到错误链。
4. 签名并提交交易
const tx = {
sender: address,
payload: { /* 你的 Move 调用 */ },
// 其他 Aptos 交易字段
}
const pendingTx = await window.okxwallet.aptos.signAndSubmitTransaction(tx)返回值包含 hash,即可链上追踪交易状态。
👉 查看一键部署的完整交易 Demo,一行即可复制运行。
5. 签名消息
const signed = await window.okxwallet.aptos.signMessage("Hello Aptos World")用于「链下登录」「认证身份」等场景;注意后续须验证签名有效性。
事件监听:不漏掉任何状态变更
| 事件 | 触发场景 | 建议动作 |
|---|---|---|
onAccountChange | 用户切换账户 | 更新前端显示、重新鉴权 |
onNetworkChange | 网络切换 | 判断链 ID、提示主网/测试网 |
| 断开连接 | 钱包账户被删除 | 清空本地缓存,引导重连 |
简单示例:
window.okxwallet.aptos.onAccountChange(() => {
location.reload()
})完整错误码表
| 错误码 | 含义 | 解决建议 |
|---|---|---|
| 4001 | 用户拒绝 | 友好提示,勿强制 |
| -32602 | 参数格式错误 | 按 AIP-62 重新组织 payload |
| -32603 | 未知内部异常 | 捕获日志,联系插件团队 |
常见问题与解答(FAQ)
Q1:我的 DApp 已集成了旧版 Adapter,需要重写吗?
A:不需要。AIP-62 向下兼容旧字段,旧版仍可正常运行,只需替换入口方法即可。
Q2:用户没有安装插件会出现什么?
A:window.okxwallet 为 undefined,建议在入口判断并弹出「安装指引」。
Q3:如何同时在主网与测试网切换?
A:在 UI 提供网络标签。监听 onNetworkChange,收到新网络后自动重载 RPC 端点。
Q4:签名结果如何验证?
A:使用官方 @aptos-labs/ts-sdk 里的 verifySignature,前段范式与 Ethereum 类似,确保一致性。
Q5:交易一直 pending,怎么排查?
A:首先确认 Gas 足够,再查看链浏览器 (hash),若 30 秒未出块,提示用户手动加速。
进阶:为 DEX 打造丝滑的“限额”与“分批”交互
在真实 DEX 场景中,常常需要执行 批量限价单。开发者可先通过 forkSignTransaction 在本地完成预签名,再集中用 signAndSubmitTransaction 合并提交。整个过程可低至 1.2 秒内完成,让用户拥有接近 CEX 的体验。
写在最后
AIP-62 让 Aptos 生态第一次拥有了标准化接入流程,而 Injected Provider API 则提供了极简实现路径。
👉 立即部署 5 行代码,把 Aptos 钱包对接完成。
多看一次示例,少踩一次坑,祝你的 DApp 早日上线!