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 |