ERC20 — стандарт для выпуска токенов на блокчейне Ethereum, обычно используется для проведения ICO.

ERC расшифровывается как Ethereum Request for Comments, то есть обсуждаемое решение для Эфириума. 20 — потому, что это был 20-й вопрос для обсуждения по порядку. Сначала ERC-20 был неофициальным соглашением между разработчиками, но сейчас является стандартом.

Чтобы “смарт-контракт управления токенами” соответствовал стандарту ERC-20, он должен:

  1. При вызове функции totalSupply(), то есть отправке такого сообщения смарт-контракту, сообщать общее количество выпущенных монет.
  2. На balanceOf(address _owner) сообщать количество токенов на адресе _owner (вместо _owner нужно указать адрес).
  3. При вызове transfer(address _to, uint256 _value) отправить с адреса вызывающего сумму _value на адрес _to.
  4. При вызове transferFrom(address _from, address _to, uint256 _value) отправить с адреса _from на адрес _to количество токенов _value. У вызывающего должно быть разрешение на перевод средств от владельца адреса _from, которое устанавливается следующей функцией.
  5. При вызове approve(address _spender, uint256 _value) передать право пользователю с адресом _spender переводить с адреса вызывающего функцию количество токенов _value. Используется для передачи права распоряжаться токенами.
  6. При вызове allowance(address _owner, address _spender) сообщать, сколько монет _owner разрешил переводить со своего счёта пользователю _spender.
  7. Включать в свой смарт-контракт переменные name (полное название токена), symbol (короткое название токена) и decimals (сколько знаков после запятой учитывается в количестве).
  8. Вызывать два события Transfer (при любом перемещении токенов) и Approval (при передачи права перевода чужих токенов).

Это все правила стандарта. То есть, если вы знаете, что какой-то токен соответствует стандарту ERC-20, вы можете пообщаться со смарт-контрактом, который им управляет, с помощью этих команд. Команд может быть больше, но вышеперечисленные должны присутствовать все, и отвечать на них токен должен так, как велит стандарт.

Но стандарт нужен не для людей, а для машин, ведь токены ERC-20 очень легко подключать к биржам, кошелькам, обменникам и другим автоматизированным системам. Не нужно разбираться и объяснять скрипту биржи, как переводить токены со счёта на счёт для каждого нового токена — достаточно объяснить один раз, а потом будут использоваться те же самые методы.

Если привести аналогию, представьте, что не существовало бы стандарта для органов управления автомобилем. Каждый раз, садясь в новую машину, вы бы искали педали газа и тормоза, а они могли быть на руле, или над коленями. Вместо руля мог быть джойстик, а поворотники включались бы кнопками на подлокотниках. Для каждой машины приходилось бы учиться водить заново. К счастью, существуют стандарты, благодаря которым водители не ощущают особого дискомфорта при смене автомобиля.

5 1 vote
Рейтинг статьи