Установка
Начнем работать с RainbowKit
Вы можете создать новый проект с RainbowKit + wagmi + Next.js с помощью одной из следующих команд, используя менеджер пакетов на ваш выбор:
Это предложит вам назвать проект, сформирует новую директорию с шаблонным проектом и установит все необходимые зависимости.
Вы можете также вручную интегрировать RainbowKit в существующий проект.
Установите RainbowKit и его зависимые библиотеки: wagmi, viem и @tanstack/react-query.
Импортируйте RainbowKit, Wagmi и TanStack Query.
Настройте необходимые цепочки и создайте требуемые коннекторы. Вам также потребуется настроить конфигурацию wagmi. Если ваше приложение использует серверный рендеринг (SSR), обязательно установите ssr в true.
Обратите ваше приложение с RainbowKitProvider, WagmiProvider, и QueryClientProvider.
Затем в вашем приложении импортируйте и отобразите компонент ConnectButton.
RainbowKit теперь будет управлять выбором кошелька пользователя, отображать информацию о кошельке/транзакции и обрабатывать переключение сети/кошелька.
Некоторые инструменты сборки требуют дополнительной настройки.
При использовании Remix вы должны выполнить полифилы модулей buffer, events и http. Смотрите ниже конфигурацию для Remix или наш пример проекта Remix.
По умолчанию ваше приложение использует публичные RPC-провайдеры для каждой цепочки для получения балансов, разрешения имени ENS и многого другого. Это может часто вызывать проблемы с надежностью для ваших пользователей, так как публичные узлы имеют лимиты. Вместо этого вам следует приобрести доступ к RPC-провайдеру через такие сервисы, как Alchemy или QuickNode, и определить собственные транспорты в Wagmi. Это можно сделать, добавив параметр transports в getDefaultConfig или напрямую через Wagmi's createConfig.
Транспорт — это промежуточный сетевой слой, который обрабатывает отправку JSON-RPC запросов провайдеру узлов Ethereum (таким как Alchemy, Infura и другим).
Пример с использованием http транспорта
Для более подробной информации смотрите документацию по транспорту wagmi.
Теперь, когда ваши пользователи могут подключать свои кошельки, вы можете начать разворачивать оставшуюся часть приложения с помощью wagmi.
Отправка транзакций, взаимодействие с контрактами, разрешение деталей ENS и многое другое с использованием обширного набора React Hook от wagmi.
Для более детальной информации смотрите документацию wagmi.
Чтобы увидеть действующие примеры RainbowKit или даже использовать их для автоматической генерации нового проекта, посмотрите официальные примеры.
Чтобы попробовать RainbowKit прямо в вашем браузере, ознакомьтесь со следующими ссылками на CodeSandbox: