Настройте минимальную интеграцию кошелька Solana в Next.js (App Router) с
@solana/kit, плагинами kit и @solana/react. Вы создадите выпадающее меню
подключения кошелька и компонент для перевода SOL.
Next.js Kit App
Ресурсы
Необходимые условия
- Node 20+
- npm
Создание проекта Next.js
$npx create-next-app@latest my-app$cd my-app
Когда появится запрос, примите все значения по умолчанию (стартер уже включает Tailwind, который используется в этом руководстве для простых утилитарных стилей).
Два небольших изменения в шаблоне
Стандартный вывод create-next-app требует двух небольших изменений для этого руководства:
- В
tsconfig.jsonустановите"target": "ES2020"(или выше). Суммы переводов используют литералыbigint, например1_000_000_000n, для которых требуется ES2020. - В
app/globals.cssудалите сгенерированный блок@media (prefers-color-scheme: dark)и правило фонаbody. Этот интерфейс поддерживает только светлую тему; тёмные настройки по умолчанию иначе переопределят утилитуbg-whiteи сделают страницу нечитаемой в тёмном режиме.
Установка зависимостей Solana
$npm install @solana/kit @solana/kit-plugin-rpc @solana/kit-plugin-wallet @solana/react @solana-program/system
Это руководство рассчитано на Kit 7+, пакеты @solana/kit-plugin-* версии 0.13+
и @solana/react 7+. Если ваш пакетный менеджер выдаёт предупреждения о
зависимостях от пакета @solana-program/*, указывающего на более старую версию
Kit, переопределите их — пакеты совместимы с Kit 7.
1. Create Solana Provider
app/providers.tsx создаёт один клиент на уровне модуля и публикует его через
ClientProvider. Плагин walletSigner делает подключённый кошелёк плательщиком
комиссий и удостоверением личности; экспортируйте тип клиента, чтобы компоненты
могли типизировать useClient.
2. Update Layout
Оберните ваше приложение компонентом Providers. Обновите app/layout.tsx,
чтобы импортировать и использовать его:
Это оборачивает всё приложение в контекст Solana, чтобы все дочерние компоненты могли получить доступ к клиенту и хукам кошелька.
3. Кнопка подключения кошелька
Выпадающее меню для подключения/отключения кошельков стандарта Wallet Standard.
useWallets возвращает кошельки, обнаруженные в браузере; useConnect /
useDisconnect возвращают ActionResult — этот компонент использует его поля
dispatch, isRunning и error.
Варианты выпадающего меню кошелька
Кошелёк подключён через выпадающее меню
4. Перевод SOL
Создайте инструкцию перевода с помощью @solana-program/system и отправьте её
через client.sendTransaction. Подключённый кошелёк подписывает транзакцию и
оплачивает комиссию.
Форма перевода SOL заполнена
Перевод SOL выполнен успешно
Кошельки обнаруживаются через механизм Wallet Standard; после подключения перевод SOL использует подключённый кошелёк в качестве плательщика комиссии.
5. Страница
app/page.tsx отображает компоненты подключения кошелька и перевода SOL:
6. Запуск приложения
$npm run dev
Откройте http://localhost:3000, подключите кошелёк в сети Devnet и выполните перевод SOL.
Is this page helpful?