Interagire con Solana

Prima di costruire flussi di pagamento, devi connetterti a Solana e capire come interrogare i dati della rete. Questa guida copre le basi: stabilire una connessione e utilizzare i metodi RPC necessari per i pagamenti usando l'SDK TypeScript @solana/kit e la Solana CLI. Inoltre, tratteremo le basi dell'utilizzo di Solana Explorer per verificare manualmente i pagamenti, ispezionare gli account e risolvere problemi.

Connettersi a Solana

L'API RPC di Solana è il modo principale per interagire programmaticamente con la rete. Il tuo URL RPC è effettivamente una chiave API per la rete.

Non utilizzare RPC pubblici per la produzione

Gli endpoint pubblici (api.mainnet-beta.solana.com, api.devnet.solana.com) hanno limiti di velocità, non offrono SLA e non sono adatti per flussi di pagamento in produzione. Utilizza un provider RPC per ottenere un endpoint RPC privato per i deployment in produzione.

Per lo sviluppo e il testing, puoi utilizzare endpoint pubblici con limiti di velocità.

Crea un client RPC per interagire con la rete:

import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
const rpcSubscriptions = createSolanaRpcSubscriptions(
"wss://api.mainnet-beta.solana.com"
);

Per lo sviluppo, utilizza devnet (https://api.devnet.solana.com) o un validator locale come Surfpool.

Metodi RPC comuni

L'API JSON-RPC di Solana espone metodi per interrogare la rete. Ecco quelli che utilizzerai maggiormente per i flussi di pagamento.

Ottenere informazioni sull'account

Tutti gli account su Solana sono indirizzabili tramite la loro chiave pubblica. Utilizza il metodo RPC getAccountInfo per recuperare informazioni su qualsiasi account. Il metodo getAccountInfo restituisce un oggetto AccountInfo, che contiene la chiave pubblica dell'account, il saldo SOL, i dati e alcuni altri metadati.

Il campo data è una stringa codificata in base64 dei dati dell'account. Puoi codificarla in byte utilizzando il metodo getBase64Codec dal pacchetto @solana/kit e poi decodificarla in un oggetto leggibile utilizzando il codec previsto (se conosciuto) per i dati dell'account (ad esempio, getTokenCodec per i token account).

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

Ottenere i saldi dei token

Controlla il saldo di un token account utilizzando il metodo 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")

Costruire transazioni

Ogni transazione necessita di un blockhash recente per garantire che sia valida (e non scaduta). Recuperane uno prima di creare una transazione di pagamento utilizzando il metodo RPC getLatestBlockhash:

const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();

I blockhash scadono dopo ~60 secondi. Recuperane uno nuovo immediatamente prima di firmare e inviare.

Verificare lo stato della transazione

Verifica che una transazione sia stata completata utilizzando il metodo RPC getSignatureStatuses:

const status = await rpc.getSignatureStatuses([signature]).send();
const result = status.value[0];
// result.confirmationStatus: "processed" | "confirmed" | "finalized"

Ottenere i dettagli della transazione

Recupera i dettagli completi di una transazione confermata utilizzando il metodo RPC getTransaction:

const transaction = await rpc
.getTransaction(signature, { maxSupportedTransactionVersion: 0 })
.send();

Cronologia delle transazioni

Ottieni le transazioni recenti per un indirizzo utilizzando il metodo RPC getSignaturesForAddress:

const signatures = await rpc
.getSignaturesForAddress(walletAddress, { limit: 10 })
.send();

Per un monitoraggio completo dei pagamenti, consulta Accettare pagamenti che copre webhook e rilevamento delle transazioni in tempo reale.

Esplorare i dati pubblici

Il registro pubblico di Solana significa che ogni transazione, token account e mint è completamente verificabile. Gli explorer di blocchi ti permettono di verificare manualmente i pagamenti, ispezionare gli account e risolvere problemi senza scrivere codice.

Cosa puoi cercare:

  • Verificare che un pagamento sia stato regolato
  • Ispezionare i saldi dei token account
  • Risolvere transazioni fallite
  • Cercare i dettagli dei mint (supply, decimali, authority)

Explorer comuni: Solana Explorer, SolanaFM, Solscan, Orb

Link di esempio:

Is this page helpful?

Indice

Modifica Pagina

Gestito da

© 2026 Solana Foundation.
Tutti i diritti riservati.
Rimani Connesso