Przejdź do treści
Słowniksolanapodstawysmart-kontrakty

Instrukcja Solana

Instrukcja na Solanie, po angielsku instruction, to pojedyncze polecenie wewnątrz transakcji, które mówi konkretnemu programowi, co ma wykonać.

Czym jest instrukcja na Solanie

Transakcja na Solanie może zawierać jedną albo wiele instrukcji. Każda instrukcja kieruje wykonanie do konkretnego programu.

Instrukcja zawiera identyfikator programu, listę kont oraz dane, które program ma zinterpretować.

To jeden z powodów, dla których Solana różni się od Ethereum. Transakcja z góry deklaruje konta, z których program będzie korzystać.

Elementy instrukcji

program_id
Wskazuje program Solany, który ma wykonać instrukcję.
accounts
Lista kont, które program może czytać, zapisywać albo wymagać jako signerów.
data
Dane wejściowe interpretowane przez program, zwykle jako typ akcji i argumenty.
Compiled instruction
Zserializowana forma instrukcji w wiadomości transakcji.
Atomowość
Jeśli jedna instrukcja w transakcji zawiedzie, cała transakcja zwykle się nie powiedzie.

Dlaczego użytkownik to widzi

Explorery i portfele Solany często pokazują transakcję jako zestaw instrukcji. Jedna operacja w aplikacji może obejmować kilka kroków.

Przykład: swap może zawierać instrukcje związane z token accounts, programem DEX-a i finalnym transferem.

Zrozumienie instrukcji pomaga czytać explorer i rozumieć, czemu pojedyncza transakcja nie zawsze jest jednym prostym transferem.

Najczęstsze błędne założenia

  • Instrukcja nie jest tym samym co cała transakcja.
  • Jedna transakcja Solany może zawierać wiele instrukcji.
  • Format danych instrukcji nie jest uniwersalny. Każdy program definiuje własny układ danych.
  • Nieudana instrukcja może cofnąć całą transakcję.

Instrukcje są językiem wykonania Solany

Na Solanie portfel i explorer często pokazują, jakie programy zostały wywołane i jakie konta były użyte. To pomaga zrozumieć, co faktycznie zrobiła transakcja.

Najczęstsze pytania

Nie. Program Solany jest odpowiednikiem logiki kontraktu, a instrukcja jest poleceniem wysłanym do programu.

Tak. To częsty model na Solanie.

Nie. Może oznaczać transfer, swap, utworzenie konta, aktualizację stanu programu albo inną akcję.