Новый стандарт токенов на блокчейне Ethereum ERC777, разрабатываемый Джорди Байлиной, Жаком Даффлоном и Томасом Шабаби и потенциально способный .

Новый стандарт токенов на блокчейне Ethereum ERC777, разрабатываемый Джорди Байлиной, Жаком Даффлоном и Томасом Шабаби и потенциально способный заменить стандарт ERC20, широко используемый в настоящее, готовится к запуску.

Предложение по внедрению ERC777 было опубликовано 20 ноября 2017 и с тех пор оставалось открытым для отзывов и критики. На прошлой неделе Байлина и Даффлон рассказали о новых токенах на конференции DappCon, общедоступным языком описав преимущества и функциональность стандарта. В конце выступления Байлина сообщил, что в ближайшее время стандарт войдёт в последнюю стадию разработки и будет представлен в августе. Его дальнейшая судьба будет зависеть от воли пользователей и разработчиков, которые смогут внедрять новые токены по своему усмотрению.

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

Стандарт использует открытый код, с которым можно ознакомиться на GitHub.

Более интуитивное взаимодействие с контрактами

В предложении по улучшению Ethereum (EIP) для ERC777 описывается принцип реализации функции "send" (она же используется для отправки эфира), которая позволяет осуществлять прямые транзакции и обмен через смарт-контракты. Использование этой функции отличает ERC777-токены от ERC20-токенов, которые работают через функцию "transfer" и требуют исполнения двух транзакций для обмена одного токена на другой. Первая транзакция при работе со стандартом ERC20 отправляет запрос на одобрение, вторая – разрешает контракту выполнить передачу токена от вашего имени.

Стандарт ERC777 работает по другому принципу. Использующий функцию "send" ERC777-токен обращается к универсальному доверенному контракту, не имеющему владельца – ERC820 – который, по сути, является реестром, сообщающим токену, является ли контракт, к которому он обращается, совместимым. Если контракт не является совместимым или зарегистрированным, транзакция будет отклонена. В этом случае отправитель сможет обратиться к модели ERC20-токенов и запросить одобрение. Контракт или адрес достаточно лишь однажды зарегистрировать в ERC820-контракте – после этого он будет доступен для всех пользователей системы.

Использование хуков

Ещё одним преимуществом ERC777 перед ERC20 является возможность использования так называемых хуков. Как пояснил Байлина на DappCon, «хуки – это функции, которые могут быть вызваны во время трансфера». Другими словами, хук определяет параметры транзакции. Среди прочего он может потребовать отправить уведомление отправителю или получателю до или после завершения транзакции.

Более того, контракт ERC777-токена может быть составлен таким образом, чтобы контролировать поведение токена в определённых условиях осуществления транзакции или позволить отправителю или получателю вмешиваться в процесс транзакции. Например, хук может заставить контракт уведомлять отправителя перед передачей транзакции, позволяя ему отменить её. Аналогичным образом могут быть заданы параметры для блокировки определённых адресов или типов токенов.

Хуки также могут определять, как получатель будет распоряжаться переданными ему токенами. Например, как пояснил Байлина, в контракте может быть установлен определённый процент, который будет передаваться на благотворительные цели с каждой транзакцией.