Solidność - podstawowa składnia

Pliki źródłowe Solidity mogą zawierać dowolną liczbę definicji kontraktów, dyrektyw importu i dyrektyw pragma.

Zacznijmy od prostego pliku źródłowego Solidity. Poniżej znajduje się przykład pliku Solidity -

pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
   uint storedData;
   function set(uint x) public {
      storedData = x;
   }
   function get() public view returns (uint) {
      return storedData;
   }
}

Pragma

Pierwsza linia to dyrektywa pragma, która mówi, że kod źródłowy jest napisany dla Solidity w wersji 0.4.0 lub czegokolwiek nowszego, co nie przerywa funkcjonalności aż do wersji 0.6.0, ale nie obejmuje.

Dyrektywa pragma jest zawsze lokalna dla pliku źródłowego i jeśli importujesz inny plik, pragma z tego pliku nie zostanie automatycznie zastosowany do pliku importu.

Tak więc pragma dla pliku, który nie będzie się kompilował wcześniej niż wersja 0.4.0 i nie będzie działać na kompilatorze począwszy od wersji 0.5.0, zostanie zapisana następująco -

pragma solidity ^0.4.0;

Tutaj drugi warunek jest dodawany za pomocą ^.

Kontrakt

Kontrakt Solidity to zbiór kodu (jego funkcji) i danych (jego stanu), który znajduje się pod określonym adresem w Ethereumblockchain.

Linia uintstoredData deklaruje zmienną stanu o nazwie storageData typu uint, a funkcje set i get mogą służyć do modyfikowania lub pobierania wartości zmiennej.

Importowanie plików

Chociaż powyższy przykład nie zawiera instrukcji importu, ale Solidity obsługuje instrukcje importu, które są bardzo podobne do tych dostępnych w JavaScript.

Następująca instrukcja importuje wszystkie symbole globalne z „nazwy pliku”.

import "filename";

Poniższy przykład tworzy nowy globalny symbol symbolName, którego elementami są wszystkie symbole globalne z „filename”.

import * as symbolName from "filename";

Aby zaimportować plik x z tego samego katalogu, w którym znajduje się bieżący plik, użyj opcji importu „./x” jako x ;. Jeśli używasz importu „x” jako x; zamiast tego w globalnym „katalogu dołączanym” można by się odwołać do innego pliku.

Zastrzeżone słowa kluczowe

Poniżej znajdują się zastrzeżone słowa kluczowe w Solidity -

abstrakcyjny po Alias zastosować
automatyczny walizka łapać kopia
domyślna definiować finał niezmienny
przybory w inline pozwolić
makro mecz zmienny zero
z nadpisanie częściowy obietnica
odniesienie przenoszony zapieczętowany rozmiar
statyczny obsługuje przełącznik próbować
typedef typ niepowstrzymany