SuperAPI AI 工具集

ts-sdk-wallet-adapter

前端与建站

查看项目

更新于 10-15 19:57

技能介绍

用途:指导在 React 前端通过 @aptos-labs/wallet-adapter-react 完成钱包连接与交易提交,让终端用户用浏览器钱包(如 Petra、Nightly)签名,而非使用原始私钥。

安装:npm install @aptos-labs/wallet-adapter-react。符合 AIP-62 标准的现代钱包会被自动检测,无需额外包;旧版钱包需单独安装其插件包。

使用方式:用 AptosWalletAdapterProvider 包裹应用根节点,否则 useWallet() 无法工作,可配置 autoConnect、dappConfig(如 network: Network.TESTNET)与 onError。在组件内调用 useWallet() 获取 account、connected、wallet、wallets、connect、disconnect、signAndSubmitTransaction、signTransaction、submitTransaction、signMessage、signMessageAndVerify、changeNetwork、network。前端提交交易须使用钱包适配器的 signAndSubmitTransaction,而非 SDK 的直接方法;提交后必须调用 aptos.waitForTransaction({ transactionHash }) 等待上链确认,因为钱包返回仅代表交易被接受而非已提交。构建交易负载可用 InputTransactionData 类型。连接界面应遍历 wallets 数组动态生成钱包列表并调用 connect(w.name)。

主要限制与常见错误:不要在浏览器使用 Account.generate() 或原始私钥;不要在 React 组件中使用 SDK 的 aptos.signAndSubmitTransaction;不要硬编码钱包名称;需捕获并处理用户拒绝签名的情况。changeNetwork 并非所有钱包都支持。