Bevor Sie Zahlungsabläufe erstellen, müssen Sie sich mit Solana verbinden und verstehen, wie Sie Netzwerkdaten abfragen. Dieser Leitfaden behandelt die Grundlagen: Aufbau einer Verbindung und Verwendung der RPC-Methoden, die Sie für Zahlungen mit dem @solana/kit TypeScript SDK und der Solana CLI benötigen. Zusätzlich werden wir die Grundlagen der Verwendung des Solana Explorer behandeln, um Zahlungen manuell zu verifizieren, Konten zu inspizieren und Probleme zu debuggen.
Verbindung mit Solana herstellen
Die RPC-API von Solana ist der primäre Weg, um programmatisch mit dem Netzwerk zu interagieren. Ihre RPC-URL ist effektiv ein API-Schlüssel zum Netzwerk.
Verwenden Sie keine öffentliche RPC für die Produktion
Die öffentlichen Endpunkte (api.mainnet-beta.solana.com,
api.devnet.solana.com) sind ratenbegrenzt, haben kein SLA und sind für
produktive Zahlungsabläufe ungeeignet. Verwenden Sie einen
RPC-Provider, um einen privaten RPC-Endpunkt für
Produktionsumgebungen zu sichern.
Für Entwicklung und Tests können Sie ratenbegrenzte öffentliche Endpunkte verwenden.
Erstellen Sie einen RPC-Client, um mit dem Netzwerk zu interagieren:
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.mainnet-beta.solana.com");
Verwenden Sie für die Entwicklung devnet (https://api.devnet.solana.com)
oder einen lokalen Validator wie
Surfpool.
Gängige RPC-Methoden
Die JSON-RPC-API von Solana stellt Methoden zur Abfrage des Netzwerks bereit. Hier sind diejenigen, die Sie am häufigsten für Zahlungsabläufe verwenden werden.
Kontoinformationen abrufen
Alle Konten auf Solana sind über ihren öffentlichen Schlüssel adressierbar.
Verwenden Sie die getAccountInfo RPC-Methode,
um Informationen über ein beliebiges Konto abzurufen. Die
getAccountInfo-Methode gibt ein AccountInfo-Objekt zurück, das den
öffentlichen Schlüssel des Kontos, den SOL-Saldo, Daten und einige andere
Metadaten enthält.
Das Feld data ist eine base64-kodierte Zeichenkette der Kontendaten. Sie
können es mit der Methode getBase64Codec aus dem Paket @solana/kit in Bytes
kodieren und dann mit dem erwarteten Codec (falls bekannt) für die Kontendaten
in ein lesbares Objekt dekodieren (z. B. getTokenCodec für Token-Konten).
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-Guthaben abrufen
Überprüfen Sie das Guthaben eines Token-Kontos mit der RPC-Methode
getTokenAccountBalance:
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")
Transaktionen erstellen
Jede Transaktion benötigt einen aktuellen Blockhash, um sicherzustellen, dass
sie gültig ist (und nicht veraltet). Rufen Sie einen ab, bevor Sie eine
Zahlungstransaktion erstellen, indem Sie die RPC-Methode
getLatestBlockhash verwenden:
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
Blockhashes laufen nach ~60 Sekunden ab. Rufen Sie unmittelbar vor dem Signieren und Senden einen neuen ab.
Transaktionsstatus überprüfen
Überprüfen Sie, ob eine Transaktion abgeschlossen wurde, indem Sie die
RPC-Methode getSignatureStatuses
verwenden:
const status = await rpc.getSignatureStatuses([signature]).send();const result = status.value[0];// result.confirmationStatus: "processed" | "confirmed" | "finalized"
Transaktionsdetails abrufen
Rufen Sie die vollständigen Details einer bestätigten Transaktion mit der
RPC-Methode getTransaction ab:
const transaction = await rpc.getTransaction(signature, { maxSupportedTransactionVersion: 0 }).send();
Transaktionsverlauf
Rufen Sie aktuelle Transaktionen für eine Adresse mit der RPC-Methode
getSignaturesForAddress ab:
const signatures = await rpc.getSignaturesForAddress(walletAddress, { limit: 10 }).send();
Für eine umfassende Zahlungsüberwachung siehe Zahlungen akzeptieren, das Webhooks und Echtzeit-Transaktionserkennung behandelt.
Öffentliche Daten erkunden
Solanas öffentliches Ledger bedeutet, dass jede Transaktion, jedes Token-Konto und jeder Mint vollständig prüfbar ist. Block-Explorer ermöglichen es Ihnen, Zahlungen manuell zu verifizieren, Konten zu inspizieren und Probleme zu debuggen, ohne Code zu schreiben.
Was Sie nachschlagen können:
- Überprüfen, ob eine Zahlung abgewickelt wurde
- Token-Kontostände inspizieren
- Fehlgeschlagene Transaktionen debuggen
- Mint-Details nachschlagen (Supply, Dezimalstellen, Authority)
Gängige Explorer: Solana Explorer, SolanaFM, Solscan, Orb
Beispiel-Links:
- USDC Token Mint — Supply, Märkte, Inhaber und Transaktionen für USDC
- USDC Token Transfer — Details einer USDC-Zahlungstransaktion
- USDG Token-Konto — USDG-Guthaben und Transaktionsverlauf eines Benutzers
Is this page helpful?