Стандарт токенов ERC20
Стандарт токенов ERC20: читайте статью полностью в блоге Chaingateway — о blockchain API, платежах и криптоинтеграциях, всё по делу и без воды.
Об этом пишут повсюду, в том числе на нашем сайте: токены ERC20 пришли надолго и на сегодняшний день являются самым популярным стандартом fungible-токенов. Но что на самом деле определяет токен ERC20? И как он устроен технически?
Что такое ERC20?
ERC20 — это технический стандарт для реализации токенов на Ethereum. Функции внутри стандарта ERC20 определяют, как можно отправлять токены ERC20, как проверять балансы, и общие детали токена, такие как название, символ и максимальное предложение.
Как создать токен ERC20?
Чтобы создать токен ERC20, нужно создать и настроить smart contract ERC20. Поскольку это открыто определённый стандарт, при разработке smart contract для токена ERC20 нужно учитывать различные функции и события. После создания и настройки smart contract можно скомпилировать, например, с помощью веб-компилятора Remix. Bytecode, возвращённый после компиляции, нужно транслировать в blockchain Ethereum. Поздравляем! Токен ERC20 теперь в blockchain!
Есть ли примеры кода для создания smart contract токенов ERC20?
Официальный стандарт, его функции и события описаны в официальном EIP-20, Fabian Vogelsteller, Vitalik Buterin, «EIP-20: ERC-20 Token Standard», Ethereum Improvement Proposals, № 20, ноябрь 2015. [Online serial]. Доступно на: https://eips.ethereum.org/EIPS/eip-20. Примеры реализации также можно найти на страницах Github у OpenZeppelin и ConsenSys.
В чём разница между токенами ERC20 и Ethereum?
Ethereum — это нативная валюта blockchain Ethereum. Токены ERC20 основаны на smart contract, работающих на Ethereum Virtual Machine (EVM). Стандартизация токенов позволяет универсально использовать их в других приложениях, таких как wallet и exchange.
Можно ли платить комиссию gas токенами ERC20 вместо Ethereum?
Комиссию gas всегда нужно платить в Ethereum. Даже если переводятся только токены ERC20, на отправляющем адресе всё равно требуется немного Ethereum для покрытия комиссий gas на стороне blockchain.
Сколько стоит создать токен ERC20?
На этот вопрос есть 2 ответа:
- Если вы создаёте smart contract самостоятельно и деплоите его, вам нужно будет заплатить только комиссию gas за «сохранение» smart contract в blockchain. Точный объём gas на деплой зависит от размера и сложности вашего контракта и умножается на текущую цену gas. Актуальную цену gas можно найти, например, на ETH Gas Station.
- Если вы поручите создание smart contract разработчику или агентству разработки, попросите смету, в которой гонорар за разработку отделён от упомянутых выше комиссий gas.
Легальны ли токены ERC20?
Это во многом зависит от фактического использования токена и страны владельца. В большинстве стран токены ERC20 сами по себе легальны, но когда речь заходит об их продаже, обмене, использовании как платёжного средства или как долей компании, требуются дополнительные регуляции и лицензии. Токены ERC20 во многих странах также могут облагаться налогами. В любом случае рекомендуется проконсультироваться с юристом, чтобы проверить, нужны ли лицензии для конкретного использования или бизнес-модели. Правила «знай своего клиента» (KYC) и противодействия отмыванию денег (AML) также применяются при продаже токенов ERC20.
Как отправлять токены ERC20 автоматически?
Обычно люди отправляют криптовалюту через свой wallet: они вводят получателя и сумму для отправки. Но что, если вы хотите отправить токены ERC20 десяткам тысяч людей? Делать это вручную займёт как минимум 7 дней круглосуточной работы — не лучший вариант. Это одна из причин, по которой мы создали Chaingateway.io. Используя простой в использовании REST API нашего решения, можно отправлять токены ERC20 миллионам людей с помощью простого скрипта. И самое лучшее: это работает с любым токеном ERC20 и не требует никакого листинга (в отличие от большинства exchange).
Как узнать баланс токена ERC20 на конкретном адресе?
Чтобы узнать баланс токена ERC20 на адресе, можно использовать обозреватели block, такие как Etherscan. Просто откройте сайт, введите адрес Ethereum, баланс которого хотите проверить, и Etherscan покажет вам полный обзор токенов, которыми владеет этот адрес. Вы можете спросить, как автоматизировать эту работу, например, чтобы интегрировать собственный токен ERC20 как способ оплаты на вашем сайте. Ответ снова Chaingateway.io. С помощью нашего решения вы даже можете настроить скрипт уведомлений, который позволит получать и обрабатывать депозиты полностью автоматически.
Что такое адрес контракта?
При деплое smart contract токена ERC20 вы получаете hash, который служит уникальным идентификатором, позволяющим Ethereum знать, где найти задеплоенный smart contract в blockchain Ethereum. Это также известно как адрес контракта, потому что это адрес, по которому находится smart contract. Адрес контракта — единственная часть токена, которая позволяет вам убедиться, что вы имеете дело с правильным токеном ERC20. Конечно, у каждого токена ERC20 есть название и символ, но они не обязаны быть уникальными. Теоретически вы можете создать десять тысяч токенов ERC20, у которых будет одинаковое название и символ — различаться будет только адрес контракта.
Есть ли ещё популярные стандарты токенов?
Другие популярные стандарты токенов — это ERC721, стандарт smart contract для нефункциональных (non-fungible) токенов. И ERC1155 — мульти-токенный стандарт smart contract. Об этих стандартах и их особенностях скоро могут появиться другие статьи. А пока вы можете обратиться к их официальным EIP:
William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs, «EIP-721: ERC-721 Non-Fungible Token Standard», Ethereum Improvement Proposals, № 721, январь 2018. [Online serial]. Доступно на: https://eips.ethereum.org/EIPS/eip-721.
Witek Radomski, Andrew Cooke, Philippe Castonguay, James Therien, Eric Binet, Ronan Sandford, «EIP-1155: ERC-1155 Multi Token Standard», Ethereum Improvement Proposals, № 1155, июнь 2018. [Online serial]. Доступно на: https://eips.ethereum.org/EIPS/eip-1155.
Готовы собрать это сами? Получите свой API-ключ — 7-дневный пробный период, без карты — или посмотрите API Ethereum для полного справочника по эндпоинтам.