Skip to Content
dAppsSchnellstart

dApp-Integration

Verbinden Sie Ihre dApp über einen chainspezifischen Provider oder eine Wallet-Verbindungsbibliothek mit der OneKey-Wallet.

Methode auswählen

MethodeAm besten geeignet fürFramework
RainbowKitFertige Wallet-Oberfläche, React-AppsReact
Web3ModalWallet-Oberfläche für mehrere FrameworksReact / Vue / JS
Web3-OnboardUmfangreiche Anpassung, mehrere FrameworksReact / Vue / JS
WagmiEigene Oberfläche mit React HooksReact
Provider-APIVolle Kontrolle, keine AbhängigkeitenBeliebig

Kurze Empfehlung: Verwenden Sie RainbowKit für React-Apps und Web3Modal oder Web3-Onboard für Vue/reines JS.


Schnellstart

RainbowKit (React)

npm install @rainbow-me/rainbowkit@^2 wagmi@^2 viem@^2 @tanstack/react-query@^5
App.tsx
import '@rainbow-me/rainbowkit/styles.css' import { getDefaultConfig, RainbowKitProvider, ConnectButton } from '@rainbow-me/rainbowkit' import { oneKeyWallet, injectedWallet, walletConnectWallet } from '@rainbow-me/rainbowkit/wallets' import { WagmiProvider } from 'wagmi' import { mainnet } from 'wagmi/chains' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' const config = getDefaultConfig({ appName: 'My dApp', wallets: [{ groupName: 'Wallets', wallets: [oneKeyWallet, injectedWallet, walletConnectWallet] }], projectId: 'YOUR_WALLETCONNECT_PROJECT_ID', // Get from cloud.reown.com chains: [mainnet], }) const queryClient = new QueryClient() export default function App() { return ( <WagmiProvider config={config}> <QueryClientProvider client={queryClient}> <RainbowKitProvider> <ConnectButton /> </RainbowKitProvider> </QueryClientProvider> </WagmiProvider> ) }

Vollständige Anleitung

Provider-API (ohne Abhängigkeiten)

// Detect OneKey using EIP-6963 let onekeyProvider = null const onAnnounce = (event) => { if (event.detail.info.rdns === 'so.onekey.app.wallet') { onekeyProvider = event.detail.provider } } window.addEventListener('eip6963:announceProvider', onAnnounce) window.dispatchEvent(new Event('eip6963:requestProvider')) // Call from your Connect button after the user selects OneKey. async function connectOneKey() { if (!onekeyProvider) throw new Error('OneKey has not announced a provider yet') return onekeyProvider.request({ method: 'eth_requestAccounts' }) } // On component cleanup: // window.removeEventListener('eip6963:announceProvider', onAnnounce)

Vollständige Anleitung


OneKey erkennen

EigenschaftWert
EIP-6963 rdnsso.onekey.app.wallet
Providerwindow.$onekey.ethereum

Unterstützte Chains

EVM: Ethereum und unterstützte EVM-Netzwerke, einschließlich Polygon, BSC, Arbitrum, Optimism und Base

Nicht-EVM: Bitcoin, Solana, Cosmos, Aptos, Sui, TON, TRON, Polkadot, Cardano, NEAR und weitere

Alle Provider-APIs anzeigen


Ressourcen

Zuletzt aktualisiert am