Skip to Content
dApp 接入快速开始

dApp 集成

连接你的 dApp 到 OneKey 钱包,支持 EVM 和 20+ 条非 EVM 链。

选择集成方式

方式适用场景框架
RainbowKit现成钱包 UI,React 应用React
Web3Modal多框架钱包 UIReact / Vue / JS
Web3-Onboard高度定制化,多框架支持React / Vue / JS
Wagmi自定义 UI + React hooksReact
Provider API完全控制,无依赖任意

快速建议: React 应用使用 RainbowKit,Vue/原生 JS 使用 Web3Modal 或 Web3-Onboard。


快速开始

RainbowKit (React)

npm install @rainbow-me/rainbowkit wagmi viem @tanstack/react-query
App.tsx
import '@rainbow-me/rainbowkit/styles.css' import { getDefaultConfig, RainbowKitProvider, ConnectButton } from '@rainbow-me/rainbowkit' import { WagmiProvider } from 'wagmi' import { mainnet } from 'wagmi/chains' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' const config = getDefaultConfig({ appName: 'My dApp', projectId: 'YOUR_WALLETCONNECT_PROJECT_ID', // 从 cloud.walletconnect.com 获取 chains: [mainnet], }) export default function App() { return ( <WagmiProvider config={config}> <QueryClientProvider client={new QueryClient()}> <RainbowKitProvider> <ConnectButton /> </RainbowKitProvider> </QueryClientProvider> </WagmiProvider> ) }

完整指南

Provider API(无依赖)

// 使用 EIP-6963 检测 OneKey const providers = [] window.addEventListener('eip6963:announceProvider', (e) => providers.push(e.detail)) window.dispatchEvent(new Event('eip6963:requestProvider')) // 查找并连接 OneKey const onekey = providers.find(p => p.info.rdns === 'so.onekey.app.wallet') const accounts = await onekey.provider.request({ method: 'eth_requestAccounts' })

完整指南


OneKey 检测

属性
EIP-6963 rdnsso.onekey.app.wallet
Providerwindow.$onekey.ethereum

支持的链

EVM: Ethereum, Polygon, BSC, Arbitrum, Optimism, Base 及所有 EVM 兼容链

非 EVM: Bitcoin, Solana, Cosmos, Aptos, Sui, TON, TRON, Polkadot, Cardano, NEAR

查看所有 Provider API


资源

Last updated on