Во втором уроке базового курса по Solidity мы углубляемся в разработку смарт-контрактов и изучаем важные концепции языка. Разберем области хранения данных, ошибки, модификаторы, ивенты, циклы и другие ключевые аспекты солидити. Напишем смарт-контракт для интернет магазина.
💡 В этом уроке:
✅ Работа с ошибками Error
и модификаторами Modifier
✅ Разбор циклов for
, while
и do while
✅ Использование Events
для логирования данных
✅ Разработка смарт-контракта интернет-магазина
✅ Знакомство с OpenZeppelin и контрактом Ownable
✅ Разбор различий между memory
и calldata
📌 Материалы:
📍 Полезные ссылки:
🧑💻 Домашнее задание:
Вам необходимо усовершенствовать написанный во время урока смарт-контракт для интернет-магазина, добавив в него следующее:
- Добавить функцию
refund()
возвращающую средства за последнюю покупку. - Добавить функцию
getTotalRevenue()
показывающую общую сумму средств, полученных магазином. - Добавить функцию
getUserPurchase(address)
возвращающую историю покупок конкретного пользователя. - Добавить функцию
topSellingProducts()
возвращающую список самых продаваемых товаров.
⭐️ Дополнительные задания (более сложные)
- Добавить функционал
DISCOUNT_CODES
– реализовать систему скидочных кодов, которые снижают стоимость покупки. - По желанию использовать
Struct Purchase
, это позволит более структурно хранить данные о покупках (например, товар, цена, время покупки, покупатель).
Сдать домашнее задание на проверку можно нам в телеграм. За выполнение домашних заданий студенты Solidity University получают приятные бонусы.
🎓 Продолжи обучение с нами!
Приглашаем вас на углубленную программу по разработке и тестированию смарт-контрактов Solidity Bootcamp, в процессе которой вы создадите 3 пет-проекта, подготовите GitHub, LinkedIn, CV и освоите все необходимые скиллы для Junior Solidity Developer / Smart Contract Developer.