Разбор примера Aleo: простейший токен

Kaylej
2 min readJan 28, 2023

--

В этой статье мы разбираем принцип работы простейшего токена на блокчейне Aleo. Посмотрим, как выглядит код на языке Leo, а также разберём отличия от Solidity.

Для начала соберём конструктор контракта:

record — это шаблон токена. Здесь мы записываем владельца, кому чеканим все токены, gates (который по умолчанию почти всегда равен нулю, этого нет в Solidity, но на это можно не обращать внимания), и amount (количество токенов). К этому шаблону мы обращаемся далее:

Это функция, носящая чисто external характер. То есть, это — грубо говоря интерфейс, внутри которого ничего не происходит. Мы просто создаём здесь токен со входными значениями.

Далее идёт самая большая функция, обозначающая перевод средств:

Здесь difference — это кол-во средств, которые остаются у владельца после перевода средств кому-либо.

Если приводить аналогию с Solidity, то далее идёт afterTransfer (т.е. обновление балансов, но без проверок):

В remaining мы записываем данные для отправителя: здесь меняется только кол-во токенов, и оно уменьшилось.

В transferred мы обновляем данные о владении токенов для получателя.

Сразу обратим внимание на inputs:

Стоит отметить, что это — демонстрационная версия для контракта с токеном, и здесь нет проверок и allowances; это значит, что по большому счёту, трансфер здесь может выполнить любой пользователь от кого угодно кому угодно.

Также здесь мы можем выполнять функцию mint сколько угодно раз, создавая токены-клоны.

Протестируйте данный контракт самостоятельно на https://play.leo-lang.org/ !

--

--