Понимание ERC20

В этой статье предполагается, что читатель уже знаком как минимум со следующими концепциями: блокчейн Ethereum, децентрализованные приложения, эфир, смарт-контракты. & ICO.

Блокчейн Ethereum – это распределенная вычислительная платформа с открытым исходным кодом, основанная на блокчейне. Эта вычислительная платформа, сеть Ethereum, содержит децентрализованные приложения (dapps), которые выполняются с помощью блоков кода, называемых смарт-контрактами; все транзакции в сети Ethereum, а также вычислительные затраты на выполнение смарт-контрактов оплачиваются в эфире криптовалюты Ethereum..

Некоторым, но не всем, из этих децентрализованных приложений требуется дополнительная валюта в децентрализованных приложениях – эти децентрализованные приложения вводят свою новую валюту, именованный токен, и собирают средства посредством первичного предложения монет (ICO)..

Платформа блокчейна Ethereum построена таким образом, что поддерживает любые децентрализованные приложения, в том числе те, которые требуют создания и обслуживания. & передача цифровых активов. Эти токены Ethereum, специфичные для dapp, могут быть реализованы для создания сети dapps с осмысленными вариантами использования, такими как факторинг счетов, платежи через браузер, & дебетовая карта с криптовалютой.

Все ранее упомянутые идеи представляют собой действующие в настоящее время dapp-токены на основе Ethereum, которые следуют очень распространенному стандарту программирования токенов; Фактически, 99% всех развернутых токенов Ethereum соответствуют этому стандарту, стандарту ERC20..

Стандарт токенов ERC20, который расшифровывается как Ethereum Requests for Comment, представляет собой стандартный набор программных «правил», которым должны следовать все токены на основе Ethereum.. Разработчики согласовали эти шесть функций & два события в качестве минимально жизнеспособного токена для нормализации ожидаемого поведения при общении в сети Ethereum – установив этот протокол, разработчики Ethereum могут легко работать с внешними смарт-контрактами.

Знакомство с Solidity

Пока самый популярный Ethereum клиент в настоящее время написано на Google GO, Выбор удобного для разработчиков языка смарт-контрактов велик. Разработчики могут выбирать из таких языков, как Vyper, Бамбук, Змея & Твердость.

В оставшейся части статьи мы выделим & пошаговое руководство по синтаксису Solidity.

Solidity – это контрактно-ориентированный язык программирования высокого уровня, используемый для реализации смарт-контрактов. Синтаксис Solidity для тех, кто знаком с программированием, представляет собой мешанину Javascript, Python., & Концепции C; статически типизирован, поддерживает наследование & с самого начала имеет множество библиотек. Для получения дополнительной информации о Solidity вы должны перейти к документации, найденной здесь: https://solidity.readthedocs.io/en/develop/#

Пошаговое руководство по интерфейсу ERC20

Мы собираемся углубиться в то, что именно & как этот стандарт реализован в сети Ethereum – как упоминалось ранее, мы рассмотрим это специально в синтаксисе Solidity.

В Ethereum-land все начинается & заканчивается контракты. Документация Solidity определяет контракты как «набор кода (его функции) & данные (его государственный), которые находятся по определенному адресу в блокчейне Ethereum ». Контракты Ethereum поддерживают наследование, поэтому контракт может быть экземпляром другого контракта.

Следуя этой логике, абстрактный контракт, который используется строго для наследования, также может использоваться в качестве отказоустойчивого, определяя, что новый контракт должен содержать для компиляции. Эти абстрактные контракты также известны как интерфейсные контракты.

Это означает, что любой контракт токена, являющийся экземпляром ERC20, не компилируется без следующего: напротив, это означает, что разработчики Ethereum теперь знают, какие функции & поведения, которого они могут ожидать при взаимодействии с любым токеном ERC20.

Стандарт ERC20 – это интерфейсный контракт, который содержит в общей сложности шесть исполняемых функций. & два события регистрации.

Разрешение

Функция Allowance позволяет двум адресам создавать повторяющуюся однонаправленную передачу; адрес кошелька tokenOwner & Второй кошелек определяются как два кошелька, которые будут выполнять повторяющиеся транзакции. В частности, плательщик кошелька снимет немного сумма с кошелька tokenOwner по адресу немного интервал – обе эти переменные будут определены позже..

Одобрить

Что касается функции утверждения, вернитесь к нашей функции разрешения: функция позволяет двум адресам повторно сниматься в одном направлении. Функция «Утвердить», названная так удачно, представляет собой простую стандартную функцию, которая призывает владельца кошелька «одобрить» транзакцию, которая собирается совершиться от его / ее имени в контексте Разрешения. Эта функция требует двух входов: адрес спонсора. & количество отправленных токенов. Результат возвращает общедоступное логическое значение, которое определяет, было ли одобрение предоставлено или отклонено..

Баланс

BalanceOf – это интуитивно понятная функция, которая принимает один входной параметр адреса (адрес tokenOwner) & возвращает единственную общедоступную константу (баланс uint). Возвращенная константа uint, balance, представляет собой количество токенов, хранящихся на запрошенном адресе – помните, транзакции в блокчейне обычно являются общедоступными, Ethereum ничем не отличается.

TotalSupply

Функция totalSupply, как вы, наверное, догадались по названию, представляет собой анонимную функцию конструктора, которая запускается только один раз в самый первый момент развертывания в действующей сети Ethereum. Функция возвращает общедоступную константу totalSupply неназначенного целого числа (uint), которая действует как общее количество токенов на оставшийся срок действия контракта. Константа totalSupply обычно определяется одним из двух способов: жесткое кодирование переменной или финансирование из исходного кошелька..

Передача

Функция передачи – основная функция любого токена ERC20; это определяет & реализует прямые одноранговый владелец кошелька передача токена. Поскольку этот вызов совершают владельцы кошельков, требуются только два параметра: адрес получателя. & количество отправленных токенов. Эти два параметра обычно инициализируются как (адрес) & (токены uint). Возвращаемое значение Transfer – это просто логическое значение, которое подтверждает, получил ли получатель (адрес «получателя») отправленные токены..

Трансфер от

Функция TransferFrom позволяет смарт-контракт выполнить передачу с переданными параметрами от имени владельца кошелька. Тщательно проведите различие с предыдущим Transfeфункция r. Предыдущая функция позволяла владелец кошелька напрямую отправлять токены на адрес; это Трансфер от позволяет смарт-контракт для отправки токенов от имени владельцев кошельков, таких как выполнение заказа на обмен, своевременное высвобождение средств или выплата нашего выигрыша в игре на удачу.

В Трансфер от функция имеет три входных параметра, адрес владельца кошелька, адрес кошелька получателя, & количество отправленных токенов. Они часто инициализируются с использованием следующего синтаксиса: (токены адрес от, адрес до, uint). Вывод функции точно такой же, как и вывод Transfer: одно публичное логическое значение, которое детализирует успех или неудачу транзакции..

Резюме

Шесть функций, описанных выше, – это шесть основных функций, присутствующих в 99% всех текущих токенов ERC20. За некоторыми исключениями (глядя на вас, Голем) разработчики Ethereum могут чувствовать себя в безопасности, зная, что они могут полностью ожидать этих основных функций при разработке внутренних контрактов или при взаимодействии с внешними публичными контрактами в дикой природе..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me