Solidity pierwsze kroki

in polish •  6 years ago 

solidity.png

Co to jest solidity

Solidity to stworzony w 2014 roku obiektowy język programowania przeznaczony do tworzenie smart contract publikowanych w blockchain.

IDE do solidity

W celu pracy z solidity proponuję zapoznać się z dostępnym IDE pod adresem https://remix.ethereum.org

Pierwszy program w solidity

Napisanie pierwszego programu w solidity zaczniemy od stworzenie prostego kontraktu i omówienia jego poszczególnych części

pragma solidity ^0.4.25;

contract Box {
    string public message;
    
    constructor() public {
        message = "Hello";
    }

    function setMessage(string _message) public {
        message = _message;
    }
}

Omówienie poszczególnych instrukcji

Wiersz

pragma solidity ^0.4.25;

To nic innego jak informacja dla kompilatora, że nasz program używa wersji solidity co najmniej 0.4.25 lub wyższej do wersji 0.5.0, (nie wliczając wersji 0.5.0 która mogłaby wnieść zmiany pozwalające zepsuć nasz program).

Wiersze

contract Box {

}

Kontrakt - deklaracja sedna aplikacji pisanej w solidity to coś na na wzór "class" z innych języków (zbioru funkcji i danych).

Wiersz

string public message;

To deklaracja zmiennej stanu typu string dostępnej publicznie.
Dodanie słowa kluczowego public powoduje, że utworzona zostanie również funkcja publiczna, pozwalająca na odczyt zmiennej

function message() returns (string) { return message; }

która pozwoli na dostęp do naszej zmiennej.

Jeśli samemu chcielibyśmy stworzyć taką funkcję musielibyśmy użyć innej nazwy np getMessage, ponieważ nazwa message jest zajęta przez samą zmienna. Funkcja ta mogłaby wyglądać następująco:

function getMessage() public view returns (string) {
        return message;
    }
}

Wiersze

constructor() public {
    message = "Hello";
}

To konstruktor naszego kontraktu, zostanie wykonany tylko raz w momencie tworzenia kontraktu. Jak widać jego zadaniem będzie ustawienie naszej zmiennej message.

Wiersze

function setMessage(string _message) public {
    message = _message;
}

Stworzeni funkcji o dostępie publicznym pozwalającym na zapisanie argumentu funkcji do naszej zmiennej stanu - message.

PS

Wewnątrz funkcji kontraktu nie potrzeba używać słowa kluczowego this w celu odwołania się do zmiennej.

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!