Эта инструкция от команды IoTeX помогает любому желающему создать свой собственный токен XRC20 на блокчейне IoTeX. Для создания токена нужно выполнить несколько простых шагов.
Выпуск токена XRC20 на IoTeX
В качестве быстрого примера давайте посмотрим, как развернуть токен XRC20 в IoTeX за несколько простых шагов:
1. Подготовьте кошелек IoPay Desktop.
В этом примере мы будем использовать кошелек IoPay Desktop для развертывания контракта. Загрузите кошелек IoPay Desktop с ioPay - DePIN crypto wallet , создайте новую учетную запись или импортируйте закрытый ключ, если он у вас есть, и выберите 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, может отправить некоторые метаданные, чтобы они лучше интегрировались с официальным обозревателем блоков по адресу Token Tracker | IoTeXScan , с кошельками 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/ ) будут включать метаданные в свои приложения. Все приложения экосистемы проекта могут совместно поддерживать метаданные.
Добавление нового токена
Вы можете выполнить шаги, чтобы добавить свой токен в это репо,
- форк репо
- добавить логотип токена в images/
- добавить метаданные в token-metadata.json
- зафиксировать ваше разветвленное репо
- создать PR этому репо
- ждем PR-обзора
- объединить 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: Telegram: Contact @IoTeXGroup