Solana RPC endpoint documentatie

Solana RPC endpoint documentatie

Gebruik ERPC als uw Solana RPC endpoint voor HTTP JSON-RPC requests en WebSocket-abonnementen. Dezelfde Solana endpoint URL werkt voor standaard RPC-methoden, en de API key beheert u in het ERPC Web Dashboard.
Voeg uw API key toe aan de 'api-key'-parameter.
endpoint
https://edge.erpc.global?api-key=<YOUR_API_KEY>

Voorbeelden:

Hier is een voorbeeld van een HTTP-verzoek.
bash
curl https://edge.erpc.global?api-key=<YOUR_API_KEY> --header 'Content-Type: application/json' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"getBlockHeight"
}'
Hier is een voorbeeld van een WebSocket-abonnement. De host is dezelfde als bij HTTP.
endpoint
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"}
U kunt uw API key verkrijgen en controleren in het ERPC Web Dashboard: ERPC Web Dashboard
Als u lagere latentie nodig heeft dan WebSocket, overweeg dan Geyser gRPC of ShredStream. U kunt de details met ons bespreken via het ERPC Web Dashboard.

History Access

Voeg history=true toe aan de URL edge.erpc.global van een HTTP-verzoek om oudere blokken en transacties op te vragen; de waarde moet exact true zijn, in kleine letters. Met uitzondering van getTransactionsForAddress wordt een request zonder history=true beantwoord vanuit het recente bereik dat elke node bijhoudt; de optie geldt voor deze methoden:
  • getBlock
  • getBlockTime
  • getBlocks
  • getBlocksWithLimit
  • getTransaction, inclusief getParsedTransaction
  • getSignaturesForAddress
  • getSignatureStatuses, wanneer searchTransactionHistory true is
  • getTransactionsForAddress, wanneer transactionDetails "full" is (History Access vereist)
Zet de API key en de optie als query parameters in de URL:
endpoint
https://edge.erpc.global?api-key=<YOUR_API_KEY>&history=true
Of stuur Authorization: Bearer <YOUR_API_KEY> als header mee, met de optie in de URL:
endpoint
https://edge.erpc.global?history=true
Hier is een voorbeeld van een HTTP-verzoek dat History Access gebruikt.
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}]
}'
Voor elke methode behalve getTransactionsForAddress in de modus "full":
  • Elke aanroep die door History Access wordt beantwoord, kost 640 tokens meer dan de normale prijs: getBlock kost 42 + 640 = 682.
  • Ook bij een null, leeg of gedeeltelijk resultaat van History Access geldt de meerprijs. Bij een mislukte opzoeking geldt geen meerprijs.
  • Een aanroep die met recente data wordt beantwoord, behoudt de normale prijs, ook met history=true.
  • Een batch telt elke aanroep afzonderlijk; getSignatureStatuses telt één keer per aanroep, niet per handtekening.
  • Laat history=true weg bij het pollen van recente transacties: voor elke null daar geldt de meerprijs.
Gratis toewijzingen, waaronder die van het Free-abonnement, hebben een limiet voor History Access. Het Free-abonnement is beperkt tot één request met History Access per 10 seconden.
Een aanroep van getTransactionsForAddress met transactionDetails ingesteld op "full" is History Access, of de transacties nu recent of oud zijn:
  • De aanroep vereist history=true in de URL edge.erpc.global. Een request zonder deze optie wordt geweigerd met de fout voor History Access (code -32011) en brengt geen kosten met zich mee.
  • Met history=true kost de aanroep 420 + 640 × N tokens: de normale prijs van 420, plus 640 voor elk van de N opgehaalde transacties, recent of oud. Een rij zonder transactie wordt niet meegeteld.
  • De aanroep moet als apart request worden verstuurd. Een batch die de aanroep bevat, wordt geweigerd, met of zonder history=true: elke aanroep in de batch krijgt de fout -32600 en het bericht This request is not available in a mixed JSON-RPC batch. Please send it as a separate request. terug, en geen enkele wordt verstuurd.
De standaardmodus signatures heeft geen history=true nodig en kent geen meerprijs. Om een adres te pollen op nieuwe transacties, gebruikt u de modus signatures en haalt u de transacties die u nodig hebt op met getTransaction.
Het ophalen van oudere blokken of transacties kan veel langer duren dan een gewoon request, in sommige gevallen seconden. History Access is een aparte optie die dit ophalen scheidt van gewone requests, zodat gewone requests snel blijven.
Zonder history=true kan een getBlock- of getBlockTime-request voor een ouder slot deze fout teruggeven:
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
}
getTransaction, getParsedTransaction en getSignatureStatuses (met searchTransactionHistory: true) geven null terug voor een handtekening die ouder is dan wat de node bijhoudt, terwijl getSignaturesForAddress, getBlocks en getBlocksWithLimit een leeg of gedeeltelijk resultaat teruggeven.
Een request met history=true kan deze berichten teruggeven:
  • This plan has reached its limit for history access. Add a paid plan to use tokens for history access. — wordt getoond wanneer een toewijzing, zoals die van het Free-abonnement, de limiet bereikt.
  • History access is unavailable while your token balance is low. Add tokens. — wordt getoond bij een betaald abonnement wanneer het tokensaldo laag is.
  • On the Free plan, history access is limited to one request per 10 seconds. Slow down or use a paid plan. — wordt getoond bij het Free-abonnement wanneer requests met History Access te snel binnenkomen.

Ondersteunde methoden voor Unlimited Endpoint

Unlimited Endpoints zijn dedicated HTTP-endpoints, geoptimaliseerd voor standaard Solana RPC-aanroepen met lage latentie. Dit zijn de ondersteunde standaardmethoden van Solana RPC:
  • getSlot
  • getBlockHeight
  • getLatestBlockhash
  • getBalance
  • getAccountInfo
  • getMultipleAccounts
  • getTransaction
  • sendTransaction
  • simulateTransaction
  • getSignatureStatuses
  • getRecentPrioritizationFees
  • getHealth
  • getVersion
  • getEpochInfo
  • getBlock
Gebruik voor methoden buiten deze ondersteunde set https://edge.erpc.global?api-key=<YOUR_API_KEY>.

Solana RPC-methoden en documentatie

Voor de volledige lijst van methoden, parameters en abonnementsspecificaties verwijzen wij u naar de officiële documentatie. Deze behandelt zowel HTTP- als WebSocket-gebruik.