Что такое токен EOS? В отличие от Ethereum, на EOS токен входит в стандартный комплект смарт-контракта.
Если на Ethereum есть токены стандарта ERC-20, то на смарт-контрактах EOS стандарт токена называется eosio.token.
С помощью этого смарт-контракта вы сможете создавать свои токены, устанавливать их название и объем максимальной эмиссии, вводить какое-то их количество в обращение и пересылать с аккаунта на аккаунт.
Токены EOS в блокчейне EOS выпускаются в соответствии с таким же контрактом.
Параметр «url» показывает, к какой ноде вы подключены.
Информацию о конечных точках API можно узнать на официальном сайте проекта.
Установка cleos Cleos — это утилита командной строки для взаимодействия с нодами EOS (nodeos) в REST API.
Для того чтобы взаимодействовать с блокчейном EOS, необходимо отправлять команды в cleos.
Установить cleos можно с помощью Docker, AWS Image или совместимого кода.
В результате cleos будет установлен на вашем терминале.
Создание кошелька «Кошельки — это клиентские программы, в которых хранятся ключи, связанные (или несвязанные) с правами на один или более аккаунт.
В идеале у кошелька есть закрытое (зашифрованное) и открытое (расшифрованное) состояние, защищенное паролем с высокой энтропией.
Репозиторий EOS оснащен интерфейсом командной строки cleos, которая связывает ноды с компонентом keosd», — из раздела «Аккаунты и Права».
Давайте создадим кошелек и назовем его TreasureПароль от этого кошелька нужно будет хранить в безопасном месте, потому что, если вы его потеряете, то никогда не сможете восстановить ключи, находящиеся в этом кошельке.
Теперь надо создать две пары ключей для обоих видов прав: права собственности и права активности.
После этого мы импортируем их в наш кошелек.
Создание аккаунта «Чтобы что-то делать в блокчейне EOS, нужно иметь в нем аккаунт.
Аккаунт — это удобочитаемое имя, которая хранится в блокчейне.
Он может принадлежать одному человеку или группе лиц в зависимости от настройки прав.
Аккаунт необходим для совершения каких-либо транзакций в блокчейне», — из раздела «Аккаунты и Права».
По сути аккаунт — это набор публичных и приватных ключей, привязанных к конкретному имени.
Ключи хранятся в кошельке.
Аккаунты хранятся в блокчейне EOS.
Если у вас уже есть аккаунт с каким-то количеством EOS, то чтобы завести локальный аккаунт, вы просто набираете в командной строке cleos create account, но создать аккаунт в сети EOS Mainnet вы так не сможете.
Для создания аккаунта в Mainnet вам нужна будет помощь кого-то, у кого такой аккаунт уже есть, и это не бесплатно.
Более того, вы можете создавать только аккаунты длиной 12 символов, используя строчные буквы от a до z и цифры от 1 до 5.
Впрочем, это очень жесткие ограничения.
Для создания более коротких аккаунтов вам придется участвовать в аукционах.
Так как аккаунты EOS можно перепродавать, лучшие имена будут быстро захвачены компьютерными скваттерами.
С учетом всего этого и для экономии времени и денег мы сейчас в учебных целях заведем аккаунт не в Mainnet, a в Testnet.
Тестовая сеть EOS Jungle Testnet — это почти точная копия Mainnet.
Идите на jungle.cryptolions.io и нажмите на ссылку «Create Account».
Вас попросят ввести имя аккаунта и два ключа.
Используйте два публичных ключа, созданных ранее.Подтвердите создание аккаунта:Теперь нам надо купить немного оперативной памяти, чтобы опубликовать наш контракт.
В блокчейне EOS есть специальная площадка, на которой память продается по рыночной цене с учетом спроса и предложения.
Для людей с деньгами это отличная возможность заработать на спекуляции.
Переведите несколько токенов EOS на ваш счет с помощью крана EOS Jungle Testnet Faucet.После этого наберите в командной строке cleos system buyram, чтобы купить оперативную память на токены EOS.
Создание контракта Прежде всего нам надо загрузить наш контракт в блокчейн.
Для этого надо набрать в командной строке cleos set contract и установить следующие параметры:account — аккаунт, к которому относится контракт.
contract-dir — директория контракта.
wast-file — файл формата WAST или WASM, содержащий текстовую версию контракта.
abi-file — ABI описание контракта.Как можно заметить, необходимо указывать файлы wast и abi.
Если вы создаете контракт с помощью исходного кода, то можете найти их в папке ./build/contracts/eosio.token/.
Для нашего удобства вот тут хранятся оба эти файла — ?wast/abi.
В командной строке set contract введем имя нашего аккаунта.
Поскольку наши файлы wast/abi называются так же, как и директория, эти параметры можно опустить.Теперь проверим, загрузился ли наш код, набрав команду get code ylvdeveloper.
Да, все в порядке.
Создание токена Наконец мы можем создать и выпустить собственный токен.
Для этого нам нужно выполнить действия create и issue в команде push action, указав следующие параметры:contract — аккаунт, к которому привязан контракт.
action — действие, которое должно быть выполнено по этому контракту.
data — условия контракта.Давайте создадим и выпустим в обращение токены YLV.Мы только что создали токен YLV с максимальным объемом эмиссией 1 млн.
Теперь положим 1000 токенов на аккаунт ylvdeveloper.Проверим баланс.Отлично.
У нас есть контракт, и мы можем выпускать токены.
Что нам еще нужно? Возможность переводить токены с одного аккаунта на другой.
Наберем в cleos команды push action и transfer.
Нам нужен аккаунт, на который мы переведем часть наших токенов.
Создадим его точно так же, как мы создали ylvdeveloper.
Теперь перешлем 100 токенов от ylvdeveloper к ylvio.Сверим балансы: Все прошло по плану.
Заключение Мы прошли весь путь: от установки cleos и понимания того, как устроен стандарт eosio.token до выпуска собственных токенов и перевода их на другие аккаунты.
Всего этого мы добились с помощью тестовой сети EOS Jungle Testnet, которая почти ничем не отличается от EOS Mainnet.
В Mainnet все будет работать точно так же, только нужно будет использовать другие конечные точки API и заплатить за аккаунты и оперативную память.