Как да създадете EOS Token

Създаване на Eos Token с помощта на eosio.token Договор

В EOS маркерите могат да бъдат публикувани просто с помощта на договора eosio.token. Договорът eosio.token се съхранява в директорията Contract по време на инсталирането на EOS. Договорите за токени с различни функции също могат да бъдат конфигурирани отделно, като се позовават на eosio.token.

В тази публикация ще публикуваме жетон, използвайки договора eosio.token.

Създайте потребителски акаунт

Създайте потребителски акаунт, преди да публикувате. Потребителите ще използват usersc, user1, user2; Ще прескоча създаването на частта на потребителския акаунт (но намирам, че така или иначе я описвам, докато пиша ...).

Първо, за да продължите в реда на eosio на разработчика, създайте eosio.token акаунт.

#cleos създават ключ

Генерирайте двата ключа.

#cleos портфейл импорт [частен ключ]

Запазете ключа върху основния портфейл.

#cleos създайте акаунт eosio eosio.token [Публичен ключ]

Създайте акаунта eosio.token с помощта на генерирания ключ.

#cleos зададете договор eosio.token ~ / eos / изграждане / договор / eosio.token -p eosio.token

Разгърнете договора за токени eosio, който е основният договор за създаване, издаване и прехвърляне на жетони. Договорът за токени eosio се намира в директорията [eos source] /build/contracts/eosio.token.

Токен поколение

Сега, когато сме готови, нека да генерираме маркер.

#cleos push action eosio.token създава „[“ eosio “,„ 1000000000000.000 SYS “]“ -p eosio.token

Създайте маркер „SYS“, като използвате действието за създаване на договора eosio.token. Първите данни, предадени на действието, са на издателя и в този пример е акаунтът, собственост на системата, eosio. Вторите данни са максималното количество, което може да бъде предоставено, в този пример, определено на един трилион.

Издайте генерирания маркер на потребителя. В тази публикация на user1 беше публикувано 100.0000 SYS.

#cleos push action eosio.token issue '["user1", "100.0000 SYS", "memo"]' -p eosio

Когато публикувате, трябва да изпълнявате, използвайки привилегията на eosio акаунта. В противен случай ще получите съобщение, че нямате съответното разрешение, както по-горе. Освен това, ако погледнете внимателно изхода, проблемът се състои от транзакция с няколко действия.

#cleos получи валутен баланс eosio.token user1

Проверете баланса на user1 с проста команда.

#cleos push действие eosio.token прехвърляне '{"от": "user1", "to": "user2", "количество": "10.0000 SYS", "memo": "memo"} "-p user1

User1 сега предава 10.0000 SYS на user2. Разбира се, това трябва да стане с помощта на акаунта на user1.

#cleos получи валутен баланс eosio.token [потребителско име]

Проверете всеки баланс.

Досега беше основен пример за договор с маркери на eosio. Сега ще тестваме повече за това как работи договорът за токени eosio.

Тест за работа

Първо, въпросът е дали договорът eosio.token може да контролира други символи, различни от „SYS“.

#cleos push action eosio.token създайте „[“ eosio “,„ 10000000000000.0000 TST “]“ -p eosio.token

Вероятно няма да работи, но нека опитаме да създадем нов маркер, наречен „TST“.

#cleos push action eosio.token issue '["user1", "1000.0000 TST", "memo"]' -p eosio

Издайте 1000,0000 TST на user1.

Сега user1 има два типа символи.

Второ, както вече знаем, договорът за токени eosio е резултат от съставянето на изходния код. Тогава следващият въпрос е дали е възможно да стартирате договора за токени eosio с друг акаунт?

#cleos зададете потребители на договораc ~ / eos / build / договори / eosio.token -p usersc

Разположете договора за маркера на eosio в акаунта на userc. Успешен.

#cleos push action usersc създават „[“ eosio “,„ 1000000000000.0000 TSA “]“ -p usersc
#cleos push action usersc issue '["user1", "1000.0000 TSA", "memo"]' -p eosio

Генерирайте TSA-токен и го издава на user1. Както винаги, ако публикувате маркер, имате нужда от системния акаунт за възли.

Можете да прегледате всички баланси, като се обърнете към акаунта на потребителския договор, за да проверите балансите.

Трето, какво би се случило, ако замените друг договор над usersc в горната ситуация?

#cleos зададете потребителите на договораc ~ / sc / helloworld / -p usersc

Внедрете обикновен договор за helloworld.

Интересното е, че самият договор няма, но търсенето се проваля, ако търсите в таблицата, за да видите дали балансът остава. Информацията за баланса също изчезва, когато съществуващата таблица се изтрие.

Ако обаче преразпределите договора на потребителя eosio.token и потърсите баланса

#cleos зададете потребители на договораc ~ / eos / build / договори / eosio.token -p usersc
#cleos получават валутен баланс usersc user1

Съществуващото равновесие се възстановява. Всъщност, вместо да кажем, че е възстановена, таблицата, използвана от usersc, остана такава, каквато е, но информацията за договора, която се отнася до таблицата, беше загубена, тъй като договорът се промени.

Ако провеждате такива тестове за eos token договори, ще започнете да разбирате повече взаимодействието между договори и таблици. Тази публикация описва как да тествате поведението на договор по различни начини след пускане на примера за генериране на маркери, за да ви уведомите, че има различна посока, отколкото да започнете да анализирате изходния код по начин, който обяснява как системата на маркерите работи в eos.

ITAM Games е блокчейн платформа за прозрачна игрова екосистема

Абонирайте се за ITAM Games и ще получите най-новата информация.

Посетете ITAM Games Telegram, за да общувате относно ITAM Games и Blockchain. Присъединете се, като кликнете върху връзката по-долу!

Уебсайт: https://itam.games
Telegram: https://t.me/itamgames