Solana RPC HTTP-metodit

Solana-solmut hyväksyvät HTTP-pyyntöjä käyttäen JSON-RPC 2.0 -määrittelyä.

JavaScript-sovelluksille suositellaan käyttämään @solana/web3.js -kirjastoa kätevänä rajapintana RPC-metodeille Solana-solmun kanssa vuorovaikutukseen. PubSub- yhteyttä varten Solana-solmuun käytä Websocket API.

RPC HTTP-päätepiste

Oletusportti: 8899

Pyynnön muotoilu

JSON-RPC-pyynnön tekemiseksi lähetä HTTP POST -pyyntö Content-Type: application/json -otsikolla. JSON-pyyntödatan tulisi sisältää 4 kenttää:

  • jsonrpc: <string> - asetettu arvoon "2.0"
  • id: <string | number | null> - asiakkaan generoima yksilöllinen tunniste pyynnölle. Tyypillisesti merkkijono tai numero, vaikka null on teknisesti sallittu mutta ei suositeltava
  • method: <string> - merkkijono, joka sisältää kutsuttavan metodin
  • params: <array> - JSON-taulukko järjestetyistä parametriarvoista

Esimerkki curl-työkalun käytöstä:

curl https://api.devnet.solana.com -s -X POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getBalance",
"params": [
"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"
]
}
'

Vastauksen tuloste on JSON-objekti, jossa on seuraavat kentät:

  • jsonrpc: <string> - vastaa pyynnön määrittelyä
  • id: <number> - vastaa pyynnön tunnistetta
  • result: <array|number|object|string> - pyydetty data tai onnistumisen vahvistus

Pyyntöjä voidaan lähettää eräajoina lähettämällä taulukko JSON-RPC-pyyntöobjekteja yhden POST-pyynnön datana.

Esimerkkipyyntö

Commitment-parametri tulisi sisällyttää viimeisenä elementtinä params -taulukossa:

curl https://api.devnet.solana.com -s -X POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getBalance",
"params": [
"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri",
{
"commitment": "finalized"
}
]
}
'

Määritelmät

  • Hash: SHA-256-tiiviste datapalasesta.
  • Pubkey: Ed25519-avainparin julkinen avain.
  • Transaction: Lista Solana-ohjeita, jotka asiakkaan keypair on allekirjoittanut näiden toimintojen valtuuttamiseksi.
  • Signature: Ed25519-allekirjoitus tapahtuman hyötykuormadatasta sisältäen ohjeet. Tätä voidaan käyttää tapahtumien tunnistamiseen.

Terveystarkistus

Vaikka kyseessä ei ole JSON RPC API, GET /health RPC HTTP-päätepisteessä tarjoaa terveystarkistusmekanismin kuormantasaajien tai muun verkkoinfrastruktuurin käyttöön. Tämä pyyntö palauttaa aina HTTP 200 OK -vastauksen, jonka runko on "ok", "behind" tai "unknown":

  • ok: Solmu on enintään HEALTH_CHECK_SLOT_DISTANCE slotia jäljessä klusterin viimeisimmästä vahvistetusta slotista
  • behind { distance }: Solmu on yli distance slotia jäljessä klusterin viimeisimmästä vahvistetusta slotista, jossa distance > HEALTH_CHECK_SLOT_DISTANCE
  • unknown: Solmu ei pysty määrittämään sijaintiaan suhteessa klusteriin

Is this page helpful?

Sisällysluettelo

Muokkaa sivua