Solidity - базовый синтаксис
Исходные файлы Solidity могут содержать любое количество определений контрактов, директив импорта и директив pragma.
Начнем с простого исходного файла Solidity. Ниже приведен пример файла 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, которая сообщает, что исходный код написан для Solidity версии 0.4.0 или для чего-то более нового, что не нарушает функциональность до версии 0.6.0, но не включая ее.
Директива pragma всегда локальна для исходного файла, и если вы импортируете другой файл, директива pragma из этого файла не будет автоматически применяться к импортируемому файлу.
Таким образом, прагма для файла, который не будет компилироваться ранее, чем версия 0.4.0, и он также не будет работать на компиляторе, начиная с версии 0.5.0, будет записан следующим образом:
pragma solidity ^0.4.0;
Здесь второе условие добавляется с помощью ^.
Договор
Контракт Solidity - это набор кода (его функций) и данных (его состояние), который находится по определенному адресу в цепочке блоков Ethereum.
Строка uintstoredData объявляет переменную состояния с именем storedData типа uint, а функции set и get могут использоваться для изменения или получения значения переменной.
Импорт файлов
Хотя в приведенном выше примере нет оператора импорта, Solidity поддерживает операторы импорта, которые очень похожи на те, что доступны в JavaScript.
Следующая инструкция импортирует все глобальные символы из "filename".
import "filename";
В следующем примере создается новый глобальный символ symbolName, членами которого являются все глобальные символы из «filename».
import * as symbolName from "filename";
Чтобы импортировать файл x из того же каталога, что и текущий файл, используйте import "./x" as x ;. Если вы используете import «x» как x; вместо этого можно ссылаться на другой файл в глобальном «подключаемом каталоге».
Зарезервированные ключевые слова
Ниже приведены зарезервированные ключевые слова в Solidity -
Аннотация | после | псевдоним | применять |
авто | дело | поймать | копия |
по умолчанию | определить | окончательный | неизменный |
орудия | в | в линию | позволять |
макрос | соответствие | изменчивый | ноль |
из | отменять | частичный | обещание |
Справка | перемещаемый | запечатанный | размер |
статический | поддерживает | переключатель | пытаться |
typedef | тип | не отмечен |