Пользовательский список кошельков
Пользовательский список кошельков
Настройка списка кошельков
Вы можете импортировать отдельные кошельки из '@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',
}
);
Затем вы можете передать свои коннекторы в createConfig
Wagmi.
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, чтобы позволить пользователям легко подключаться к своему сейф-кошельку или multi-sig, включите опцию safeWallet
для автоматического подключения. Опция Safe будет отображаться только в браузерной среде Safe Wallet.
import { safeWallet } from '@rainbow-me/rainbowkit/wallets';
Следующие кошельки предоставляются через объект wallet
(в алфавитном порядке).
import { oneInchWallet } from '@rainbow-me/rainbowkit/wallets';
import { argentWallet } from '@rainbow-me/rainbowkit/wallets';
import { backpackWallet } from '@rainbow-me/rainbowkit/wallets';
import { berasigWallet } from '@rainbow-me/rainbowkit/wallets';
import { bestWallet } from '@rainbow-me/rainbowkit/wallets';
import { binanceWallet } from '@rainbow-me/rainbowkit/wallets';
import { bitgetWallet } from '@rainbow-me/rainbowkit/wallets';
import { bifrostWallet } 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';
Этот коннектор для кошелька поддерживает как Coinbase Wallet app так и расширение, а также Coinbase Smart Wallet в сети.
Доступен аргумент preference
для управления тем, включен ли Smart Wallet и доступен ли он для пользователей. Поведение на основе предпочтений документировано здесь.
Smart Wallet будет включен по умолчанию с опцией all
в начале июня без необходимости обновления.
Разработчики могут проверить Smart Wallet с цепями sepolia
и baseSepolia
сегодня, установив smartWalletOnly
и включив coinbaseWallet
в свой список кошельков, как показано ниже:
import { coinbaseWallet } from '@rainbow-me/rainbowkit/wallets';
coinbaseWallet.preference = 'smartWalletOnly';
import { coin98Wallet } from '@rainbow-me/rainbowkit/wallets';
import { compassWallet } from '@rainbow-me/rainbowkit/compassWallet';
import { coreWallet } 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';
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 { mewWallet } from '@rainbow-me/rainbowkit/wallets';
import { metaMaskWallet } 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 { rabbyWallet } from '@rainbow-me/rainbowkit/wallets';
import { rainbowWallet } from '@rainbow-me/rainbowkit/wallets';
import { ramperWallet } 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 { xdefiWallet } 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';
import { wigwamWallet } 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 и Coinbase вместе с общими резервными кошельками.
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
rainbowWallet,
metaMaskWallet,
coinbaseWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Suggested',
wallets: [
rainbowWallet,
metaMaskWallet,
coinbaseWallet,
walletConnectWallet,
],
},
],
{ appName: 'RainbowKit App', projectId: 'YOUR_PROJECT_ID' },
);
Напоминание: Порядок кошельков в массиве wallets
определяет порядок, в котором кошельки будут отображаться в пользовательском интерфейсе.
Вы можете использовать ключ groupName
для назначения разных групп кошельков. Это полезно, если вы хотите сообщить своим пользователям, какие кошельки вы рекомендуете, а также о других возможных кошельках.
Рекомендовать Rainbow и MetaMask, но также предлагать Coinbase вместе с общими резервными кошельками.
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
rainbowWallet,
metaMaskWallet,
coinbaseWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Recommended',
wallets: [rainbowWallet, metaMaskWallet],
},
{
groupName: 'Others',
wallets: [coinbaseWallet, walletConnectWallet],
},
],
{ appName: 'RainbowKit App', projectId: 'YOUR_PROJECT_ID' },
);