ENVELOP: работа с протоколом в BSC (Binance Smart Chain). Часть III. Оборачивание NFT
Если в первой части мы рассмотрели создание NFT в сети BSC на сторонне сервисе, во второй - выдали разрешение смарт-контракту ENVELOP на управление созданным NFT, то сейчас рассмотрим главный аспект работы - оборачивание (wrap)...
Дисклеймеры
Первое: в данном случае вам придётся работать с боевой сетью (mainet), поэтому, если вы не чувствуете за собой достаточного опыта / понимания / знания, то делайте всё на страх и риск собственный.
Второе: в любом случае вам придётся действовать самостоятельно, используя свои средсства, навыки, кошельки и всё прочее. Мы нести ответственность за это не можем никаким образом.
Третье: блокчейн-технологии всё ещё молоды и уж мы точно не можем отвечать за стабильность сети, её обновления и прочие объективные моменты.
Четвёртое: помните, что главный принцип любого теста: "не навреди".
Процесс оборачивания NFT
Шаг №20. Итак, вспоминаем всё, что проделали во второй части и дальше идём по алгоритму:
- Переходим по ссылке https://bscscan.com/address/0xc2571eBbc8F2af4f832bB8a2D3A4b0932Ce24773. Мы оказались на странице контракта протокола ENVELOP в сканере сети.
- Переходим на вкладку Contract, далее Write Contract.
- Снова подключаем сайт сканера к нашему кошельку (как мы это делали выше). Важно! НЕ переключайтесь на другой кошелек в MetaMask!
- Находим метод wrap721 (проще всего через поиск формата Ctrl+F).
- Заполняем его входные параметры:
- payableAmount (BNB) - указываем значение 0.001 - так мы (позже) создадим обёрнутое NFT с обеспечением нативным токеном BNB в размере 0.001. Важно! Разделитель дробной части - точка.
- _underlineContract - указываем адрес контракта нашего оригинального NFT (мы его копировали ранее).
- _tokenId - указываем номер оригинального NFT (мы его копировали ранее).
- _unwrapAfter - дата в формате unixtime, после которой можно развернуть обёрнутый NFT. Укажем 0.
- _transferFee - размер комиссии за перевод обёрнутого NFT. Укажем 0: мы не хотим взымать комиссию за перевод обёрнутого NFT.
- _royaltyBeneficiary - адрес, куда хотим получать вознаграждение royalty с комиссии за переводы. Указывае нулевой адрес 0x0000000000000000000000000000000000000000 (мы не взимаем комиссии за перевод нашего будущего обёрнутого NFT).
- _royaltyPercent - указываем 0. Мы не получаем вознаграждения royalty с комиссии за переводы (мы не взимаем комиссии за перевод нашего будущего обернутого нфт).
- _unwraptFeeThreshold - размер суммы комиссии, которую необходимо накопить в результате совершения переводов. В нашем случаем ставим также 0 (мы не взимаем комиссии за перевод нашего будущего обёрнутого NFT).
- _transferFeeToken - адрес контракта токенов, в которых хотим получать комиссию за переводы. Указываем нулевой адрес 0x0000000000000000000000000000000000000000 (мы не взимаем комиссии за перевод нашего будущего обёрнутого NFT).
- После этого нажимаем кнопку Write:
Шаг №21. MetaMask попросит нас подтвердить транзакцию. Подтверждаем:
Шаг №22. Через некоторое время нам MetaMask сообщит нам, что у нас создана транзакция и есть её подтверждения. Посмотрим нашу транзакцию в Активностях MetaMask. Нажимаем на последнюю транзакцию:
Шаг №23. Нажимаем на любую запись Журнала активности (или на стрелку в правом верхнем углу):
Шаг №24. Мы окажемся на сайте bscscan.com. Посмотрим вкладку Logs. Найдём на странице событие с Name Wrapped:
Шаг №26. На экране указан tokenId и адрес контракта NFT, который мы оборачивали, а также id обёрнутого NFT. В нашем случае это 2. В результате данного действия оригинальный NFT 434 принадлежит контракту Протокола ENVELOP, а у пользователя есть обёрнутый NFT c ID 2.
В следующей статье рассмотрим добавление нативных токенов в обеспечение обёрнутого NFT, а пока -
P.S. Все вопросы можете задавать в нашем общем чате, а ещё лучше - чате bounty-кампании (у Александра Агаджанова под ником alexamuek).