ERC20 против ERC223. Список отличий

Есть ли список улучшений, которые мы будем иметь в ERC223?

Есть примеры договоров?

Есть ли путь миграции для существующих токенов ERC20?

rstormf: Я резюмировал для вас последний ответ. посмотрите, стало ли это более удобоваримым сейчас.
Когда ERC 23 будет готов для пользователей?
@rstormsf - только сегодня увидел ваш комментарий от 10 января к моему ответу. См. мой ответ/комментарий от 19 апреля, адресованный человеку, редактировавшему мой исходный пост в 2018 году.

Ответы (3)

3 основных улучшения с ERC223

  1. Устраняет проблему потерянных токенов , возникающую при переводе токенов ERC20 на контракт (когда люди ошибочно используют инструкции по отправке токенов на кошелек). ERC223 позволяет пользователям отправлять свои токены либо в кошелек, либо заключать контракт с передачей одной и той же функции, тем самым устраняя возможность путаницы и потери токенов.
  2. Позволяет разработчикам обрабатывать входящие транзакции с токенами и отклонять неподдерживаемые токены (невозможно с ERC20).
  3. Энергосбережение. Перевод токенов ERC223 в контракт — это одноэтапный процесс, а не двухэтапный (для ERC20), и это означает в 2 раза меньше газа и никакого дополнительного раздувания блокчейна.

Переход с ERC20 на ERC223

Токены ERC223 обратно совместимы с токенами ERC20. Это означает, что ERC223 поддерживает все функции ERC20, а контракты или службы, работающие с токенами ERC20, будут корректно работать с токенами ERC223.

Источники: https://github.com/Dexaran/ERC23-tokens/tree/Recommended#erc23-token-standard (ERC23 и 223 — это одно и то же). Чтобы прочитать полное обсуждение ERC20 и ERC223, перейдите по этой ссылке: https://github.com/ethereum/EIPs/issues/223 .

Я прочитал это, но я искал более сводный ответ, который резюмирует эту тему.
Почему ERC23и EIP223что здесь происходит с цифрами? Мне нравится, что вы любознательны, присоединяйтесь к нам на asc.ai - именно ваш тип людей.
@MichalStefanow — я не знаком с протоколом присвоения номеров ERC / EIP для Ethereum, но нашел небольшую подсказку в этой ветке Reddit — bit.ly/2rXWpVP — где Ник Джонстон сказал Dexaran: «Пожалуйста, перестаньте называть его ERC23. ERCs и Редакторы присваивают номера EIP, а вашему предложению еще не присвоен номер; вы не можете просто выбрать тот, который кажется неиспользованным. Если вы хотите присвоить ему номер, это должен быть 223, номер его выпуска. " Для тех, кто здесь не знаком с ERC и EIP: ERC означает Ethereum Request for Comments, а EIP означает Ethereum Improvement Proposal.
Существует ряд токенов ERC223, которые не имеют обратной совместимости. @Tesa, может быть, тебе стоит обновить свой ответ. ERC223 требует, чтобы контракты имели резервные функции, что нарушает совместимость с ERC20.
@maxkoryukov - Только что увидел комментарий от rstormsf. Я не верю, что комментарий по обратной совместимости был в моем исходном посте. Вы добавили это, когда редактировали? Если да, не могли бы вы обратиться к комментарию от 30 января выше? Я не отслеживал, что происходит с ERC223 почти два года, поэтому мне неудобно вносить изменения в этот пост.
На самом деле, это был небольшой беспорядок, поскольку ERC223 довольно расплывчат с точки зрения обратной совместимости. Я видел как обратно совместимые, так и несовместимые токены. В любом случае, за ERC777 будущее.

Проблемы ERC20, которые решит ERC223:

  1. Невозможность обработки входящих транзакций в контракте получателя.
  2. Токены могут быть отправлены на контракт, который не предназначен для работы с токенами без обработки, и потенциально могут быть потеряны. На данный момент потеряно не менее 72000 долларов. Эта проблема описана здесь .
  3. Токен-транзакции должны соответствовать идеологии единообразия Ethereum. Когда пользователю необходимо перевести свои средства, он всегда должен выполнить перевод. Не имеет значения, вносит ли пользователь депозит по контракту или отправляет на сторонний счет.

Транзакция с токеном ERC223 стоит в 2 раза меньше, чем approveс transferFromоригинальным ERC20.

На https://docs.google.com/document/d/1Feh5sP6oQL1-1NHi-X1dbgT3ch2WdhbXRevDN681Jv4 есть очень хорошее объяснение.

На случай, если документ обанкротится, позвольте мне подвести итоги. Технически существует два разных способа внесения токенов ERC20 в контракт: 1. передача 2. утверждение + передача от

Если вы используете 1-шаговую функцию передачи для контракта, контракт-получатель не может отклонить/признать транзакцию. Таким образом, по сути, токены теряются в раковине. Отправка на кошелек с помощью перевода в порядке.