Rainbow logo
RainbowKit
2.2.10

Migrando para WalletConnect v2

Prepare seu dApp para a atualização v2 em 5 minutos ou menos

O protocolo WalletConnect v1 será desativado em 28 de junho de 2023, e RainbowKit está com você para tornar a transição super simples.

O suporte para WalletConnect v2 agora é padrão no RainbowKit, sem alterações disruptivas. Basta atualizar e consultar o guia abaixo para obter mais detalhes.

WalletConnect é o protocolo que permite que os usuários conectem suas carteiras móveis ao seu dApp, e é uma base importante do RainbowKit. O lançamento recente do WalletConnect v2 traz uma série de atualizações importantes para tornar a experiência de carteira-dApp ainda melhor.

Com o v2, seus usuários agora podem se conectar simultaneamente a várias blockchains, então você pode esquecer o aperto de mão de troca de rede. Isso também amplia o suporte para mais redes e traz melhorias que tornam o Sign-in com Ethereum ainda mais rápido.

Se você já seguiu os guias de migração do RainbowKit 0.12.x e 1.0.x, então você já está quase lá! Basta atualizar para o último lançamento patch e experimentá-lo.

RainbowKit habilitou o WalletConnect v2 por padrão com 0.12.15 e 1.0.2. Estamos continuando o suporte para 0.12.x caso seu dApp ainda não tenha sido atualizado para o wagmi v1 e RainbowKit v1.

1. Atualizando dependências

npm i @rainbow-me/rainbowkit@^1.0.2 wagmi@^1.2

Se você está usando uma versão do RainbowKit anterior a 0.12.x ou 1.0.x, apenas siga os Guia de Migração para se atualizar.

É recomendado que dApps 0.12.x comecem a atualizar para o wagmi v1, pois melhorias de estabilidade para WalletConnect v2 somente serão incluídas em futuras versões do wagmi.

2. Fornecendo um projectId

Cada dApp que depende do WalletConnect agora precisa obter um projectId do WalletConnect Cloud. Isso é absolutamente gratuito e leva apenas alguns minutos.

Forneça seu projectId para obter getDefaultWallets e conectores de carteira individuais do RainbowKit, como o seguinte:

const projectId = 'YOUR_PROJECT_ID';
const { wallets } = getDefaultWallets({
appName: 'My RainbowKit App',
projectId,
chains,
});
const connectors = connectorsForWallets([
...wallets,
{
groupName: 'Other',
wallets: [
readyWallet({ projectId, chains }),
trustWallet({ projectId, chains }),
ledgerWallet({ projectId, chains }),
],
},
]);

RainbowKit é seguro por tipos e irá alertá-lo quando um projectId estiver ausente. Consulte nossos exemplos para ver o v2 em ação:

Consulte as documentações para opções adicionais suportadas.