Seitsemän käsitettä muodostavat Solana-kehityksen perustan. Aloita tileistä ja ohjelmista, sitten seuraa miten ohjeet muodostuvat transaktioiksi. PDA:t, CPI:t ja maksut rakentuvat tämän suoritusmallin päälle.
Tilit
Solana tallentaa kaiken tilan tileille, jotka ovat avain-arvo-varasto, jota indeksoidaan 32-tavuisilla osoitteilla. Jokaisella tilillä on viisi kenttää: lamports, data, owner, executable ja rent_epoch.
Ohjelmat
Solanan älykkäät sopimukset, käännetty sBPF-muotoon. Ohjelmat ovat tilattomia ja kaikki muuttuva tila sijaitsee erillisissä datatileissä, jotka välitetään ohjeiden kautta.
Ohjeet
Pyyntö suorittaa yksi ohjelma, joka sisältää ohjelmatunnuksen, tililuettelon ja läpinäkymättömät datatavut. Useita ohjeita voidaan koota yhdeksi transaktioksi.
Transaktiot
Solanan atominen suoritusyksikkö. Sisältää allekirjoitukset ja viestin (tilien osoitteet, viimeisimmän lohkotiivisteen ja käännetyt ohjeet). Enintään 1232 tavua, tai 4096 v1-formaatilla.
Maksut
Perusmaksu on 5 000 lamportsia allekirjoitusta kohden, ja lisäksi valinnainen prioriteettimaksu pyydettyjen laskentayksiköiden perusteella. Enintään 1,4 miljoonaa laskentayksikköä per transaktio.
Program Derived Addresses (PDA:t)
Deterministiset osoitteet, jotka johdetaan ohjelmatunnuksesta ja syötteistä. Ainoastaan omistava ohjelma voi allekirjoittaa PDA:n puolesta invoke_signed-kutsun kautta.
Cross-Program Invocations (CPI:t)
Yksi ohjelma kutsuu toista invoke- tai invoke_signed-kutsun kautta. Allekirjoittaja- ja kirjoitusoikeudet siirtyvät kutsuttavalle ohjelmalle. Enimmäisohjepinon syvyys on 5 (ylätaso mukaan lukien CPI:t).
Lisäaiheet
Resurssit
Vaihdettavat ja ei-vaihdettavat digitaaliset resurssit Solanassa (SPL Token, Token-2022).
Klusterit ja päätepisteet
Mainnet, Devnet ja Testnet: validator-ryhmät, jotka palvelevat JSON-RPC-pyyntöjä.
| Klusteri | Julkinen RPC-päätepiste | Käyttö |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Tuotanto |
| Devnet | https://api.devnet.solana.com | Kehittäjäkokeilu |
| Testnet | https://api.testnet.solana.com | Validator-testaus |
Is this page helpful?