Basisbetaling

Solana maakt directe, wereldwijde tokenoverdrachten mogelijk met kosten onder de $0,001. Of je nu grensoverschrijdende geldovermakingen, salarisuitbetalingen of treasury- operaties bouwt, een basisbetaling met stablecoins wordt in minder dan een seconde afgewikkeld en kost een fractie van een cent.

Hoe het werkt

Een betaling verplaatst stablecoins van het token account van de verzender naar het token account van de ontvanger. Als de ontvanger deze token voor het eerst ontvangt, kan hun token account worden aangemaakt als onderdeel van dezelfde transactie.

Zie Hoe betalingen werken op Solana voor kernconcepten van betalingen.

De splToken helper uit @solana/client handelt ATA- afleiding, decimaalconversie en transactieopbouw automatisch af. Dit is ideaal voor enkele betalingsoverdrachten.

De onderstaande stappen tonen de kernflow. Zie de Demo voor complete uitvoerbare code.

Maak de token helper aan

Configureer de splToken() helper door client.splToken() aan te roepen met het mint- adres. De helper biedt methoden voor veelvoorkomende tokenoperaties.

Door tokenProgram: "auto" in te stellen, wordt automatisch gedetecteerd of het mint account eigendom is van het Token- of Token-2022-programma.

Verstuur de betaling

Gebruik sendTransfer() om tokens tussen wallets over te dragen. De methode handelt het volgende af:

  • ATA-resolutie: Leidt automatisch Associated Token Accounts (ATA's) af voor de verzender en ontvanger. Als de ATA van de ontvanger niet bestaat, wordt de instructie om het account aan te maken automatisch toegevoegd aan dezelfde transactie.
  • Decimaalconversie: Accepteert tokenbedragen en converteert automatisch naar basiseenheden op basis van de decimalen van de mint (bijv. 0,25 tokens -> 250000 basis- eenheden, als de mint 6 decimalen heeft)
  • Transactieopbouw: Maakt de transactie aan, ondertekent en verstuurt deze met de overdrachtsinstructie
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
});

Saldi verifiëren

Nadat de overdracht is voltooid, gebruik je fetchBalance() om de tokensaldi te verifiëren. Deze methode neemt een wallet-adres en leidt automatisch de bijbehorende ATA af om het saldo op te halen.

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);

Maak de token helper aan

Configureer de splToken() helper door client.splToken() aan te roepen met het mint- adres. De helper biedt methoden voor veelvoorkomende tokenoperaties.

Door tokenProgram: "auto" in te stellen, wordt automatisch gedetecteerd of het mint account eigendom is van het Token- of Token-2022-programma.

Verstuur de betaling

Gebruik sendTransfer() om tokens tussen wallets over te dragen. De methode handelt het volgende af:

  • ATA-resolutie: Leidt automatisch Associated Token Accounts (ATA's) af voor de verzender en ontvanger. Als de ATA van de ontvanger niet bestaat, wordt de instructie om het account aan te maken automatisch toegevoegd aan dezelfde transactie.
  • Decimaalconversie: Accepteert tokenbedragen en converteert automatisch naar basiseenheden op basis van de decimalen van de mint (bijv. 0,25 tokens -> 250000 basis- eenheden, als de mint 6 decimalen heeft)
  • Transactieopbouw: Maakt de transactie aan, ondertekent en verstuurt deze met de overdrachtsinstructie

Saldi verifiëren

Nadat de overdracht is voltooid, gebruik je fetchBalance() om de tokensaldi te verifiëren. Deze methode neemt een wallet-adres en leidt automatisch de bijbehorende ATA af om het saldo op te halen.

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?

Inhoudsopgave

Pagina Bewerken

Beheerd door

© 2026 Solana Foundation.
Alle rechten voorbehouden.
Blijf Verbonden