ERC6909
ERC6909 – мульти-токен стандарт позволяющий в рамках одного контракта реализовать неограниченное количество токенов, выпускаемых в произвольном количестве.
Представляет собой более безопасную, облегченную и gas-оптимизированную версию стандарта ERC1155 из которого убрали callback, batch-трансферы, вынесли за пределы контракта metadata, tokenUri и сделали эффективные allowances, позволяющие делегировать конкретный tokenId в необходимом количестве.
Ключевые особенности ERC6909
Дальше step-by-step мы разберем чем же уникален стандарт, иногда для сравнения мы будем прибегать к 1155, так как ерц6909 - его прямой последователь.
Упрощенный transfer
Теперь для передачи токенов используется исключительно transfer и transferFrom, никаких больше батчей, дополнительно убрали "safe" из неймингов.
Надежный механизм делегирования
Стандарт декларирует два обязательных типа выставления allowances. Владелец токенов может делегировать свои активы (предоставить возможность совершать transfer третьим лицам) с помощью двух функций:
- approve(spender, id, amount) позволяет предоставить в делегирование необходимое количество токенов конкретного tokenId
- setOpeator(spender, approved) назначает оператора, который сможет распоряжаться всеми токенами владельца
Легковесный контракт
Стандарт смело можно назвать легковесным. Базово интерфейс содержит в себе набор самых необходимых методов для корректной работы мульти-токен функционала. Для оптимизации из его предшественника убрали ненужные функции (batch трансферы и ресиверы), избавились от необходимости имплементации callback. Упростили структуру контракта убрав tokenUri, metadata и трекинг саплая, теперь это отдельные extensions.
Обязательный ERC165
Теперь контракт в обязательном порядке должен имплементировать IERC165 интерфейс и функцию supportsInterface(interfaceId), это сделано для упрощения дальнейших интеграций 6909 токенов с другими смарт-контрактами.
Обзор кодовой базы
На YouTube канале "Блокчейн Разработчик" Николай подготовил для вас полноценный разбор кодовой базы стандарта ERC-6909 со всеми вытекающими нюансами, а если вас интересует комплексная программа по изучению Solidity - приглашаю вас на Solidity Bootcamp, в процессе которого мы изучаем разработку и тестирование смарт контрактов, лучшие практики, популярные стандарты и то как сделать ваши смарт-контракты безопасными. 🙏 Приятного просмотра и успехов в обучении!
Подпишись и получи доступ к бесплатным курсам и обучающим материалам от Solidity University! Изучай Solidity и Блокчейн Разработку вместе с нами!