Documentazione dell'endpoint RPC di Solana | ERPC
Documentazione dell'endpoint RPC di Solana
Usa ERPC come tuo endpoint RPC di Solana per richieste HTTP JSON-RPC e sottoscrizioni WebSocket. Lo stesso URL dell'endpoint Solana funziona per i metodi RPC standard, e la chiave API può essere gestita dalla ERPC Web Dashboard.
Aggiungi la tua chiave API al parametro 'api-key'.
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>Esempi:
Ecco un esempio di richiesta HTTP.
bash
curl https://edge.erpc.global?api-key=<YOUR_API_KEY> --header 'Content-Type: application/json' --data '{
"jsonrpc":"2.0","id":1,
"method":"getBlockHeight"
}'curl https://edge.erpc.global?api-key=<YOUR_API_KEY> --header 'Content-Type: application/json' --data '{
"jsonrpc":"2.0","id":1,
"method":"getBlockHeight"
}'Ecco un esempio di sottoscrizione WebSocket. L'host è lo stesso dell'HTTP.
text
wss://edge.erpc.global?api-key=<YOUR_API_KEY>wss://edge.erpc.global?api-key=<YOUR_API_KEY>bash
# Example: subscribe to slot updates
wscat -c "wss://edge.erpc.global?api-key=<YOUR_API_KEY>"
# After connected, send:
{"jsonrpc":"2.0","id":1,"method":"slotSubscribe"}# Example: subscribe to slot updates
wscat -c "wss://edge.erpc.global?api-key=<YOUR_API_KEY>"
# After connected, send:
{"jsonrpc":"2.0","id":1,"method":"slotSubscribe"}Puoi ottenere e verificare la tua chiave API sulla ERPC Web Dashboard: ERPC Web Dashboard
Se hai bisogno di una latenza inferiore rispetto a WebSocket, valuta Geyser gRPC o ShredStream. Puoi discutere i dettagli con noi tramite la ERPC Web Dashboard.
History Access
Aggiungi
history=true all'URL edge.erpc.global di una richiesta HTTP per cercare blocchi e transazioni più vecchi; il valore deve essere esattamente true, in minuscolo. Fatta eccezione per getTransactionsForAddress, una richiesta senza history=true riceve risposta dall'intervallo recente che ogni nodo conserva; l'opzione si applica a questi metodi:getBlockgetBlockTimegetBlocksgetBlocksWithLimitgetTransaction, inclusogetParsedTransactiongetSignaturesForAddressgetSignatureStatuses, quandosearchTransactionHistoryètruegetTransactionsForAddress, quandotransactionDetailsè"full"(History Access richiesto)
Inserisci la chiave API e l'opzione nell'URL come parametri query:
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>&history=truehttps://edge.erpc.global?api-key=<YOUR_API_KEY>&history=trueOppure invia
Authorization: Bearer <YOUR_API_KEY> come header, con l'opzione nell'URL:text
https://edge.erpc.global?history=truehttps://edge.erpc.global?history=trueEcco un esempio di richiesta HTTP che usa History Access.
bash
curl 'https://edge.erpc.global?history=true' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0","id":1,
"method":"getBlock",
"params":[<SLOT>,{"maxSupportedTransactionVersion":1}]
}'curl 'https://edge.erpc.global?history=true' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0","id":1,
"method":"getBlock",
"params":[<SLOT>,{"maxSupportedTransactionVersion":1}]
}'Per ogni metodo tranne
getTransactionsForAddress in modalità "full":- Ogni chiamata servita da History Access costa 640 token in più rispetto al suo prezzo normale:
getBlockcosta 42 + 640 = 682. - Il supplemento si applica anche a un risultato
null, vuoto o parziale di History Access. Per una ricerca non riuscita non si applica alcun supplemento. - Una chiamata servita da dati recenti mantiene il suo prezzo normale, anche con
history=true. - Un batch conta ogni chiamata singolarmente;
getSignatureStatusesconta una volta per chiamata, non per firma. - Non usare
history=truenel polling delle transazioni recenti: in quel caso il supplemento si applica a ogninull.
Le allocazioni gratuite, comprese quelle del piano Free, hanno un limite per History Access. Il piano Free è limitato a una richiesta con History Access ogni 10 secondi.
Una chiamata a
getTransactionsForAddress con transactionDetails impostato su "full" è History Access, sia che le transazioni siano recenti sia che siano vecchie:- La chiamata richiede
history=truenell'URLedge.erpc.global. Una richiesta senza questa opzione viene rifiutata con l'errore di History Access (codice-32011) e non comporta alcun costo. - Con
history=true, la chiamata costa 420 + 640 × N token: il suo prezzo normale di 420, più 640 per ciascuna delle N transazioni recuperate, recenti o vecchie. Una riga senza transazione non viene conteggiata. - La chiamata deve essere inviata come richiesta separata. Un batch che la contiene viene rifiutato, con o senza
history=true: ogni chiamata del batch riceve l'errore-32600e il messaggioThis request is not available in a mixed JSON-RPC batch. Please send it as a separate request., e nessuna viene inviata.
La modalità
signatures predefinita non richiede history=true e non ha alcun supplemento. Per controllare periodicamente un indirizzo in cerca di nuove transazioni, usa la modalità signatures e recupera quelle che ti servono con getTransaction.Una ricerca di blocchi o transazioni più vecchi può richiedere molto più tempo di una richiesta normale, in alcuni casi secondi. History Access è un'opzione separata che tiene queste ricerche distinte dalle richieste normali, così le richieste normali restano veloci.
Senza
history=true, una richiesta getBlock o getBlockTime per uno slot più vecchio può restituire questo errore:json
{
"jsonrpc": "2.0",
"error": {
"code": -32011,
"message": "This request needs history access. Add history=true to the endpoint URL.",
"data": {
"erpcCode": "ERPC_HISTORY_OPTION_REQUIRED"
}
},
"id": 1
}{
"jsonrpc": "2.0",
"error": {
"code": -32011,
"message": "This request needs history access. Add history=true to the endpoint URL.",
"data": {
"erpcCode": "ERPC_HISTORY_OPTION_REQUIRED"
}
},
"id": 1
}getTransaction, getParsedTransaction e getSignatureStatuses (con searchTransactionHistory: true) restituiscono null per una firma più vecchia di quanto il nodo conserva, mentre getSignaturesForAddress, getBlocks e getBlocksWithLimit restituiscono un risultato vuoto o parziale.Una richiesta con
history=true può restituire questi messaggi:This plan has reached its limit for history access. Add a paid plan to use tokens for history access.— mostrato quando un'allocazione, come quella del piano Free, raggiunge il suo limite.History access is unavailable while your token balance is low. Add tokens.— mostrato con un piano a pagamento quando il saldo di token è basso.On the Free plan, history access is limited to one request per 10 seconds. Slow down or use a paid plan.— mostrato con il piano Free quando le richieste con History Access arrivano troppo in fretta.
Metodi supportati dagli Unlimited Endpoint
Gli Unlimited Endpoint sono endpoint HTTP dedicati ottimizzati per chiamate RPC standard di Solana a bassa latenza.
| Categoria | Unlimited Endpoint |
|---|---|
| Metodi RPC standard di Solana supportati | getSlot, getBlockHeight, getLatestBlockhash, getBalance, getAccountInfo, getMultipleAccounts, getTransaction, sendTransaction, simulateTransaction, getSignatureStatuses, getRecentPrioritizationFees, getHealth, getVersion, getEpochInfo, getBlock |
Per i metodi al di fuori di questo set supportato, usa
https://edge.erpc.global?api-key=<YOUR_API_KEY>.Metodi RPC di Solana e documentazione
Per l'elenco completo dei metodi, dei parametri e delle specifiche di sottoscrizione, consulta la documentazione ufficiale. Copre sia l'utilizzo HTTP che WebSocket.






