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_DISTANCE
slotia jäljessä klusterin viimeisimmästä vahvistetusta slotistabehind { distance }
: Solmu on ylidistance
slotia jäljessä klusterin viimeisimmästä vahvistetusta slotista, jossadistance > HEALTH_CHECK_SLOT_DISTANCE
unknown
: Solmu ei pysty määrittämään sijaintiaan suhteessa klusteriin
Is this page helpful?