Easy

Основы Solidity

Управляемые основы: синтаксис, состояние, функции, массивы, mappings, structs и modifiers.

Весь Easy-курс открыт и отслеживает прогресс по каждому уроку.

Сводка трека
20 уроки
Уроки
20
Завершено
0
Прогресс трека0/20
1
Урок 1

Первый показатель гильдии

Начните контракт BuildersGuild с первого публичного числового значения.

2
Урок 2

Флаг регистрации

Добавьте boolean-флаг, который показывает, могут ли новые участники вступать в гильдию.

3
Урок 3

Владелец гильдии

Сохраните адрес, который развернул гильдию, чтобы позже использовать его в admin-логике.

4
Урок 4

Название гильдии

Добавьте публичную string-переменную, чтобы у гильдии появилось читаемое on-chain название.

5
Урок 5

Обновление показателя гильдии

Сделайте контракт полезнее: добавьте публичную функцию, которая меняет сохраненное состояние.

6
Урок 6

Открытие регистрации

Добавьте простую action-функцию, которая открывает гильдию для новых участников.

7
Урок 7

Настройка вступительного бонуса

Сделайте гильдию настраиваемой: передайте новое значение через параметр функции.

8
Урок 8

Предпросмотр награды

Верните вычисленное значение награды, не изменяя состояние контракта.

9
Урок 9

Сводка гильдии

Добавьте read-only helper, который объединяет значения гильдии без изменения состояния.

10
Урок 10

Делаем функцию приватной

Спрячьте небольшую helper-функцию внутри контракта, чтобы ее могла использовать только внутренняя логика.

11
Урок 11

Проверка открытой регистрации

Начните join flow с проверки безопасности, которая блокирует пользователей, пока регистрация закрыта.

12
Урок 12

Список участников

Добавьте dynamic array, чтобы гильдия могла хранить упорядоченный список адресов участников.

13
Урок 13

Добавление нового участника

Расширьте join flow: добавьте адрес нового участника в массив.

14
Урок 14

Очки участников

Добавьте mapping, чтобы гильдия могла находить кол-во очков каждого участника по адресу.

15
Урок 15

Защита от повторного вступления

Используйте mapping с очками, чтобы один и тот же адрес не мог вступить дважды.

16
Урок 16

Профиль участника

Соберите информацию об участнике в один struct вместо набора разрозненных значений.

17
Урок 17

Профили по адресу

Сохраните полный профиль участника для каждого адреса, объединив struct и mapping.

18
Урок 18

Полный join flow

Превратите joinGuild в полноценную регистрацию, которая пишет в массив и оба mappings.

19
Урок 19

Модификатор onlyOwner

Создайте переиспользуемое правило only-owner и примените его к admin-действиям гильдии.

20
Урок 20

Событие MemberJoined

Создайте event при вступлении участника, чтобы off-chain инструменты могли отслеживать активность гильдии.

Логика трека

Уроки идут от первой идеи к закреплению. Если проходить их последовательно, следующие задания будут восприниматься гораздо легче.