Solidity struktury kontraktu

in polish •  6 years ago 

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
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @cybor0! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made your First Vote

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

Saint Nicholas challenge for good boys and girls

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @cybor0! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

The new SteemFest⁴ badge is ready
Vote for @Steemitboard as a witness to get one more award and increased upvotes!