3 Создание токенов
В CyberWay каждый пользователь приложения может создать собственный вид токена (в EOS создавать токены могут только блок-продюсеры, что дает блок-продюсерам власть над приложениями). Токены создаваемого приложения должны разворачиваться на отдельном от cyber.token
аккаунте. Пользователь при создании токенов может использовать эталонную реализацию токен-контракта cyber.token
в качестве базовой, загрузив его содержимое в свою область. То есть пользователю необходимо создать свой аккаунт и свой вид токена.
3.1 Загрузить исходные файлы контрактов Войти в созданную для контрактов директорию и загрузить в нее копию удаленного репозитория с исходными файлами контрактов.
Репозиторий cyberway.contracts содержит несколько контрактов, но для создания токенов необходим контракт cyber.token
.
3.2 Создать аккаунт для контракта Перед тем, как развернуть токен-контракт, необходимо создать аккаунт этого контракта (учетную запись контракта), исполнив командную строку вида:
Параметры командной строки:
olga — имя аккаунта для создаваемого контракта;
olga.token — имя токен-контракта, загруженного с репозитория cyberway.contracts
с исходными файлами.
В качестве примера создан аккаунт контракта с именем olga.token
.
3.3 Скомпилировать контракт
Контракт компилируется в веб-ассемблеровский файл формата wasm
. Наличие опции --abigen
указывает, что будет также сгенерирован файл abi/olga.token.abi
.
3.4 Установить токен-контракт
Параметр:
olga.token@active
— имя, которое будет использоваться для авторизации запроса.
Токен-контракт будет считаться успешно установленным, если в результирующей выдаче выполняемой команды будет содержаться информация вида:
3.5 Создать токен
Для создания нового токена используется операция-действие create
. В качестве аргумента задается тип токена symbol_name
, содержащий два значения — максимальное значения предложения и символ токена. Вызов данного действия имеет вид:
Наличие опции -p olga.token@active
санкционирует контрактом olga.token
выполнение этого действия.
Создание токена считается успешным, если на мониторе появится информация вида:
В результате будет создан новый токен SYS,имеющий точность четыре десятичных знака. Максимально допустимое количество токенов в обращении должно быть ограничено значением 1000000000. Для создания этого токена требуется разрешение контракта olga.token
. Имя olga.token@active
будет использоваться для авторизации запроса.
3.6 Выпуск токенов Автор токена может выпускать токены на предварительно созданный аккаунт, например, на аккаунт с именем «alice», исполнив:
В результате выполнения команды должна появиться информация вида:
Выдача содержит одно действие issue
и три действия transfer
. Во время выполнения issue
дополнительно генерируются три внутренних вызова с уведомлением отправителя и получателя токенов.
3.7 Трансфер токенов Часть токенов может быть переведена с баланса одного аккаунта на баланс другого аккаунта. Например, для перевода суммы 25 токенов с баланса аккаунта «alice» на баланс аккаунта «bob» необходимо использовать командную строку вида:
Для выполнения этого действия требуется разрешение аккаунта отправителя «alice» — наличие опции -p alice@active
.
Трансфер токенов считается выполненным успешно, если по завершению действия в командном окне появляется информация вида:
Для контроля тансвера токенов можно воспользоваться вызовом get_currency_balance
для получения данных баланса аккаунтов отправителя и получателя, исполнив:
Last updated