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 suositeltavamethod: <string>- merkkijono, joka sisältää kutsuttavan metodinparams: <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 tunnistettaresult: <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äänHEALTH_CHECK_SLOT_DISTANCEslotia jäljessä klusterin viimeisimmästä vahvistetusta slotistabehind { distance }: Solmu on ylidistanceslotia jäljessä klusterin viimeisimmästä vahvistetusta slotista, jossadistance > HEALTH_CHECK_SLOT_DISTANCEunknown: Solmu ei pysty määrittämään sijaintiaan suhteessa klusteriin
Is this page helpful?