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

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

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

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

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

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


Выберите «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 , чтобы скомпилировать свой токен-контракт:


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

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


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

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


Выберите контракт токена и нажмите DEPLOY.

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


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

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


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

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


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

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

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

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


Импортируйте собственный токен в IoPay Desktop по адресу контракта токена


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 или активность сообщества.
  • Запрещено использование ненормативной лексики в названии токена, его описании и т. д.

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

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

В этой инструкции мы рассмотрели подробный алгоритм создания своего собственного токена XRC20 на блокчейне IoTeX. Техническая информация доступна на сайте IoTeX

О существующем токене стандарта XRC20 вы можете прочитать в обзоре «Токен Vitality (VITA) — первенец сети IoTeX» .

С любыми вопросами обращайтесь к нам в Telegram: https://t.me/IoTeXGroup

3 Likes