Interagir avec Solana

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 :

Is this page helpful?

Table des matières

Modifier la page

Géré par

© 2026 Fondation Solana.
Tous droits réservés.
Restez connecté