Solana RPC-metodit & dokumentaatio

Ole vuorovaikutuksessa Solana-solmujen kanssa suoraan JSON RPC API:n kautta HTTP- ja Websocket-metodien avulla.

Tilan sitoutumisen määrittäminen

Ennakkotarkistuksia ja transaktioiden käsittelyä varten Solana-solmut valitsevat, mitä pankin tilaa kysellään asiakkaan asettaman sitoutumisvaatimuksen perusteella. Sitoutuminen kuvaa, kuinka viimeistelty lohko on tietyllä hetkellä. Kun kyselee kirjanpidon tilaa, on suositeltavaa käyttää alempia sitoutumistasoja edistymisen raportointiin ja korkeampia tasoja varmistamaan, ettei tilaa peruuteta.

Laskevassa sitoutumisjärjestyksessä (eniten viimeistellystä vähiten viimeisteltyyn) asiakkaat voivat määrittää:

  • finalized - solmu kyselee viimeisintä lohkoa, jonka klusterin enemmistö on vahvistanut saavuttaneen maksimilukituksen, mikä tarkoittaa, että klusteri on tunnustanut tämän lohkon viimeistellyksi
  • confirmed - solmu kyselee viimeisintä lohkoa, josta klusterin enemmistö on äänestänyt.
    • Se sisältää äänet gossip-verkosta ja toistosta.
    • Se ei laske ääniä lohkon jälkeläisistä, vain suoria ääniä kyseisestä lohkosta.
    • Tämä vahvistustaso tukee myös "optimistisia vahvistus"-takuita versiossa 1.3 ja uudemmissa.
  • processed - solmu kyselee viimeisintä lohkoaan. Huomaa, että klusteri voi silti ohittaa lohkon.

Käsiteltäessä monia toisistaan riippuvaisia transaktioita sarjassa, on suositeltavaa käyttää confirmedsitoutumista, joka tasapainottaa nopeuden ja peruutusturvallisuuden välillä. Täydellisen turvallisuuden saavuttamiseksi on suositeltavaa käyttää finalizedsitoutumista.

Oletussitoumus

Jos sitoumusasetusta ei ole määritetty, solmu käyttää oletuksena finalized sitoumusta

Vain pankin tilaa kyselevät metodit hyväksyvät sitoumusparametrin. Ne on merkitty alla olevassa API-viitteessä.

RpcResponse-rakenne

Monet metodit, jotka ottavat sitoumusparametrin, palauttavat RpcResponse JSON-objektin, joka koostuu kahdesta osasta:

  • context : RpcResponseContext JSON-rakenne, joka sisältää slot -kentän, jossa operaatio arvioitiin.
  • value : Itse operaation palauttama arvo.

Jäsennetyt vastaukset

Jotkin metodit tukevat encoding -parametria ja voivat palauttaa tilin tai ohjeistuksen tiedot jäsennetyssä JSON-muodossa, jos "encoding":"jsonParsed" on pyydetty ja solmulla on jäsennin omistavalle ohjelmalle. Solana-solmut tukevat tällä hetkellä JSON-jäsennystä seuraaville natiivi- ja SPL-ohjelmille:

OhjelmaTilin tilaOhjeet
Address Lookupv1.15.0v1.15.0
BPF Loadern/avakaa
BPF Upgradeable Loadervakaavakaa
Configvakaa
SPL Associated Token Accountn/avakaa
SPL Memon/avakaa
SPL Tokenvakaavakaa
SPL Token 2022vakaavakaa
Stakevakaavakaa
Votevakaavakaa

Luettelo tilijäsentimistä löytyy täältä, ja ohjeistuksen jäsentimet täältä.

Suodatuskriteerit

Jotkin metodit tukevat filters -objektin tarjoamista, joka mahdollistaa RpcResponse JSON-objektin sisällä palautettavien tietojen esisuodatuksen. Seuraavat suodattimet ovat olemassa:

  • memcmp: object - vertaa annettua tavusarjaa program account -tietoihin tietyssä kohdassa. Kentät:

    • offset: usize - kohta program account -tiedoissa, josta vertailu aloitetaan
    • bytes: string - täsmäävä tieto koodattuna merkkijonona
    • encoding: string - koodaus suodattimen bytes tiedoille, joko "base58" tai "base64". Tiedon koko on rajoitettu enintään 128 purettuun tavuun.
      UUTTA: Tämä kenttä ja base64-tuki yleisesti ovat saatavilla vain solana-core v1.14.0 tai uudemmassa versiossa. Jätä pois, kun teet kyselyjä vanhemmille versioille
  • dataSize: u64 - vertaa program account -tietojen pituutta annettuun tietokokoon

Is this page helpful?

Sisällysluettelo

Muokkaa sivua