ERC-735
Это связанный стандарт для добавления и удаления утверждений в смарт-контракте идентификации ERC-725.
Одна из основных проблем, которую ERC-725 и ERC-735 пытаются решить, заключается в том, что нынешние пользователи не владеют своими данными. Их личности не защищены должным образом при размещении в Интернете.
#erc #erc735
Это связанный стандарт для добавления и удаления утверждений в смарт-контракте идентификации ERC-725.
Одна из основных проблем, которую ERC-725 и ERC-735 пытаются решить, заключается в том, что нынешние пользователи не владеют своими данными. Их личности не защищены должным образом при размещении в Интернете.
#erc #erc735
👍1
ERC-777
Созданное в конце 2017 года новое предложение стандарта было призвано решить сразу несколько задач. Благодаря новой функции tokenReceived, которая позволяла не использовать повторную функцию одобрения (second verifying transaction), время транзакции сокращалось в два раза. Также в данном стандарте появилась возможность помечать неблагонадежные или несовместимые адреса, которые могут быть связаны с хакерами или мошенниками. Данный стандарт решил и проблему несовместимости путем использования метода обратной совместимости, что сделало его кросс-стандарт совместимым на платформе Ethereum.
Среди минусов этого довольно нового стандарта можно назвать его код, который все еще претерпевает изменения, а также создание большого количества взаимозависимых вызовов контрактов в случае его использования, что может создать проблемы с безопасностью в будущем. Одним из проектов, использующих токен этого стандарта, является ORCA.
#erc #erc777
Созданное в конце 2017 года новое предложение стандарта было призвано решить сразу несколько задач. Благодаря новой функции tokenReceived, которая позволяла не использовать повторную функцию одобрения (second verifying transaction), время транзакции сокращалось в два раза. Также в данном стандарте появилась возможность помечать неблагонадежные или несовместимые адреса, которые могут быть связаны с хакерами или мошенниками. Данный стандарт решил и проблему несовместимости путем использования метода обратной совместимости, что сделало его кросс-стандарт совместимым на платформе Ethereum.
Среди минусов этого довольно нового стандарта можно назвать его код, который все еще претерпевает изменения, а также создание большого количества взаимозависимых вызовов контрактов в случае его использования, что может создать проблемы с безопасностью в будущем. Одним из проектов, использующих токен этого стандарта, является ORCA.
#erc #erc777
👍1
ERC-821
Ставшие продолжением стандарта ERC-721, стандарты ERC-821 и ERC-875, каждый по-своему, подошли к улучшению смарт-контрактов для невзаимозаменяемых токенов.
ERC-821 имеет такую же, как у ERC-777 функцию transferAndCall, которая позволяет контрактам реагировать на входящие токены. Также он предложил использовать более конкретизированный нейминг, чтобы не вызывать путаницы между разными видами предметов коллекционирования. Сигналы совместимости со всеми остальными стандартами сейчас находятся в разработке.
#erc #erc821
Ставшие продолжением стандарта ERC-721, стандарты ERC-821 и ERC-875, каждый по-своему, подошли к улучшению смарт-контрактов для невзаимозаменяемых токенов.
ERC-821 имеет такую же, как у ERC-777 функцию transferAndCall, которая позволяет контрактам реагировать на входящие токены. Также он предложил использовать более конкретизированный нейминг, чтобы не вызывать путаницы между разными видами предметов коллекционирования. Сигналы совместимости со всеми остальными стандартами сейчас находятся в разработке.
#erc #erc821
👍1
ERC-827
Расширение ERC-223. Владельцам токенов будет разрешено передавать токены и позволять третьим сторонам тратить их, если этот стандарт будет реализован.
В стандарте ERC есть определенные критерии, которые должны быть согласованы как кошельками, так и биржами, прежде чем третья сторона сможет тратить динамические суммы из своего кошелька или биржи. Ни сообщество Ethereum, ни сам проект еще не реализовали его.
#erc #erc827
Расширение ERC-223. Владельцам токенов будет разрешено передавать токены и позволять третьим сторонам тратить их, если этот стандарт будет реализован.
В стандарте ERC есть определенные критерии, которые должны быть согласованы как кошельками, так и биржами, прежде чем третья сторона сможет тратить динамические суммы из своего кошелька или биржи. Ни сообщество Ethereum, ни сам проект еще не реализовали его.
#erc #erc827
👍2
ERC-865
Новые пользователи криптовалюты могут быть удивлены, узнав, что плата перевод токенов может взыматься плата в Эфире.
Среди стандартов ERC, предложенных разработчиками сообщества Ethereum, ERC-865 призван облегчить привыкание к этому людям, плохо знакомым с криптографией. Также предполагается, что плата за майнинг может быть оплачена с помощью токена.
#erc #erc865
Новые пользователи криптовалюты могут быть удивлены, узнав, что плата перевод токенов может взыматься плата в Эфире.
Среди стандартов ERC, предложенных разработчиками сообщества Ethereum, ERC-865 призван облегчить привыкание к этому людям, плохо знакомым с криптографией. Также предполагается, что плата за майнинг может быть оплачена с помощью токена.
#erc #erc865
👍1
ERC-884
Маркер ERC-884 является токеном, совместимым с ERC-20, который был разработан Дэвидом Сагом в соответствии с общим корпоративным законом штата Делавэр.
Корпорации штата Делавэр могут использовать технологии блокчейна для создания торгуемого токена ERC-20 и поддержки акций, выпущенных корпорацией штата Делавэр.
#erc #erc884
Маркер ERC-884 является токеном, совместимым с ERC-20, который был разработан Дэвидом Сагом в соответствии с общим корпоративным законом штата Делавэр.
Корпорации штата Делавэр могут использовать технологии блокчейна для создания торгуемого токена ERC-20 и поддержки акций, выпущенных корпорацией штата Делавэр.
#erc #erc884
👍1
ERC-998
ERC-998 можно комбинировать с неоднородными токенами (составные NFT, сокращенно CNFT). Его структурный дизайн является стандартизированным расширением, которое позволяет любому NFT иметь другие NFT или FT. При передаче CNFT необходимо передать всю иерархическую структуру и принадлежность CNFT. Проще говоря, ERC-998 может содержать несколько токенов в форме ERC-721 и ERC-20.
#erc #erc998
ERC-998 можно комбинировать с неоднородными токенами (составные NFT, сокращенно CNFT). Его структурный дизайн является стандартизированным расширением, которое позволяет любому NFT иметь другие NFT или FT. При передаче CNFT необходимо передать всю иерархическую структуру и принадлежность CNFT. Проще говоря, ERC-998 может содержать несколько токенов в форме ERC-721 и ERC-20.
#erc #erc998
👍1
ERC-1155
ERC-1155 использует новый способ определения токенов, центральный интеллектуальный контракт, в котором элементы будут храниться, и занимает очень мало места, чтобы отличать их друг от друга. Любой элемент Token можно объединить и упаковать в «пакет Token», пакет Token также имеет собственный независимый идентификатор (уменьшите большое количество избыточных байт-кодов в блокчейне)
Давайте сравним механизм установки алмазов в темноте, оружие с двумя отверстиями и двумя совершенными драгоценными камнями. Это три жетона. Когда мы вкладываем эти два драгоценных камня в оружие, он становится жетоном Сумка - это новое оружие. В то же время этот механизм также может упростить сложные транзакции. Например, A и B. хотят обменять 20 позиций. Если это транзакция, требуется 20 транзакций. Если можно собрать 20 токенов, требуется только одна транзакция. Во время распаковки эффективность и опыт значительно улучшились.
#erc #erc1155
ERC-1155 использует новый способ определения токенов, центральный интеллектуальный контракт, в котором элементы будут храниться, и занимает очень мало места, чтобы отличать их друг от друга. Любой элемент Token можно объединить и упаковать в «пакет Token», пакет Token также имеет собственный независимый идентификатор (уменьшите большое количество избыточных байт-кодов в блокчейне)
Давайте сравним механизм установки алмазов в темноте, оружие с двумя отверстиями и двумя совершенными драгоценными камнями. Это три жетона. Когда мы вкладываем эти два драгоценных камня в оружие, он становится жетоном Сумка - это новое оружие. В то же время этот механизм также может упростить сложные транзакции. Например, A и B. хотят обменять 20 позиций. Если это транзакция, требуется 20 транзакций. Если можно собрать 20 токенов, требуется только одна транзакция. Во время распаковки эффективность и опыт значительно улучшились.
#erc #erc1155
👍1
ERC-1404
Это дополнение к ERC-20-совместимым токенам, которое включает дополнительную функцию, позволяющую ограничивать передачу токенов. Этот стандарт был создан TokenSoft , поставщиком технологий для компаний, которые стремятся выпускать и управлять цифровыми ценными бумагами на блокчейне, соблюдая при этом нормативные требования.
#erc #erc1404
Это дополнение к ERC-20-совместимым токенам, которое включает дополнительную функцию, позволяющую ограничивать передачу токенов. Этот стандарт был создан TokenSoft , поставщиком технологий для компаний, которые стремятся выпускать и управлять цифровыми ценными бумагами на блокчейне, соблюдая при этом нормативные требования.
#erc #erc1404
👍1
ERC-1410
Он относится как к дифференцированному владению, так и к прозрачным ограничениям. Этот интерфейс поддерживает токены владельца для группировки в разделы, каждый из которых представлен идентифицирующим ключом и балансом.
Некоторые из этих разделов могут быть взаимозаменяемыми, в то время как другие не являются взаимозаменяемыми. Например, нефункционируемый раздел токенов может иметь определенные условия (например, период перехода, определенный для владельцев безопасности).
#erc #erc1410
Он относится как к дифференцированному владению, так и к прозрачным ограничениям. Этот интерфейс поддерживает токены владельца для группировки в разделы, каждый из которых представлен идентифицирующим ключом и балансом.
Некоторые из этих разделов могут быть взаимозаменяемыми, в то время как другие не являются взаимозаменяемыми. Например, нефункционируемый раздел токенов может иметь определенные условия (например, период перехода, определенный для владельцев безопасности).
#erc #erc1410
👍1
ERC-1594
Этот стандарт предоставляет интерфейс, который вводит проверки на потенциальное ограничение в цепочке, ввод данных вне цепочки для ограничений на передачу и семантику выдачи / погашения.
Внедрение данных относится к правилам, которые определены вне цепочки, которые могут применяться и обновляться администратором договора для определения набора применимых механизмов выдачи и погашения и потенциальных ограничений передачи между адресами.
#erc #erc1594
Этот стандарт предоставляет интерфейс, который вводит проверки на потенциальное ограничение в цепочке, ввод данных вне цепочки для ограничений на передачу и семантику выдачи / погашения.
Внедрение данных относится к правилам, которые определены вне цепочки, которые могут применяться и обновляться администратором договора для определения набора применимых механизмов выдачи и погашения и потенциальных ограничений передачи между адресами.
#erc #erc1594
👍1
ERC-3475
Стандарт токенов EIP-3475 принят Ethereum Foundation в качестве нового стандарта интерфейса для создания токенезированных облигаций— EIP-3475 позволяет кредиторам выпускать деривативы по непогашенным ссудам, формируя из них новые облигации с различными комбинациями параметров риска и прибыли.
Новый стандарт также позволяет распределять кредитные риски между поставщиками ликвидности — это является основным преимуществом для кредитора по сравнению с другими существующими DeFi-протоколами кредитования. Главным плюсом для заемщика станет то, что залоговое обеспечение не придется ликвидировать, если его стоимость опустится ниже установленного порога.
#erc #erc3475
Стандарт токенов EIP-3475 принят Ethereum Foundation в качестве нового стандарта интерфейса для создания токенезированных облигаций— EIP-3475 позволяет кредиторам выпускать деривативы по непогашенным ссудам, формируя из них новые облигации с различными комбинациями параметров риска и прибыли.
Новый стандарт также позволяет распределять кредитные риски между поставщиками ликвидности — это является основным преимуществом для кредитора по сравнению с другими существующими DeFi-протоколами кредитования. Главным плюсом для заемщика станет то, что залоговое обеспечение не придется ликвидировать, если его стоимость опустится ниже установленного порога.
#erc #erc3475
👍1
ERC-4626
В начале апреля 2022 года разработчики yEarn объявили о завершении работы над ERC-4626 и начале «Великой стандартизации хранилищ».
По их словам, построенное на базе нового стандарта хранилище может взаимодействовать с любыми токенами ERC-4626.
Как пояснили эксперты Huobi Research, ERC-4626 унифицирует следующие параметры:
- способы внесения пользовательских средств в хранилище, а также их вывода;
- функции расчета количества токенов доходности и базовых активов;
- происходящие при взаимодействии с хранилищами события, включая ввод и вывод средств;
- интерфейс для подтверждения адресов базовых активов.
ERC-4626 также экономит время на разработку, придает интеграции гибкость, повышает безопасность взаимодействия пользователей с приложениями и способствует инновациям.
#erc #erc4626
В начале апреля 2022 года разработчики yEarn объявили о завершении работы над ERC-4626 и начале «Великой стандартизации хранилищ».
По их словам, построенное на базе нового стандарта хранилище может взаимодействовать с любыми токенами ERC-4626.
Как пояснили эксперты Huobi Research, ERC-4626 унифицирует следующие параметры:
- способы внесения пользовательских средств в хранилище, а также их вывода;
- функции расчета количества токенов доходности и базовых активов;
- происходящие при взаимодействии с хранилищами события, включая ввод и вывод средств;
- интерфейс для подтверждения адресов базовых активов.
ERC-4626 также экономит время на разработку, придает интеграции гибкость, повышает безопасность взаимодействия пользователей с приложениями и способствует инновациям.
#erc #erc4626
👍1
ERC-4907
Он позволяет владельцу NFT разрешить другому лицу использовать его NFT в течение определенного периода времени. По истечении этого времени пользователь больше не имеет доступа к NFT. Видеоигры Play-to-earn (P2E) все еще являются относительно новым явлением как в криптовалюте, так и в игровом бизнесе.
#erc #erc4907
Он позволяет владельцу NFT разрешить другому лицу использовать его NFT в течение определенного периода времени. По истечении этого времени пользователь больше не имеет доступа к NFT. Видеоигры Play-to-earn (P2E) все еще являются относительно новым явлением как в криптовалюте, так и в игровом бизнесе.
#erc #erc4907
👍1
Популярные ошибки в Solidity
Нашел интересный пост с корявым переводом ошибок, которые могут появиться при проведении транзакций. Это точно не полный список, но теперь это будет постоянная рубрика на канале.
Если вы получили какую-то ошибку у себя в практике и решили ее, то поделитесь этим решением с другими участниками. А пока, вот небольшой список:
1. Error: VM Exception while processing transaction: out of gas
В Solidity нельзя настроить постоянное выполнение транзакций.
Транзакция может выполняться, пока не будет достигнут лимит газа. Как только это произойдет, транзакция выдаст ошибку и вернет "out of gas".
Чаще всего это происходит в циклах функций.
2. Error: VM Exception while processing transaction: invalid opcode
Смарт контракты порой используют assert() для выявления ошибок по выполнению определенных условий в функции. Но иногда они могут противоречить условиям самого контракта. Например,
function set(uint x) public {
assert(x == 0);
myVariable = x;
}
3. Error: VM Exception while processing transaction: revert (описание ошибки)
Обычно это происходит, когда условия модификатора не выполняются, например, модификатор onlyOwner, который может быть вызван только владельцем.
Как и с другими require(), если условие не выполнено, оно вернет "revert exception".
4. CompilerError: Stack too deep, try removing local variables.
Это зависит от сложности выражения внутри функции, где присутствует много (более 16) локальных переменных.
Решение:
-Удалите ненужные переменные;
- Разделите большие функции;
5. SyntaxError: Unexpected token in JSON at position 0
Ошибки с форматом данных json указывает на наличие проблемы при синтаксическом анализе файла .sol для создания файла .json.
Такого рода проблемы могут быть в Truffle.
6. Solidity error: Unexpected token h in JSON at position
Строку параметра необходимо передавать в двойных кавычках.
7. The transaction has been reverted to the initial state. Note: The called function should be payable if you send value and the value you send should be less than your current balance.
Одна из переменных или функций должа быть помечена как payable, чтобы была возможность перевода валюты или токенов.
8. Expected pragma, import directive or contract/interface/library definition...
Проверьте версию pragma в компиляторе и в контракте.
9. ParserError: Source file requires different compiler version (current compiler is 0.6.12+commit.27d51765.Windows.msvc) - note that nightly builds are
considered to be strictly less than the released version pragma solidity ^0.8.0;
И снова следите за версиями в компиляторе и контракте.
10. Cannot estimate gas; transaction may fail or may require manual gas limit.
Возможно, что функция потребует больше газа, чем может себе позволить. В этом случаем можно либо вручную указать количество газа, либо переписать функцию.
Иногда такие ошибки возникают при использовании сторонних сервисов, когда чужой контракт должен вызвать в нашем callback функции, и у нас нет средств оплатить этот вызов.
11. Undeclared identifier.
Вы пытаетесь использовать переменную, которая нигде ранее не появлялась. Проверьте ее на опечатку или регистр.
12. ParseError: Expected '(' but got identifier.
Проверьте закрыты ли все кавычки выше или в самой функции.
13. Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code.
Скорее всего забыли прописать лицензию в начале кода смарт контракта, типа "SPDX-License-Identifier: MIT".
14. Error: invalid arrayify value
Означает, что в массиве передаете на правильный тип данных.
Читайте ошибки! По опыту могу сказать, что, внимательно прочитав ошибку, можно понять, из-за чего она появилась. Даже если вы не знаете английского языка, то онлайн переводчики отлично смогут помочь вам с этим.
В будущем поиск ошибок на канале можно будет выполнить по хештегу #error
#error
Нашел интересный пост с корявым переводом ошибок, которые могут появиться при проведении транзакций. Это точно не полный список, но теперь это будет постоянная рубрика на канале.
Если вы получили какую-то ошибку у себя в практике и решили ее, то поделитесь этим решением с другими участниками. А пока, вот небольшой список:
1. Error: VM Exception while processing transaction: out of gas
В Solidity нельзя настроить постоянное выполнение транзакций.
Транзакция может выполняться, пока не будет достигнут лимит газа. Как только это произойдет, транзакция выдаст ошибку и вернет "out of gas".
Чаще всего это происходит в циклах функций.
2. Error: VM Exception while processing transaction: invalid opcode
Смарт контракты порой используют assert() для выявления ошибок по выполнению определенных условий в функции. Но иногда они могут противоречить условиям самого контракта. Например,
function set(uint x) public {
assert(x == 0);
myVariable = x;
}
3. Error: VM Exception while processing transaction: revert (описание ошибки)
Обычно это происходит, когда условия модификатора не выполняются, например, модификатор onlyOwner, который может быть вызван только владельцем.
Как и с другими require(), если условие не выполнено, оно вернет "revert exception".
4. CompilerError: Stack too deep, try removing local variables.
Это зависит от сложности выражения внутри функции, где присутствует много (более 16) локальных переменных.
Решение:
-Удалите ненужные переменные;
- Разделите большие функции;
5. SyntaxError: Unexpected token in JSON at position 0
Ошибки с форматом данных json указывает на наличие проблемы при синтаксическом анализе файла .sol для создания файла .json.
Такого рода проблемы могут быть в Truffle.
6. Solidity error: Unexpected token h in JSON at position
Строку параметра необходимо передавать в двойных кавычках.
7. The transaction has been reverted to the initial state. Note: The called function should be payable if you send value and the value you send should be less than your current balance.
Одна из переменных или функций должа быть помечена как payable, чтобы была возможность перевода валюты или токенов.
8. Expected pragma, import directive or contract/interface/library definition...
Проверьте версию pragma в компиляторе и в контракте.
9. ParserError: Source file requires different compiler version (current compiler is 0.6.12+commit.27d51765.Windows.msvc) - note that nightly builds are
considered to be strictly less than the released version pragma solidity ^0.8.0;
И снова следите за версиями в компиляторе и контракте.
10. Cannot estimate gas; transaction may fail or may require manual gas limit.
Возможно, что функция потребует больше газа, чем может себе позволить. В этом случаем можно либо вручную указать количество газа, либо переписать функцию.
Иногда такие ошибки возникают при использовании сторонних сервисов, когда чужой контракт должен вызвать в нашем callback функции, и у нас нет средств оплатить этот вызов.
11. Undeclared identifier.
Вы пытаетесь использовать переменную, которая нигде ранее не появлялась. Проверьте ее на опечатку или регистр.
12. ParseError: Expected '(' but got identifier.
Проверьте закрыты ли все кавычки выше или в самой функции.
13. Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code.
Скорее всего забыли прописать лицензию в начале кода смарт контракта, типа "SPDX-License-Identifier: MIT".
14. Error: invalid arrayify value
Означает, что в массиве передаете на правильный тип данных.
Читайте ошибки! По опыту могу сказать, что, внимательно прочитав ошибку, можно понять, из-за чего она появилась. Даже если вы не знаете английского языка, то онлайн переводчики отлично смогут помочь вам с этим.
В будущем поиск ошибок на канале можно будет выполнить по хештегу #error
#error
👍1