Lista Personalizada de Carteiras
Lista Personalizada de Carteiras
Personalizando a lista de carteiras
Você pode importar carteiras individuais de '@rainbow-me/rainbowkit/wallets' juntamente com a função connectorsForWallets para criar sua própria lista de carteiras com os conectores necessários. Dessa forma, você tem total controle sobre quais carteiras exibir e em qual ordem.
Por exemplo, você pode optar por mostrar apenas a Rainbow junto com carteiras genéricas de fallback.
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',
}
);
Você pode então passar seus conectores para a função createConfig do 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>
);
As seguintes carteiras são fornecidas através do objeto wallet.
As seguintes carteiras são destinadas a métodos de conexão genéricos em vez de aplicativos específicos. Como resultado, é recomendado que essas carteiras sejam sempre incluídas.
Esta é uma opção de carteira fallback projetada para carteiras baseadas no WalletConnect que não foram fornecidas por outra carteira na lista.
Recomenda-se que você sempre inclua esta carteira na lista para garantir que todas as carteiras baseadas no WalletConnect sejam suportadas.
import { walletConnectWallet } from '@rainbow-me/rainbowkit/wallets';
Esta é uma opção de carteira fallback projetada para cenários onde window.ethereum existe, mas não foi fornecida por outra carteira na lista. Esta carteira se ocultará automaticamente da lista quando o fallback não for necessário ou se não houver uma carteira injetada disponível.
Recomenda-se que você sempre inclua esta carteira na lista para garantir que todas as carteiras injetadas sejam suportadas.
import { injectedWallet } from '@rainbow-me/rainbowkit/wallets';
Para dApps que suportam Safe Apps, permitindo que os usuários conectem facilmente com seu cofre Safe ou multi-sig, inclua a opção safeWallet para conexões automáticas. A opção Safe só aparecerá no ambiente do navegador Safe Wallet.
import { safeWallet } from '@rainbow-me/rainbowkit/wallets';
As seguintes carteiras são fornecidas através do objeto wallet (em ordem alfabética).
import { oneInchWallet } from '@rainbow-me/rainbowkit/wallets';
import { backpackWallet } from '@rainbow-me/rainbowkit/wallets';
Este conector de carteira suporta Conta Base, a evolução da Coinbase Smart Wallet. Ele fornece autenticação contínua e recursos aprimorados como subcontas e permissões de gasto.
As opções de configuração estão alinhadas com a referência do SDK da Conta Base.
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';
Este conector de carteira inteligente permite autenticação perfeita através de passkeys em keys.gemini.com - sem downloads, extensões ou chaves API necessárias. Funciona direto de fábrica.
O parâmetro appName é obrigatório para identificar seu dApp, e appIcon é opcional para a personalização da experiência de conexão.
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';
Aqui estão alguns exemplos de como exibir diferentes carteiras, em diferentes ordens.
Mostre MetaMask junto com carteiras genéricas de fallback.
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' },
);
Mostrar Rainbow, MetaMask e Conta Base juntamente com carteiras genéricas de fallback.
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' },
);
Lembrete: A ordem do array wallets define a ordem em que as carteiras serão exibidas na UI.
Você pode usar a chave groupName para nomear diferentes grupos de carteiras. Isso é útil se você quiser comunicar aos seus usuários quais carteiras você recomenda, bem como outras possíveis carteiras.
Recomende Rainbow e MetaMask, mas também ofereça Conta Base juntamente com carteiras genéricas de fallback.
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' },
);