Voordat je betalingsstromen bouwt, moet je verbinding maken met Solana en begrijpen hoe je netwerkgegevens opvraagt. Deze gids behandelt de basis: het tot stand brengen van een verbinding en het gebruik van de RPC-methoden die je nodig hebt voor betalingen met behulp van de @solana/kit TypeScript SDK en Solana CLI. Daarnaast behandelen we de basis van het gebruik van de Solana Explorer om handmatig betalingen te verifiëren, accounts te inspecteren en problemen op te lossen.
Verbinding maken met Solana
Solana's RPC API is de primaire manier om programmatisch met het netwerk te communiceren. Je RPC URL is in feite een API-sleutel voor het netwerk.
Gebruik geen publieke RPC voor productie
De publieke endpoints (api.mainnet-beta.solana.com, api.devnet.solana.com)
zijn rate-limited, hebben geen SLA en zijn ongeschikt voor
productie-betalingsstromen. Gebruik een RPC-provider
om een privé RPC-endpoint te beveiligen voor productie-implementaties.
Voor ontwikkeling en testen kun je rate-limited publieke endpoints gebruiken.
Maak een RPC-client om met het netwerk te communiceren:
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.mainnet-beta.solana.com");
Gebruik voor ontwikkeling devnet (https://api.devnet.solana.com) of een
lokale validator zoals
Surfpool.
Veelgebruikte RPC-methoden
Solana's JSON-RPC API biedt methoden om het netwerk te bevragen. Hier zijn degene die je het meest zult gebruiken voor betalingsstromen.
Account-informatie ophalen
Alle accounts op Solana zijn adresseerbaar via hun publieke sleutel. Gebruik de
getAccountInfo RPC-methode om informatie over
een account op te halen. De getAccountInfo-methode retourneert een
AccountInfo-object, dat de publieke sleutel, SOL-saldo, gegevens en enkele
andere metadata van het account bevat.
Het data veld is een base64 gecodeerde string van de accountgegevens. Je kunt
het naar bytes coderen met de getBase64Codec methode uit het @solana/kit
pakket en het vervolgens decoderen naar een leesbaar object met de verwachte
codec (indien bekend) voor de accountgegevens (bijv. getTokenCodec voor token
accounts).
const accountInfo = await rpc.getAccountInfo(address("7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV"), {encoding: "base64"}).send();const dataBytes = getBase64Codec().encode(accountInfo.value.data);const parsedTokenData = getTokenCodec().decode(dataBytes);console.log(parsedTokenData);
Token saldi ophalen
Controleer het saldo van een token account met de
getTokenAccountBalance RPC methode:
const balance = await rpc.getTokenAccountBalance(tokenAccountAddress).send();console.log(balance.value.uiAmount); // Human-readable (e.g., 100.50)console.log(balance.value.amount); // Base units (e.g., "100500000")
Transacties bouwen
Elke transactie heeft een recente blockhash nodig om geldig te zijn (en niet
verouderd). Haal er een op voordat je een betalingstransactie aanmaakt met de
getLatestBlockhash RPC methode:
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
Blockhashes verlopen na ~60 seconden. Haal direct voordat je ondertekent en verstuurt een nieuwe op.
Transactiestatus controleren
Verifieer of een transactie is afgewikkeld met de
getSignatureStatuses RPC methode:
const status = await rpc.getSignatureStatuses([signature]).send();const result = status.value[0];// result.confirmationStatus: "processed" | "confirmed" | "finalized"
Transactiedetails ophalen
Haal de volledige details van een bevestigde transactie op met de
getTransaction RPC-methode:
const transaction = await rpc.getTransaction(signature, { maxSupportedTransactionVersion: 0 }).send();
Transactiegeschiedenis
Haal recente transacties voor een adres op met de
getSignaturesForAddress RPC-methode:
const signatures = await rpc.getSignaturesForAddress(walletAddress, { limit: 10 }).send();
Voor uitgebreide betalingsmonitoring, zie Betalingen accepteren waarin webhooks en realtime transactiedetectie worden behandeld.
Publieke data verkennen
Solana's publieke grootboek betekent dat elke transactie, token account en mint volledig controleerbaar is. Block explorers stellen je in staat om handmatig betalingen te verifiëren, accounts te inspecteren en problemen op te lossen zonder code te schrijven.
Wat je kunt opzoeken:
- Verifieer of een betaling is afgewikkeld
- Inspecteer token account saldi
- Debug mislukte transacties
- Zoek mint-details op (supply, decimals, authority)
Veelgebruikte explorers: Solana Explorer, SolanaFM, Solscan, Orb
Voorbeeldlinks:
- USDC Token Mint — Supply, markten, houders en transacties voor USDC
- USDC Token Transfer — Details van een USDC-betalingstransactie
- USDG Token Account — Het USDG-saldo en de transactiegeschiedenis van een gebruiker
Is this page helpful?