Asiakaskirjasto

@solana/kit sisältää createClient-funktion, joka on pienikokoinen isäntä, jota laajennetaan liitännäisillä. Jokainen liitännäinen lisää ominaisuuden — RPC-yhteyden, allekirjoittajan, tapahtumien suunnittelun — ja koostettu asiakas palvelee skriptejä, palvelinreittejä ja käyttöliittymiä yhtä lailla.

Rakennatko React-sovellusta? React-opas käärii tämän saman asiakkaan @solana/react-kirjastolla, jolloin komponentit lukevat lompakon tilan ja RPC-datan hookien kautta. Aloita sieltä ja palaa tänne, kun tarvitset tarkempaa hallintaa.

Asennus

Terminal
$
npm install @solana/kit @solana/kit-plugin-rpc @solana/kit-plugin-signer

Käytä mitä tahansa paketinhallintaa. Kit on v7+ ja @solana/kit-plugin-*-paketit ovat 0.13+.

Luo asiakas

Yhdistä liitännäiset .use(...)-metodilla. Aseta allekirjoittaja ensin, sitten RPC-yhteys. solanaDevnetRpc() lisää client.rpc:n, tilaukset, tapahtumien suunnittelijan/suorittajan ja client.sendTransaction-apumetodin — joten sovelluksen ei yleensä tarvitse kytkeä näitä osia itse.

import { createClient, generateKeyPairSigner } from "@solana/kit";
import { solanaDevnetRpc } from "@solana/kit-plugin-rpc";
import { signer } from "@solana/kit-plugin-signer";
const payer = await generateKeyPairSigner();
const client = createClient().use(signer(payer)).use(solanaDevnetRpc());
const slot = await client.rpc.getSlot().send();
console.log("current slot", slot);

signer-liitännäinen asettaa sekä maksajan että sovelluksen identiteetin. RPC-paketti edellyttää, että maksaja on asetettu ensin, minkä vuoksi järjestyksellä on merkitystä.

Allekirjoittajan variantit

@solana/kit-plugin-signer tarjoaa kolme roolia, jotta voit myöntää asiakkaalle vain tarvittavat oikeudet:

  • signer(x) — asettaa sekä client.payern että client.identityn.
  • payer(x) — vain tapahtumamaksaja.
  • identity(x) — vain sovelluksen auktoriteetti.

Jokaisella on *FromFile(path) (Node), generated*(), generated*WithSol(amount) ja airdrop*()-variantit testejä ja skriptejä varten.

Lähetä tapahtuma

Rakenna käskyt generoidulla ohjelmaklientillä ja välitä ne client.sendTransaction-metodille. Suunnittelija ratkaisee lohkohashin, arvioi laskennan, allekirjoittaa asiakkaan maksajalla ja lähettää tapahtuman.

import { getTransferSolInstruction } from "@solana-program/system";
import { address, lamports } from "@solana/kit";
const transfer = getTransferSolInstruction({
source: client.payer,
destination: address("Fke...address"),
amount: lamports(10_000_000n) // 0.01 SOL
});
const { context } = await client.sendTransaction([transfer]);
console.log("submitted", context.signature);

sendTransaction palauttaa tulososion; tapahtuman allekirjoitus löytyy result.context.signature-kentästä. Se varmistaa, että suunnitelma mahtuu yhteen tapahtumaan ja heittää poikkeuksen muutoin — käytä sendTransactions-metodia, kun erä voi kattaa useita tapahtumia.

Valitse RPC-paketti

@solana/kit-plugin-rpc sisältää klusterivalmiit asetukset:

  • solanaDevnetRpc() — devnetin oletusasetukset, airdrop käytössä (client.airdrop).
  • solanaMainnetRpc() — mainnet; airdrop on käännösaikainen virhe.
  • solanaLocalRpc()http://127.0.0.1:8899 paikallista validator-solmua varten.
  • solanaRpc({ rpcUrl }) — mikä tahansa päätepiste.
import { solanaRpc } from "@solana/kit-plugin-rpc";
const client = createClient()
.use(signer(payer))
.use(solanaRpc({ rpcUrl: "https://your-rpc-provider.example" }));

Koosta yksityiskohtaisesti

Valmiit paketit yhdistävät RPC-yhteyden, suunnittelijan, suorittajan ja lähetysapumetodit, joten useimmat sovellukset eivät koskaan tarvitse osia erikseen. Siirry yksittäisiin liitännäisiin vain jota yhtä räätälöidäksesi — esimerkiksi mukautettu suunnittelija tai eri tilauskanava. Tämä polku vaatii myös @solana/kit-plugin-instruction-plan-paketin, jonka valmiit paketit muutoin sisällyttävät puolestasi:

import {
solanaRpcConnection,
rpcAirdrop,
rpcTransactionPlanner,
rpcTransactionPlanExecutor
} from "@solana/kit-plugin-rpc";
import { planAndSendTransactions } from "@solana/kit-plugin-instruction-plan";
const client = createClient()
.use(signer(payer))
.use(solanaRpcConnection({ rpcUrl: "https://api.devnet.solana.com" }))
.use(rpcAirdrop())
.use(rpcTransactionPlanner())
.use(rpcTransactionPlanExecutor())
.use(planAndSendTransactions());

Lisää ohjelma-asiakkaita

Generoidut @solana-program/*-paketit tarjoavat asiakasliitännäisiä, jolloin ohjelmakutsut liittyvät suoraan asiakkaaseen. Asenna tarvitsemasi ohjelma ja lisää sen liitännäinen .use()-metodilla:

import { tokenProgram } from "@solana-program/token";
const client = createClient()
.use(signer(payer))
.use(solanaDevnetRpc())
.use(tokenProgram()); // adds client.token

Allekirjoittaminen ilman selainlompakkoa

Ajetaanko API-reitillä, workerissa tai skriptissä headless-tilassa? Allekirjoita taustapalvelun avaintenhallinnan avulla raaka keypair-parin sijaan. Katso Keychain ja Signing in Production.

Yleisiä malleja Solana-kehittäjille

  • Jaettu alustus: Rakenna asiakas kerran ydinmoduulissa ja tuo se skripteihin, palvelinreitteihin ja käyttöliittymään.
  • Palvelinpuolen lukemat: Pelkällä signer + solanaRpc -yhdistelmällä (ilman lompakkoliitännäistä) varustettu asiakas lukee tilejä ja simuloi tapahtumia palvelimelta.
  • Paikallinen testaus: Vaihda RPC-paketti .use(litesvm())-liitännäiseen @solana/kit-plugin-litesvm-paketista ajaaksesi muistissa olevaa validator-solmua vastaan (vain Node).
  • Testattavuus: Koostettu asiakas on helppo simuloida — tynkää RPC-vastauksia tai allekirjoittajia ilman selaimen lompakkoa.

Is this page helpful?

Sisällysluettelo

Muokkaa sivua
© 2026 Solana Foundation. Kaikki oikeudet pidätetään.