自訂錢包列表
自訂錢包列表
自訂錢包列表設置
您可以從 '@rainbow-me/rainbowkit/wallets' 中導入單獨的錢包,並使用 connectorsForWallets 函數來建立自己的錢包列表及其必要的連接器。 這樣,您可以完全控制顯示哪些錢包,以及顯示的順序。
例如,您可以選擇只顯示 Rainbow 以及通用的備用錢包。
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
rainbowWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Recommended',
wallets: [rainbowWallet, walletConnectWallet],
},
],
{
appName: 'My RainbowKit App',
projectId: 'YOUR_PROJECT_ID',
}
);
然後,您可以將您的連接器傳遞給 Wagmi 的 createConfig。
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import { createConfig } from 'wagmi';
const connectors = connectorsForWallets();
const config = createConfig({
connectors,
{}
});
const queryClient = new QueryClient();
const App = () => (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<RainbowKitProvider {...etc}>
{}
</RainbowKitProvider>
</QueryClientProvider>
</WagmiProvider>
);
以下錢包通過 wallet 對象提供。
以下錢包針對通用連接方法而不是特定應用。因此,建議始終包括這些錢包。
這是一個為未由列表中的其他錢包提供的基於 WalletConnect 的錢包而設計的備用選項。
建議始終在列表中包含此錢包,以確保所有基於 WalletConnect 的錢包都得到支持。
import { walletConnectWallet } from '@rainbow-me/rainbowkit/wallets';
這是一個為存在 window.ethereum 但未由列表中的其他錢包提供的情況而設計的備用錢包選項。當不需要備用或者沒有可用的注入錢包時,該錢包會自動隱藏。
建議始終在列表中包含此錢包,以確保所有注入錢包都得到支持。
import { injectedWallet } from '@rainbow-me/rainbowkit/wallets';
對於支持 Safe Apps 的 dApps,讓用戶輕鬆連接到他們的 Safe vault 或 multi-sig,請包含 safeWallet 選項以自動連接。 Safe 選項僅在 Safe Wallet 瀏覽器環境中顯示。
import { safeWallet } from '@rainbow-me/rainbowkit/wallets';
以下錢包通過 wallet 對象提供(按字母順序排列)。
import { oneInchWallet } from '@rainbow-me/rainbowkit/wallets';
import { backpackWallet } from '@rainbow-me/rainbowkit/wallets';
這個錢包連接器支持基本帳戶,即 Coinbase 智能錢包的演變。它提供無縫認證和增強功能,例如子賬戶和支出許可權。
配置選項與基本帳戶 SDK 參考一致。
import { baseAccount } from '@rainbow-me/rainbowkit/wallets';
baseAccount.preference = {
attribution: { auto: true },
};
baseAccount.preference = {
attribution: { dataSuffix: '0x1234567890abcdef' },
};
baseAccount.subAccounts = {
creation: 'on-connect',
defaultAccount: 'sub',
funding: 'spend-permissions',
};
baseAccount.paymasterUrls = {
[base.id]: 'https://api.developer.coinbase.com/rpc/v1/base/...',
};
import { berasigWallet } from '@rainbow-me/rainbowkit/wallets';
import { bestWallet } from '@rainbow-me/rainbowkit/wallets';
import { bifrostWallet } from '@rainbow-me/rainbowkit/wallets';
import { binanceWallet } from '@rainbow-me/rainbowkit/wallets';
import { bitgetWallet } from '@rainbow-me/rainbowkit/wallets';
import { bitskiWallet } from '@rainbow-me/rainbowkit/wallets';
import { bitverseWallet } from '@rainbow-me/rainbowkit/wallets';
import { bloomWallet } from '@rainbow-me/rainbowkit/wallets';
import { braveWallet } from '@rainbow-me/rainbowkit/wallets';
import { bybitWallet } from '@rainbow-me/rainbowkit/wallets';
import { coin98Wallet } from '@rainbow-me/rainbowkit/wallets';
import { compassWallet } from '@rainbow-me/rainbowkit/compassWallet';
import { coreWallet } from '@rainbow-me/rainbowkit/wallets';
import { ctrlWallet } from '@rainbow-me/rainbowkit/wallets';
import { dawnWallet } from '@rainbow-me/rainbowkit/wallets';
import { enkryptWallet } from '@rainbow-me/rainbowkit/wallets';
import { foxWallet } from '@rainbow-me/rainbowkit/wallets';
import { frameWallet } from '@rainbow-me/rainbowkit/wallets';
import { frontierWallet } from '@rainbow-me/rainbowkit/wallets';
import { gateWallet } from '@rainbow-me/rainbowkit/wallets';
這個智能錢包連接器通過 keys.gemini.com 的通行碼實現無縫身份驗證 - 無需下載、擴展或 API 密鑰。它開箱即用。
appName 參數是識別您的 dApp 所需的,appIcon 是為了品牌體驗而可選的。
import { geminiWallet } from '@rainbow-me/rainbowkit/wallets';
const gemini = geminiWallet({
appName: 'My App',
appIcon: 'https://my-app.com/logo.png',
});
import { imTokenWallet } from '@rainbow-me/rainbowkit/wallets';
import { iopayWallet } from '@rainbow-me/rainbowkit/wallets';
import { kaiaWallet } from '@rainbow-me/rainbowkit/wallets';
import { kaikasWallet } from '@rainbow-me/rainbowkit/wallets';
import { krakenWallet } from '@rainbow-me/rainbowkit/wallets';
import { kresusWallet } from '@rainbow-me/rainbowkit/wallets';
import { ledgerWallet } from '@rainbow-me/rainbowkit/wallets';
import { magicEdenWallet } from '@rainbow-me/rainbowkit/wallets';
import { metaMaskWallet } from '@rainbow-me/rainbowkit/wallets';
import { mewWallet } from '@rainbow-me/rainbowkit/wallets';
import { novaWallet } from '@rainbow-me/rainbowkit/wallets';
import { okxWallet } from '@rainbow-me/rainbowkit/wallets';
import { omniWallet } from '@rainbow-me/rainbowkit/wallets';
import { oneKeyWallet } from '@rainbow-me/rainbowkit/wallets';
import { paraSwapWallet } from '@rainbow-me/rainbowkit/wallets';
import { phantomWallet } from '@rainbow-me/rainbowkit/wallets';
import { portoWallet } from '@rainbow-me/rainbowkit/wallets';
import { rabbyWallet } from '@rainbow-me/rainbowkit/wallets';
import { rainbowWallet } from '@rainbow-me/rainbowkit/wallets';
import { ramperWallet } from '@rainbow-me/rainbowkit/wallets';
import { readyWallet } from '@rainbow-me/rainbowkit/wallets';
import { roninWallet } from '@rainbow-me/rainbowkit/wallets';
import { safeheronWallet } from '@rainbow-me/rainbowkit/wallets';
import { tahoWallet } from '@rainbow-me/rainbowkit/wallets';
import { talismanWallet } from '@rainbow-me/rainbowkit/wallets';
import { tokenaryWallet } from '@rainbow-me/rainbowkit/wallets';
import { tokenPocketWallet } from '@rainbow-me/rainbowkit/wallets';
import { trustWallet } from '@rainbow-me/rainbowkit/wallets';
import { uniswapWallet } from '@rainbow-me/rainbowkit/wallets';
import { valoraWallet } from '@rainbow-me/rainbowkit/wallets';
import { wigwamWallet } from '@rainbow-me/rainbowkit/wallets';
import { xPortalWallet } from '@rainbow-me/rainbowkit/wallets';
import { zerionWallet } from '@rainbow-me/rainbowkit/wallets';
import { zilPayWallet } from '@rainbow-me/rainbowkit/wallets';
以下是顯示不同錢包的幾個示例,按不同順序排列。
顯示 MetaMask 以及通用備用錢包。
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
metaMaskWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Recommended',
wallets: [metaMaskWallet, walletConnectWallet],
},
],
{ appName: 'RainbowKit App', projectId: 'YOUR_PROJECT_ID' },
);
顯示 Rainbow、MetaMask 和 Base 帳戶,連同通用的備用錢包。
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
rainbowWallet,
metaMaskWallet,
baseAccount,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Suggested',
wallets: [
rainbowWallet,
metaMaskWallet,
baseAccount,
walletConnectWallet,
],
},
],
{ appName: 'RainbowKit App', projectId: 'YOUR_PROJECT_ID' },
);
提醒:wallets 陣列的順序定義了錢包在用戶介面中顯示的順序。
您可以使用 groupName 鍵來命名不同的錢包群組。如果您想要向用戶傳達您推薦哪些錢包,以及其他可能的錢包,這樣做將非常有用。
推薦使用 Rainbow 和 MetaMask,但也提供 Base 帳戶以及通用的備用錢包。
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
rainbowWallet,
metaMaskWallet,
baseAccount,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Recommended',
wallets: [rainbowWallet, metaMaskWallet],
},
{
groupName: 'Others',
wallets: [baseAccount, walletConnectWallet],
},
],
{ appName: 'RainbowKit App', projectId: 'YOUR_PROJECT_ID' },
);