Skip to Content
dApp 接入

快速开始

签名前先连接 provider,并确认所选网络。直接注入的 provider 与 Aptos Wallet Standard 适配器使用不同的参数类型,请勿混用示例。请替换省略的地址,并为只读请求初始化 SDK 客户端。

了解如何检测、连接和与 Aptos 进行交互。

OneKey 提供 Petra 兼容方法和 Aptos Wallet Standard 适配器。两者的方法签名不同,请使用对应集成方式的接口。


Provider 检测

// Detect OneKey Aptos provider const provider = window.$onekey?.aptos if (!provider) { throw new Error('OneKey Aptos provider not detected') } // Check provider info console.log('Provider:', provider.isOneKey ? 'OneKey' : 'Unknown')

连接钱包

// Connect and get account info const response = await provider.connect() console.log({ address: response.address, // Account address publicKey: response.publicKey, // Public key })

检查连接状态

const isConnected = await provider.isConnected() console.log('Connected:', isConnected)

获取当前账户

const account = await provider.account() console.log({ address: account.address, publicKey: account.publicKey, })

获取网络信息

const network = await provider.network() console.log('Network:', network) // 'mainnet', 'testnet', 'devnet' // For full network info const networkInfo = await provider.getNetwork() console.log({ name: networkInfo.name, chainId: networkInfo.chainId, url: networkInfo.url, })

断开连接

await provider.disconnect()

事件监听

监听账户变更

provider.onAccountChange((newAccount) => { if (newAccount) { console.log('Account changed:', newAccount) } else { console.log('Wallet disconnected') } })

监听网络变更

provider.onNetworkChange((network) => { console.log('Network changed:', network) })

从 Petra 迁移

OneKey 的 Aptos provider 与 Petra 兼容。更新您的 provider 检测方式:

// Before (Petra only) const provider = window.petra // After (OneKey with Petra fallback) const provider = window.$onekey?.aptos || window.petra

使用 Aptos Wallet Adapter

对于 React 应用,使用官方的 Aptos Wallet Adapter:

npm install @aptos-labs/wallet-adapter-react
import { AptosWalletAdapterProvider } from '@aptos-labs/wallet-adapter-react' function App() { return ( <AptosWalletAdapterProvider> <YourApp /> </AptosWalletAdapterProvider> ) }

使用兼容 Wallet Standard 的适配器版本,并确认自动发现的钱包列表中包含 OneKey。

最后更新于