Введение в солидность В руководстве рассказывается, как стать разработчиком блокчейна, написав смарт-контракты Ethereum с помощью языка программирования Solidity. Solidity - это контрактно-ориентированный язык, используемый для написания смарт-контрактов на блокчейне Ethereum. Язык статически типизирован и поддерживает наследование, библиотеки и другие функции.
Написание смарт-контракта В руководстве показано, как написать смарт-контракт с использованием языка программирования Solidity. Смарт-контракт - это публичный микросервис, доступный каждому в блокчейне. Контракт хранит данные в блокчейне в хранилище, а учебное пособие демонстрирует, как считывать и записывать данные в блокчейн с помощью функций. В руководстве также показано, как установить значение по умолчанию для смарт-контракта и как сделать переменные состояния постоянными.
Работа с переменными состояния В руководстве объясняется, как работать с переменными состояния в Solidity. В Solidity есть ярлык для бесплатного чтения переменных состояния, а переменные состояния могут быть установлены как константы, чтобы пользователи не могли обновлять значение. В руководстве также рассматриваются другие типы данных и структуры данных в Solidity, такие как целые числа, логические значения, массивы и сопоставления.
Основные типы данных В этой главе представлены основные типы данных в Solidity, такие как string, boolean, integer и целое число без знака. В нем объясняется разница между целыми числами со знаком и без знака и как указать количество байт или битов в целом числе.
Перечислимый список В этой главе объясняется, что такое перечисление и как его использовать в Solidity. В нем показано, как объявить перечисление и использовать его для отслеживания установленного списка вещей в смарт-контракте. В нем также демонстрируется, как обновить состояние перечисления и проверить, является ли это состояние активным.
Структуры и сопоставления В этой главе обсуждается, как определять пользовательские структуры данных с помощью structs в Solidity. В нем показано, как создать структуру для человека с атрибутами имени и фамилии и как добавить человека в массив или сопоставление. В нем также объясняется необходимость использования кэша счетчиков для отслеживания количества элементов в сопоставлении и как использовать модификаторы функций для изменения видимости функций в смарт-контракте.
Создание пользовательского модификатора для ограничения доступа к функциям Рассказчик объясняет, как создать пользовательский модификатор в смарт-контракте, чтобы ограничить доступ к функции только определенным учетным записям, таким как владелец или администратор. Они демонстрируют, как определить модификатор и использовать его в функции.
Использование time in solidity Рассказчик объясняет, как использовать time in solidity для ограничения доступа к функции на основе определенного периода времени, например, при массовой продаже или предварительной продаже токена ERC20. Они демонстрируют, как установить время открытия и сравнить его с текущей временной меткой блока, чтобы разрешить или запретить вызовы функций.
Принятие эфира в функции Рассказчик объясняет, как принять эфир в вызове функции и перевести его на указанный адрес кошелька. Они демонстрируют, как использовать сопоставление для отслеживания остатков токенов и передачи эфира с помощью функции передачи и msg.value. Они также упоминают изменение синтаксиса для Solidity 0.5.
Добавление модификатора оплаты и объявления адреса Функция должна быть общедоступной, чтобы люди могли ее вызывать, и необходимо добавить модификатор оплаты, чтобы принимать эфир. Объявление адреса также необходимо обновить, чтобы включить ключевое слово payable.
Создание резервной функции и использование событий Может быть создана резервная функция для выполнения функции по умолчанию, когда эфир отправляется в смарт-контракт. События могут использоваться для того, чтобы позволить внешним потребителям прослушивать определенные действия в смарт-контракте.
Использование нескольких смарт-контрактов и наследование Несколько смарт-контрактов можно использовать в Solidity, ссылаясь на их адреса и создавая их экземпляры. Наследование также может быть использовано для создания отношений "родитель-потомок" между смарт-контрактами.
Понимание tx.происхождение и наследование в солидности Рассказчик объясняет разницу между tx.origin и msg.sender в надежности и то, как это может быть проблемой при программировании с несколькими смарт-контрактами. Они также демонстрируют, как наследовать смарт-контракты в Solidity и настраивать их, переопределяя функции и конструкторы.
Использование библиотек в Solidity Рассказчик объясняет, что такое библиотеки в Solidity и как их можно использовать для организации кода, который можно повторно использовать в нескольких местах внутри проекта. Они демонстрируют, как объявить библиотеку в Solidity и как импортировать ее из другого файла. Они также знакомят с библиотекой SafeMath и показывают, как использовать ее для непосредственного выполнения математических операций с целыми числами без знака.
Занимаюсь математикой в солидности Рассказчик объясняет, как выполнять математические операции в Solidity с помощью оператора деления, и демонстрирует, как предотвратить ошибки деления на ноль с помощью библиотеки. Они также знакомят с библиотекой SafeMath и показывают, как использовать ее для непосредственного выполнения математических операций с целыми числами без знака.