Stel een minimale Solana wallet-integratie in Next.js (App Router) in met
@solana/kit, de kit-plugins en @solana/react. Je maakt een dropdown voor het verbinden van een wallet en een SOL-overdrachtcomponent.
Next.js Kit App
Bronnen
Vereisten
- Node 20+
- npm
Next.js-project aanmaken
$npx create-next-app@latest my-app$cd my-app
Accepteer bij de prompts alle standaardinstellingen (de starter bevat Tailwind, dat in deze tutorial wordt gebruikt voor eenvoudige utilitystijlen).
Twee aanpassingen aan het basisproject
De standaarduitvoer van create-next-app vereist twee kleine wijzigingen voor deze tutorial:
- Stel in
tsconfig.json"target": "ES2020"in (of hoger). De overdrachtsbedragen gebruikenbigint-literals zoals1_000_000_000n, waarvoor ES2020 vereist is. - Verwijder in
app/globals.csshet gegenereerde@media (prefers-color-scheme: dark)-blok en de achtergrondregels vanbody. Deze UI is alleen voor lichte modus; de donkere standaardinstellingen overschrijven anders het hulpprogrammabg-whiteen maken de pagina onleesbaar in de donkere modus.
Solana-afhankelijkheden installeren
$npm install @solana/kit @solana/kit-plugin-rpc @solana/kit-plugin-wallet @solana/react @solana-program/system
Deze tutorial is gericht op Kit 7+, de @solana/kit-plugin-*-pakketten vanaf versie 0.13+
(0.14+ voor @solana/kit-plugin-wallet) en @solana/react 7+.
1. Solana Provider Aanmaken
app/providers.tsx bouwt één client op moduleniveau en publiceert deze via
ClientProvider. De walletSigner-plugin maakt de verbonden portemonnee de
vergoedingsbetaler en identiteit; exporteer het clienttype zodat componenten
useClient kunnen typen.
2. Layout Bijwerken
Omsluit je applicatie met de Providers-component. Werk app/layout.tsx bij om
het te importeren en te gebruiken:
Dit omsluit de volledige applicatie met de Solana-context zodat alle onderliggende componenten toegang hebben tot de client en portemonnee-hooks.
3. Portemonnee Verbindingsknop
Dropdown om Wallet Standard-portemonnees te verbinden/verbreken. useWallets geeft de
in de browser gevonden portemonnees terug; useConnect / useDisconnect geven een
ActionResult terug — deze component gebruikt de velden dispatch, isRunning en error
daarvan. Elke portemonnee-hook neemt de client als eerste argument, dus haal deze
op via useClient<AppClient>() als eerste stap.
Portemonnee dropdown-opties
Portemonnee dropdown verbonden
4. SOL Overschrijving
Bouw een overdrachtsinstructie met @solana-program/system en verstuur deze via
client.sendTransaction. De verbonden portemonnee ondertekent en betaalt.
SOL overdrachtformulier ingevuld
SOL overdracht geslaagd
Portemonnees worden gevonden via Wallet Standard-detectie; eenmaal verbonden gebruikt de SOL-overdracht de verbonden ondertekenaar als vergoedingsbetaler.
5. Pagina
app/page.tsx rendert de portemonnee-verbindingsknop en SOL-overdrachtcomponenten:
6. De Applicatie Starten
$npm run dev
Open http://localhost:3000, verbind een Devnet-portemonnee en verstuur een SOL-overdracht.
Is this page helpful?