цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Основы языка программирования смарт-контрактов Solidity

Основы языка программирования смарт-контрактов Solidity

Автор: Mike(admin) от 22-11-2017, 19:35

В прошлом материале мы рассмотрели, что из себя представляет язык программирования интеллектуальных контрактов в сети Ethereum под названием Solidity. Здесь же посмотрим на основы этого языка с точки зрения написания программ для реализации смарт-контрактов.


Solidity

Начнем сразу с довольно простого примера, который пояснит некоторые базовые вещи языка Solidity.



pragma solidity ^0.4.0;
contract JustStorage {
  uint DataStored;
  function set(uint x) {
     DataStored = x;
  }
  function get() constant returns (uint) {
     return DataStored;
  }
}

В первой строчке просто поясняется, что данная программа написана на языке Solidity версии 0.4.0. Это нужно для учета версии компилятора для того, чтобы функциональность текущего смарт-контракта соответствовала версии. Здесь также вызывается ключевое слово pragma, потому что оно представляет собой инструкцию для компилятора, говорящую о том, как обрабатывать исходный код, например, pragma once.


Итак, вспомним, что интеллектуальный контракт в рамках языка Solidity являет собой набор кода (его функций) и данных (его состояний), который находится в блокчейне Ethereum по определенному адресу. Строчка uint DataStored объявляет переменную состояния, именуемую DataStored. Эта переменная имеет тип uint, то есть беззнаковое целое число из 256 бит. Для простоты понимания можно представлять это как определенную ячейку в базе данных, к которой можно обращаться, а также изменять ее содержимое путем вызова функций кода, управляющего базой данных. Для обращения к такой ячейки (и извлечения данных из нее) и для изменения данных в этой ячейки в данном случае используют функции get и set соответственно. То есть с помощью них мы получаем (get) значение переменной и изменяем (set) ее значение. Чтобы получить доступ к переменной состояния, нужно использовать префикс prefix, как это принято еще в ряде других языков программирования.


Этот контракт умеет очень мало, по сути, он лишь позволяет кому-либо хранить единственное число, которое будет доступно любому человеку в мире, при этом будет обеспечиваться его иммунитет к фальсификации, поскольку он будет записан в блокчейне. Конечно, любой может просто вызвать set с другим значением и перезаписать число, но это число все равно будет сохранено в истории распределенной базы данных блокчейна. Позже мы рассмотрим то, как можно ввести ограничения доступа, чтобы только создатель смарт-контракта мог изменить число.


Далее мы рассмотрим пример создания простой криптовалюты на языке Solidity.




© digitrode.ru


Теги: криптовалюты, Ethereum, Solidity, блокчейн




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий