Temel ödeme

Solana, 0,001 doların altında ücretlerle anında, küresel token transferleri sağlar. İster sınır ötesi havale, ister bordro ödemeleri veya hazine operasyonları oluşturuyor olun, temel bir stablecoin ödemesi bir saniyenin altında gerçekleşir ve bir sentin çok küçük bir kısmına mal olur.

Nasıl çalışır

Bir ödeme, gönderenin token hesabından alıcının token hesabına stablecoin'leri taşır. Alıcı bu token'ı ilk kez alıyorsa, token hesabı aynı işlemin bir parçası olarak oluşturulabilir.

Temel ödeme kavramları için Solana'da ödemeler nasıl çalışır bölümüne bakın.

@solana/client içindeki splToken yardımcısı, ATA türetme, ondalık dönüştürme ve işlem oluşturmayı otomatik olarak yönetir. Bu, tekil ödeme transferleri için idealdir.

Aşağıdaki adımlar temel akışı gösterir. Tam çalıştırılabilir kod için Demo bölümüne bakın.

Token yardımcısını oluşturun

Mint adresini kullanarak client.splToken() çağırarak splToken() yardımcısını yapılandırın. Yardımcı, yaygın token işlemleri için yöntemler sağlar.

tokenProgram: "auto" ayarı, mint hesabının Token veya Token-2022 programına ait olup olmadığını otomatik olarak algılar.

Ödemeyi gönderin

Cüzdanlar arasında token transferi yapmak için sendTransfer() kullanın. Yöntem şunları yönetir:

  • ATA çözümlemesi: Gönderen ve alıcı için ilişkili token hesaplarını (ATA) otomatik olarak türetir. Alıcının ATA'sı mevcut değilse, hesabı oluşturma talimatı otomatik olarak aynı işleme eklenir.
  • Ondalık dönüştürme: Token miktarlarını kabul eder ve mint'in ondalık sayısına göre otomatik olarak temel birimlere dönüştürür (örneğin, mint 6 ondalık basamağa sahipse 0,25 token -> 250000 temel birim)
  • İşlem oluşturma: Transfer talimatıyla işlemi oluşturur, imzalar ve gönderir
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
});

Bakiyeleri doğrula

Transfer tamamlandıktan sonra, token bakiyelerini doğrulamak için fetchBalance() kullanın. Bu yöntem bir cüzdan adresi alır ve bakiyeyi getirmek için otomatik olarak ilgili ATA'yı türetir.

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

Token yardımcısını oluşturun

Mint adresini kullanarak client.splToken() çağırarak splToken() yardımcısını yapılandırın. Yardımcı, yaygın token işlemleri için yöntemler sağlar.

tokenProgram: "auto" ayarı, mint hesabının Token veya Token-2022 programına ait olup olmadığını otomatik olarak algılar.

Ödemeyi gönderin

Cüzdanlar arasında token transferi yapmak için sendTransfer() kullanın. Yöntem şunları yönetir:

  • ATA çözümlemesi: Gönderen ve alıcı için ilişkili token hesaplarını (ATA) otomatik olarak türetir. Alıcının ATA'sı mevcut değilse, hesabı oluşturma talimatı otomatik olarak aynı işleme eklenir.
  • Ondalık dönüştürme: Token miktarlarını kabul eder ve mint'in ondalık sayısına göre otomatik olarak temel birimlere dönüştürür (örneğin, mint 6 ondalık basamağa sahipse 0,25 token -> 250000 temel birim)
  • İşlem oluşturma: Transfer talimatıyla işlemi oluşturur, imzalar ve gönderir

Bakiyeleri doğrula

Transfer tamamlandıktan sonra, token bakiyelerini doğrulamak için fetchBalance() kullanın. Bu yöntem bir cüzdan adresi alır ve bakiyeyi getirmek için otomatik olarak ilgili ATA'yı türetir.

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?

İçindekiler

Sayfayı Düzenle

Yönetici

© 2026 Solana Vakfı.
Tüm hakları saklıdır.
Bağlanın