Perusmaksu

Solana mahdollistaa välittömät, globaalit token-siirrot alle 0,001 dollarin maksuilla. Rakensitpa rajat ylittäviä rahalähetyksiä, palkanlaskentaa tai treasury-toimintoja, perus-stablecoin-maksu toteutuu alle sekunnissa ja maksaa murto-osan sentistä.

Miten se toimii

Maksu siirtää stablecoineja lähettäjän token-tilin vastaanottajan token-tilille. Jos vastaanottaja saa tätä tokenia ensimmäistä kertaa, hänen token-tilinsä voidaan luoda osana samaa transaktiota.

Katso How Payments Work on Solana maksun peruskäsitteistä.

splToken-apufunktio @solana/client-kirjastosta käsittelee ATA-johdannaisen, desimaalien muunnoksen ja transaktioiden rakentamisen automaattisesti. Tämä on ihanteellinen yksittäisiin maksusiirtoihin.

Alla olevat vaiheet näyttävät peruskulun. Katso Demo täydellisestä ajettavasta koodista.

Luo token-apufunktio

Konfiguroi splToken()-apufunktio kutsumalla client.splToken()-metodia mint-osoitteella. Apufunktio tarjoaa metodeja yleisiin token-operaatioihin.

Asettamalla tokenProgram: "auto" tunnistetaan automaattisesti, omistaako mint accountin Token- vai Token-2022-ohjelma.

Lähetä maksu

Käytä sendTransfer()-metodia siirtääksesi tokeneita lompakoiden välillä. Metodi käsittelee:

  • ATA-selvitys: Johtaa automaattisesti Associated Token Accountit (ATA:t) lähettäjälle ja vastaanottajalle. Jos vastaanottajan ATA:ta ei ole olemassa, ohje tilin luomiseksi lisätään automaattisesti samaan transaktioon.
  • Desimaalien muunnos: Hyväksyy token-määrät ja muuntaa ne automaattisesti perusyksiköiksi mintin desimaalien perusteella (esim. 0,25 tokenia -> 250000 perusyksikköä, jos mintillä on 6 desimaalia)
  • Transaktioiden rakentaminen: Luo, allekirjoittaa ja lähettää transaktion siirto-ohjeen kanssa
Basic Payment
const client = createClient({
endpoint: "http://localhost:8899",
websocketEndpoint: "ws://localhost:8900",
commitment: "confirmed"
});
const splToken = client.splToken({
mint: mint.address,
tokenProgram: "auto"
});
const signature = await splToken.sendTransfer({
amount: 0.25,
authority: sender,
destinationOwner: recipient.address
});

Tarkista saldot

Siirron valmistuttua käytä fetchBalance() -metodia token-saldojen tarkistamiseen. Tämä metodi ottaa vastaan lompakon osoitteen ja johtaa automaattisesti vastaavan ATA:n saldon hakemista varten.

Basic Payment
const client = createClient({
endpoint: "http://localhost:8899",
websocketEndpoint: "ws://localhost:8900",
commitment: "confirmed"
});
const splToken = client.splToken({
mint: mint.address,
tokenProgram: "auto"
});
const signature = await splToken.sendTransfer({
amount: 0.25,
authority: sender,
destinationOwner: recipient.address
});
const senderBalance = await splToken.fetchBalance(sender.address);
const recipientBalance = await splToken.fetchBalance(recipient.address);

Luo token-apufunktio

Konfiguroi splToken()-apufunktio kutsumalla client.splToken()-metodia mint-osoitteella. Apufunktio tarjoaa metodeja yleisiin token-operaatioihin.

Asettamalla tokenProgram: "auto" tunnistetaan automaattisesti, omistaako mint accountin Token- vai Token-2022-ohjelma.

Lähetä maksu

Käytä sendTransfer()-metodia siirtääksesi tokeneita lompakoiden välillä. Metodi käsittelee:

  • ATA-selvitys: Johtaa automaattisesti Associated Token Accountit (ATA:t) lähettäjälle ja vastaanottajalle. Jos vastaanottajan ATA:ta ei ole olemassa, ohje tilin luomiseksi lisätään automaattisesti samaan transaktioon.
  • Desimaalien muunnos: Hyväksyy token-määrät ja muuntaa ne automaattisesti perusyksiköiksi mintin desimaalien perusteella (esim. 0,25 tokenia -> 250000 perusyksikköä, jos mintillä on 6 desimaalia)
  • Transaktioiden rakentaminen: Luo, allekirjoittaa ja lähettää transaktion siirto-ohjeen kanssa

Tarkista saldot

Siirron valmistuttua käytä fetchBalance() -metodia token-saldojen tarkistamiseen. Tämä metodi ottaa vastaan lompakon osoitteen ja johtaa automaattisesti vastaavan ATA:n saldon hakemista varten.

Basic Payment
const client = createClient({
endpoint: "http://localhost:8899",
websocketEndpoint: "ws://localhost:8900",
commitment: "confirmed"
});
const splToken = client.splToken({
mint: mint.address,
tokenProgram: "auto"
});

Demo

Demo
// Generate keypairs for sender and recipient
const sender = (await generateKeypair()).signer;
const recipient = (await generateKeypair()).signer;
console.log("Sender Address:", sender.address);
console.log("Recipient Address:", recipient.address);
// Demo Setup: Create client, mint account, token accounts, and fund with initial tokens
const { client, mint } = await demoSetup(sender, recipient);
console.log("\nMint Address:", mint.address);
// =============================================================================
// Basic Token Payment Demo
// =============================================================================
// Create splToken helper for this mint using @solana/client
const splToken = client.splToken({
mint: mint.address,
tokenProgram: "auto"
});
// Transfer tokens from sender to recipient (ATA and decimals handled automatically)
const signature = await splToken.sendTransfer({
amount: 0.25,
authority: sender,
destinationOwner: recipient.address
});
console.log("\n=== Token Payment Complete ===");
console.log("Transaction Signature:", signature.toString());
// Fetch final token account balances using splToken helper
const senderBalance = await splToken.fetchBalance(sender.address);
const recipientBalance = await splToken.fetchBalance(recipient.address);
console.log("\nSender Token Account Balance:", senderBalance);
console.log("Recipient Token Account Balance:", recipientBalance);
// =============================================================================
// Demo Setup Helper Function
// =============================================================================
Console
Click to execute the code.

Is this page helpful?

Sisällysluettelo

Muokkaa sivua

Hallinnoi

© 2026 Solana Foundation.
Kaikki oikeudet pidätetään.
Yhdistä