Avant de créer des flux de paiement, vous devez vous connecter à Solana et comprendre comment interroger les données du réseau. Ce guide couvre les bases : établir une connexion et utiliser les méthodes RPC dont vous aurez besoin pour les paiements en utilisant le SDK TypeScript @solana/kit et la CLI Solana. De plus, nous aborderons les bases de l'utilisation du Solana Explorer pour vérifier manuellement les paiements, inspecter les comptes et déboguer les problèmes.
Se connecter à Solana
L'API RPC de Solana est le principal moyen d'interagir de manière programmatique avec le réseau. Votre URL RPC est en fait une clé API pour accéder au réseau.
N'utilisez pas le RPC public en production
Les points de terminaison publics (api.mainnet-beta.solana.com,
api.devnet.solana.com) sont limités en débit, n'ont aucun SLA et ne
conviennent pas aux flux de paiement en production. Utilisez un fournisseur
RPC pour sécuriser un point de terminaison RPC privé
pour les déploiements en production.
Pour le développement et les tests, vous pouvez utiliser des points de terminaison publics avec limitation de débit.
Créez un client RPC pour interagir avec le réseau :
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.mainnet-beta.solana.com");
Pour le développement, utilisez devnet (https://api.devnet.solana.com) ou un
validateur local comme
Surfpool.
Méthodes RPC courantes
L'API JSON-RPC de Solana expose des méthodes pour interroger le réseau. Voici celles que vous utiliserez le plus pour les flux de paiement.
Obtenir les informations d'un compte
Tous les comptes sur Solana sont adressables par leur clé publique. Utilisez la
méthode RPC getAccountInfo pour récupérer les
informations sur n'importe quel compte. La méthode getAccountInfo renvoie un
objet AccountInfo, qui contient la clé publique du compte, le solde SOL, les
données et d'autres métadonnées.
Le champ data est une chaîne encodée en base64 des données du compte. Vous
pouvez l'encoder en octets en utilisant la méthode getBase64Codec du package
@solana/kit et ensuite le décoder en un objet lisible en utilisant le codec
attendu (si connu) pour les données du compte (par exemple, getTokenCodec pour
les 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);
Obtenir les soldes de tokens
Vérifiez le solde d'un token account en utilisant la méthode RPC
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")
Construire des transactions
Chaque transaction nécessite un blockhash récent pour garantir sa validité (et
qu'elle n'est pas obsolète). Récupérez-en un avant de créer une transaction de
paiement en utilisant la méthode RPC
getLatestBlockhash :
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
Les blockhashes expirent après ~60 secondes. Récupérez-en un nouveau immédiatement avant de signer et d'envoyer.
Vérifier le statut d'une transaction
Vérifiez qu'une transaction est réglée en utilisant la méthode RPC
getSignatureStatuses :
const status = await rpc.getSignatureStatuses([signature]).send();const result = status.value[0];// result.confirmationStatus: "processed" | "confirmed" | "finalized"
Obtenir les détails d'une transaction
Récupérez les détails complets d'une transaction confirmée en utilisant la
méthode RPC getTransaction :
const transaction = await rpc.getTransaction(signature, { maxSupportedTransactionVersion: 0 }).send();
Historique des transactions
Obtenez les transactions récentes pour une adresse en utilisant la méthode RPC
getSignaturesForAddress :
const signatures = await rpc.getSignaturesForAddress(walletAddress, { limit: 10 }).send();
Pour une surveillance complète des paiements, consultez Accepter les paiements qui couvre les webhooks et la détection des transactions en temps réel.
Explorer les données publiques
Le registre public de Solana signifie que chaque transaction, token account et mint est entièrement vérifiable. Les explorateurs de blocs vous permettent de vérifier manuellement les paiements, d'inspecter les comptes et de déboguer les problèmes sans écrire de code.
Ce que vous pouvez rechercher :
- Vérifier qu'un paiement a été réglé
- Inspecter les soldes des token accounts
- Déboguer les transactions échouées
- Rechercher les détails d'un mint (supply, décimales, autorité)
Explorateurs courants : Solana Explorer, SolanaFM, Solscan, Orb
Exemples de liens :
- USDC Token Mint — Supply, marchés, détenteurs et transactions pour l'USDC
- Transfert de token USDC — Détails d'une transaction de paiement en USDC
- Token account USDG — Solde USDG d'un utilisateur et historique des transactions
Is this page helpful?