Rainbow logo
RainbowKit
2.2.10

Применение кнопки Rainbow в вашем dApp

Компонент RainbowButton является самым простым способом добавить поддержку Rainbow Wallet для dApp, которые используют wagmi и предпочитают более индивидуальный опыт подключения RainbowKit.

1. Установите @rainbow-me/rainbow-button и его зависимые пакеты

Пакет совместим с Next.js, React и Vite. Убедитесь, что вы учитываете предупреждения о зависимостях.

npm install @rainbow-me/rainbow-button wagmi [email protected] @tanstack/react-query

2. Настройка с Wagmi и установка RainbowButton

Передайте экземпляр rainbowConnector в createConfig Wagmi с projectId и appName, и оберните ваше приложение в RainbowButtonProvider. Затем добавьте компонент RainbowButton.

import '@rainbow-me/rainbow-button/styles.css';
import { RainbowButtonProvider, RainbowButton, rainbowConnector, } from '@rainbow-me/rainbow-button';
import { WagmiProvider, createConfig, http } from 'wagmi';
import { mainnet } from 'viem/chains';
import { QueryClientProvider, QueryClient, } from "@tanstack/react-query";
const config = createConfig({
connectors: [
rainbowConnector({
appName: 'RainbowKit demo',
projectId: 'YOUR_PROJECT_ID',
}),
],
chains: [mainnet],
transports: {
[mainnet.id]: http(),
},
ssr: true,
});
const queryClient = new QueryClient();
function MyApp({ Component, pageProps }: AppProps) {
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<RainbowButtonProvider>
<RainbowButton />
</RainbowButtonProvider>
</QueryClientProvider>
</WagmiProvider>
);
}

Вы также можете использовать компонент RainbowButton.Custom для пользовательской реализации и стилей.

<RainbowButton.Custom>
{({ ready, connect }) => {
return (
<button type="button" disabled={!ready} onClick={connect} >
Connect Rainbow
</button>
);
}}
</RainbowButton.Custom>

3. И все!

Теперь ваши пользователи смогут наслаждаться бесшовным подключением к Rainbow — без какого-либо обслуживания или головной боли.

Компонент WalletButton также доступен в RainbowKit, если вы хотите добавить поддержку дополнительных кошельков.