Solidity: типы данных, операции и функции

YOUTUBE · 19.11.2025 07:17

Ключевые темы и таймкоды

Создание переменных и смарт-контрактов

0:05
  • В видео рассказывается о создании переменных и смарт-контрактов в Solidity.
  • Переменные должны быть явно указаны с типом данных (например, int, string, boolean).
  • Переменные имеют значение по умолчанию (например, 0 для чисел, пустая строка для строк, false для булевых значений).

Типы данных и размерности

8:42
  • В Solidity есть два типа целых чисел: без знака (unsigned int) и со знаком (int).
  • Беззнаковые целые числа могут принимать значения от 0 до 256, а со знаком - от -256 до 255.
  • Размерность может быть указана явно (например, 8) или неявно (например, 256).

Использование переменных и смарт-контрактов

10:28
  • Переменные могут быть помечены как публичные, что позволяет считывать их значения извне смарт-контракта.
  • Смарт-контракты могут быть названы в формате camelCase (например, MyContract).
  • В смарт-контрактах можно использовать функции для работы с переменными (например, getters и setters).

Типы данных в Solidity

12:48
  • В Solidity есть четыре основных типа данных: числовой, булевый, строковый и адрес.
  • Булевый тип данных имеет только два значения: true (истина) и false (ложь).
  • Математические операции доступны для числовых типов данных, включая сложение, вычитание, умножение, деление, возведение в степень и операции с остатком.

Работа со строками

16:38
  • В Solidity строки ограничены в использовании и не имеют функций для склейки строк.
  • Тип хранения строк может быть "мемори" (в оперативной памяти) или "сторож" (постоянное хранилище).
  • Хранение больших массивов данных в блокчейне может быть дорогим, поэтому рекомендуется хранить их во внешних файловых хранилищах.

Работа с адресами

18:09
  • Адреса в Solidity являются специальным типом данных, который используется для идентификации учетных записей, кошельков и контрактов.
  • Адреса имеют формат "n и затем что-то", размерность 120 бит и могут быть использованы для вызова функций, перечисления денег и других вызовов.

Работа с сопоставлениями (мапами)

20:20
  • Мапы (сопоставления) в Solidity представляют собой формат данных "ключ-значение".
  • Мапы могут быть использованы для хранения данных в виде пар ключ-значение.

Создание функции и работа с разными типами данных

22:28
  • В Solidity функции могут иметь разные области видимости: публичные, приватные, внутренние и внешние.
  • Для функций, которые принимают денежные средства, необходимо пометить их как "публичные".
  • Для отправки денежных средств в смарт-контракт можно использовать функцию "receive" и указать сумму в велью.

Создание смарт-контракта

22:57
  • Создание смарт-контракта с использованием Solidity
  • Создание функции, которая отправляет денежные средства на смарт-контракт

Отправка и получение денежных средств

26:24
  • Отправка денежных средств на смарт-контракт с использованием функции send
  • Получение текущего баланса смарт-контракта с помощью функции get

Отправка денежных средств на конкретный адрес

33:46
  • Создание функции, которая отправляет денежные средства на конкретный адрес
  • Отправка денежных средств на адрес с использованием функции transfer

Удаление смарт-контракта и развертывание его снова

33:55
  • Удаление смарт-контракта из блокчейна
  • Развертывание смарт-контракта снова с использованием функции deploy

Использование текущего баланса смарт-контракта

38:26
  • Использование функции get для получения текущего баланса смарт-контракта
  • Удаление переменной, которая отслеживает текущий баланс, и использование ссылки на текущий смарт-контракт для получения текущего баланса

Работа с переменными и функциями

39:47
  • В видео рассказывается о том, как работать с переменными и функциями в Solidity.
  • Переменные имеют тип и могут быть инициализированы при объявлении.
  • Функции могут быть модификаторами, которые изменяют состояние контракта, или просто считывают данные.

Глобальные объекты и модификаторы

44:22
  • В Solidity есть два глобальных объекта: Message и Address.
  • Message возвращает информацию о транзакции, а Address указывает на текущий контракт.
  • Модификаторы, такие как public, private и view, определяют область видимости функции.

Работа с типами данных и дефолтными значениями

49:20
  • В Solidity у каждого типа данных есть дефолтное значение: для bool это false, для string - пустая строка, для int - ноль.
  • Для типа данных address дефолтное значение - нулевой адрес, на который нельзя отправлять транзакции.