IoTeX

Создание своего токена XRC20 на блокчейне IoTeX

iotex xrc20
Автор m1m2

Сегодня мы поговорим о механизме создания своего токена XRC20 на блокчейне IoTeX. Для облегчения этой задачи команда проекта создала гайд при помощи которого можно легко и просто создать свой токен в сети IoTeX.

IoTeX полностью соответствует стандартам токенов ERC20, ERC721 ★ Ethereum, поэтому вы можете просто перенести любой существующий токен Ethereum в IoTeX без изменения кода.

★ XRC20 является эквивалентом IoTeX для стандарта токенов ERC20, а XRC721 – эквивалентом ERC721.

Выпуск токена XRC20 на IoTeX

В качестве быстрого примера давайте посмотрим, как развернуть токен XRC20 в IoTeX за несколько простых шагов:

1. Подготовьте кошелек IoPay Desktop.

В этом примере мы будем использовать кошелек IoPay Desktop для развертывания контракта. Загрузите кошелек IoPay Desktop с http://iopay.iotex.io/desktop/ , создайте новую учетную запись или импортируйте закрытый ключ, если он у вас есть, и выберите Test Network из выпадающего списка Network. Наконец, получите несколько тестовых токенов IOTX из любого сборщика IoTeX и отправьте им адрес своей учетной записи IoPay:

создание токена xrc20
Выберите “Testnet” в IoPay Desktop

2. Отредактируйте код Solidity в IoTeX Studio IDE.

IoTeX Studio – это веб-IDE для разработки и развертывания смарт-контрактов IoTeX. Это все еще ранний выпуск, но он уже может компилировать надежный код и развертывать ваши контракты. Последний поддерживаемый компилятор Solidity – v0.5.5, поэтому давайте воспользуемся следующим примером контракта от OpenZeppelin для развертывания простого токена .

Откройте IoTeX Studio на ide.iotex.io, удалите любой существующий код в редакторе и вставьте следующий код:

pragma solidity ^0.5.0;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/GSN/Context.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/token/ERC20/ERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/token/ERC20/ERC20Detailed.sol";

/**
 * @title SimpleToken
 * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.
 * Note they can later distribute these tokens as they wish using `transfer` and other
 * `ERC20` functions.
 */
contract SimpleToken is Context, ERC20, ERC20Detailed {

    /**
     * @dev Constructor that gives _msgSender() all of existing tokens.
     */
    constructor () public ERC20Detailed("SimpleToken", "SIM", 18) {
        _mint(_msgSender(), 10000 * (10 ** uint256(decimals())));
    }
}

Этот код создаст токен с именем SimpleToken, символом которого будет SIM, плюс он будет иметь 18 десятичных знаков, и будут предварительно эмитированны: 10000 токенов SIM будут назначены учетной записи, которая развертывает контракт токена после развертывания контракта в блокчейне. Вы можете настроить эти значения на что угодно, если хотите!

3. Сборка и развертывание

Убедитесь, что выбранный номер версии для компилятора Solidity в Studio не ниже v0.5.0, затем нажмите кнопку COMPILE , чтобы скомпилировать свой токен-контракт:

создание токена xrc20
Выберите версию компилятора, затем нажмите COMPILE.

Теперь вы готовы развернуть свой токен! Выберите IoPay в качестве среды, в которой вы хотите развернуть (или выберите Javascript для развертывания и тестирования взаимодействия в браузере)

блокчейн iotex создание токена
Выберите IoPay в качестве среды развертывания

Теперь в разделе Deploy выберите свой контракт по имени (это SimpleToken или имя, которое вы выбрали для него) и нажмите кнопку DEPLOY :

iotex создание токена xrc20
Выберите контракт токена и нажмите DEPLOY.

проверьте окно журналов внизу для нового развернутого адреса контракта и примите его к сведению!

iotex xrc20
Выберите контракт для развертывания, затем нажмите DEPLOY.

На рабочем столе IoPay появится диалоговое окно подтверждения транзакции: подтвердите его, чтобы развернуть свой контракт в тестовой сети IoTeX!

iotex создание токена xrc20
Подпишите транзакцию развертывания в IoPay

В IoTeX Studio IDE теперь вы можете расширить свой контракт в разделе «Развернутые контракты» и протестировать вызовы контрактов. Например, вы можете вызвать balanceOfфункцию, чтобы запросить баланс вашей учетной записи IoPay, в которой был развернут контракт:

создание токена xrc20
Проверить баланс счета владельца контракта

4. Импортируйте свой токен XRC20 в кошелек IoPay.

Вы можете импортировать любой токен IoTeX в кошелек IoPay, включая только что выпущенный токен, чтобы проверить свой баланс и перенести свои токены в любую другую учетную запись IoTeX!

В IoPay Desktop просто щелкните ссылку Custom Token и введите адрес контракта вашего токена, чтобы импортировать его (вы получили его в окне журнала IoTeX Studio при развертывании контракта).

блокчейн iotex создание токена
Импортируйте собственный токен в IoPay Desktop по адресу контракта токена
Cutom Token
Cutom Token импортирован в IoPay

Как вы заметите, у вас есть баланс в размере 10 000 SIM: предварительная сумма, которая была назначена для учетной записи при развертывании контракта!

Опубликуйте метаданные вашего токена

Предоставляем Token Metadata Repository, где любой, кто развернул токен в IoTeX, может отправить некоторые метаданные, чтобы они лучше интегрировались с официальным обозревателем блоков по адресу https://iotexscan.io/tokens , с кошельками IoPay и другими приложениями IoTeX.

метаданные токена
Отправьте свои метаданные, чтобы ваши токены были перечислены в iotexscan и других dApps

Поскольку любое приложение может использовать эти метаданные репозитория для отображения данных токенов IoTeX, всегда рекомендуется отправлять те, которые применяются для вашего токена.

Метаданные токена XRC20 в сети IoTeX

Это репо представляет собой набор метаданных всех токенов (XRC20, XRC721 и т. д.), развернутых в блокчейне IoTeX. Разработчики могут использовать это репо для перечисления всех токенов в своих проектах.

Метаданные токена состоят из следующих пунктов:

  • Имя токена (обязательно)
  • логотип (обязательно)
  • type (‘xrc20’ или ‘xrc721’, обязательно)
  • symbol (обязательно)
  • decimals или десятичные числа (необязательно, xrc20 по умолчанию 18)

IoTeX Explorer ( https://iotexscan.io/ ) и ioPay ( http://iopay.iotex.io/ ) будут включать метаданные в свои приложения. Все приложения экосистемы проекта могут совместно поддерживать метаданные.

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

Вы можете выполнить шаги, чтобы добавить свой токен в это репо,

  1. форк репо
  2. добавить логотип токена в images/
  3. добавить метаданные в token-metadata.json
  4. зафиксировать ваше разветвленное репо
  5. создать PR этому репо
  6. ждем PR-обзора
  7. объединить PR

Рекомендации по токенам XRC20

  • Значок должен быть маленьким, квадратным, но с высоким разрешением, в идеале вектор / svg.
  • Не добавляйте свою запись в конец карты JSON, не вмешиваясь в запятую. Ваш запрос на вытягивание должен представлять собой только добавление строк, и любые удаления строк должны быть преднамеренным отказом от этих логотипов.
  • PR должен включать ссылку на официальный сайт проекта со ссылкой на предложенный адрес. Веб-сайт проекта должен включать объяснение проекта. У проекта должны быть явные признаки активности, будь то трафик в сети, активность на GitHub или активность сообщества.
  • Запрещено использование ненормативной лексики в названии токена, его описании и т. д.

В этом обзоре мы рассмотрели путь создания своего собственного токена XRC20 на блокчейне IoTeX. О существующем токене стандарта XRC20 вы можете прочитать в обзоре “Токен Vitality (VITA) — первенец сети IoTeX” .

Присоединиться к обсуждению и поделиться информацией о своем токене XRC20 можно на форуме проекта и в комментариях под этим обзором. Желаем Вам успехов и процветания!

Про автора

m1m2

Пожалуйста прокомментируйте