Налаштуйте мінімальну інтеграцію гаманця 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+
(0.14+ для @solana/kit-plugin-wallet) та @solana/react 7+.
1. Створення Solana Provider
app/providers.tsx створює один клієнт на рівні модуля і публікує його через
ClientProvider. Плагін walletSigner робить підключений гаманець платником
комісії та ідентифікатором; експортуйте тип клієнта, щоб компоненти могли
типізувати useClient.
2. Оновлення Layout
Огорніть застосунок компонентом Providers. Оновіть app/layout.tsx, щоб
імпортувати та використовувати його:
Це огортає весь застосунок контекстом Solana, щоб усі дочірні компоненти мали доступ до клієнта та хуків гаманця.
3. Кнопка підключення гаманця
Випадаючий список для підключення/відключення гаманців стандарту Wallet Standard.
useWallets повертає гаманці, виявлені у браузері; useConnect / useDisconnect
повертають ActionResult — цей компонент використовує його поля dispatch,
isRunning та error. Кожен хук гаманця приймає клієнт першим аргументом,
тому спочатку отримайте його через useClient<AppClient>().
Варіанти випадаючого списку гаманця
Підключений гаманець у випадаючому списку
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?