Solidity struktury kontraktu

cybor0(37)
Published in
#polish
Words
111
Reading
1 min
Listen
Play
8y

solidity.png

Importy w solidity

W solidity możemy importować inne pliki źródłowe używając instrukcji import.

Przykłady importowania .

import "sourcefile"; // wszystkie globalne symbole z pliku sourcefile zostaną zaimportowane również jako globalne
import * as symbol from "sourcefile"; // wszystkie globalne symbole z pliku sourcefile zostaną zaimportowane jako część symbol, będą dostępne jako symbol.xxx
//alternatywą dla powyższej instrukcji jest
import "sourcefile" as symbol;

Mamy również możliwość stosowania aliasów.

import {symbol as alias} from "filename";

Komentarze

W solidity mamy możliwość dodawania jednolinijkowych i wielolinijowych komentarzy.

// komentarz jednolinijkowy

/*
komentarz wielolinijkowy
*/

Struktura kontraktu

Kontrakt w solidity przypominają klasy z innych języków programowania. Kontrakty mogą dziedziczyć z innych kontraktów. Kontrakt może zawierać:

Zmienne stanu

Zmienne które na stałe, są zapisywane w kontrakcie, jego storze.

contract Box {
    string message;
}

Funkcje

Funkcje dzielą kontrakt na wykonywalne kawałki.

function geMessage() public view { // Funkcja
}

Modyfikatory

Specjalne semantyczne jednostki, mające wpływa na wykonywanie funkcji.

    modifier onlySeller() { // Modyfikator ten powoduje, że funkcja dla której zostanie użyty, zostanie wywołana tylko i wyłącznie dla właściciela kontraktu 
        require(
            msg.sender == seller
        );
        _;
    }

    function abort() public onlySeller { // Użycie modyfikatora
    }

Zdarzenia

W solidity mamy możliwość tworzenia zdarzeń.

    event messageEvent(address person); // Zdarzenia deklaracja

    function del() public {
        emit messageEvent(msg.sender); // Wywołanie zdarzenia
    }

Struktury

W solidity mamy możliwość prezentowania bardziej skomplikowanych danych za pomocą struktur.

    struct Car { // Struktura
        uint wheels;
        bool electric;
        ......
    }

Typy wyliczeniowe

Skończony zbiór stałych wartości.

 enum State { Created, Deleted, Active } // Przykład typu wyliczeniowego