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 тип не отмечен