Solidity pierwsze kroki

in #polish6 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.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63608.16
ETH 2621.61
USDT 1.00
SBD 2.77