Siedem kluczowych pojęć stanowi fundament rozwoju na Solanie. Przeczytaj o kontach, programach, instrukcjach, transakcjach i opłatach w tej kolejności, ponieważ każde kolejne buduje na poprzednim. Zapoznaj się z kontami i programami przed lekturą o PDA. Przed CPIs przeczytaj o programach, instrukcjach i PDA.
Konta
Solana przechowuje cały stan w kontach, które są magazynem klucz-wartość opartym na 32-bajtowych adresach. Każde konto posiada pięć pól: lamports, dane, właściciel, executable oraz rent_epoch.
Programy
Smart kontrakty Solany, kompilowane do sBPF. Programy są bezstanowe, a całość zmiennego stanu znajduje się w osobnych kontach danych przekazywanych przez instrukcje.
Instrukcje
Żądanie wykonania jednego programu, zawierające identyfikator programu, listę kont oraz nieprzezroczyste bajty danych. Wiele instrukcji składa się na jedną transakcję.
Transakcje
Atomowa jednostka wykonania w Solanie. Zawiera podpisy oraz wiadomość (adresy kont, ostatni blockhash i skompilowane instrukcje). Maksymalnie 1232 bajty.
Opłaty
Podstawowa opłata to 5 000 lamports za podpis, plus opcjonalna opłata priorytetowa zależna od liczby żądanych jednostek obliczeniowych. Maksymalnie 1,4 mln jednostek obliczeniowych na transakcję.
Adresy pochodne programów (PDA)
Deterministyczne adresy wyznaczane na podstawie identyfikatora programu i seedów. Tylko właściciel programu może podpisywać w imieniu PDA za pomocą invoke_signed.
Wywołania międzyprogramowe (CPI)
Jeden program wywołuje inny za pomocą invoke lub invoke_signed. Uprawnienia do podpisu i zapisu są przekazywane do wywoływanego programu. Maksymalna głębokość stosu instrukcji to 5 (poziom główny plus CPIs).
Dodatkowe tematy
Tokeny
Zbywalne i niezbywalne cyfrowe aktywa na Solanie (SPL Token, Token-2022).
Klastry i endpointy
Mainnet, Devnet i Testnet: grupy validatorów obsługujące zapytania JSON-RPC.
| Klaster | Publiczny endpoint RPC | Zastosowanie |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Produkcja |
| Devnet | https://api.devnet.solana.com | Eksperymenty deweloperskie |
| Testnet | https://api.testnet.solana.com | Testowanie validatorów |
Is this page helpful?