ENVELOP: работа с протоколом в BSC (Binance Smart Chain). Часть III. Оборачивание NFT

Если в первой части мы рассмотрели создание NFT в сети BSC на сторонне сервисе, во второй - выдали разрешение смарт-контракту ENVELOP на управление созданным NFT, то сейчас рассмотрим главный аспект работы - оборачивание (wrap)...

Дисклеймеры

Первое: в данном случае вам придётся работать с боевой сетью (mainet), поэтому, если вы не чувствуете за собой достаточного опыта / понимания / знания, то делайте всё на страх и риск собственный.

Второе: в любом случае вам придётся действовать самостоятельно, используя свои средсства, навыки, кошельки и всё прочее. Мы нести ответственность за это не можем никаким образом.

Третье: блокчейн-технологии всё ещё молоды и уж мы точно не можем отвечать за стабильность сети, её обновления и прочие объективные моменты.

Четвёртое: помните, что главный принцип любого теста: "не навреди".

Удачи!

Процесс оборачивания NFT

Шаг №20. Итак, вспоминаем всё, что проделали во второй части и дальше идём по алгоритму:

  1. Переходим по ссылке https://bscscan.com/address/0xc2571eBbc8F2af4f832bB8a2D3A4b0932Ce24773. Мы оказались на странице контракта протокола ENVELOP в сканере сети.
  2. Переходим на вкладку Contract, далее Write Contract.
  3. Снова подключаем сайт сканера к нашему кошельку (как мы это делали выше). Важно! НЕ переключайтесь на другой кошелек в MetaMask!
  4. Находим метод wrap721 (проще всего через поиск формата Ctrl+F).
  5. Заполняем его входные параметры:
  6. payableAmount (BNB) - указываем значение 0.001 - так мы (позже) создадим обёрнутое NFT с обеспечением нативным токеном BNB в размере 0.001. Важно! Разделитель дробной части - точка.
  7. _underlineContract - указываем адрес контракта нашего оригинального NFT (мы его копировали ранее).
  8. _tokenId - указываем номер оригинального NFT (мы его копировали ранее).
  9. _unwrapAfter - дата в формате unixtime, после которой можно развернуть обёрнутый NFT. Укажем 0.
  10. _transferFee - размер комиссии за перевод обёрнутого NFT. Укажем 0: мы не хотим взымать комиссию за перевод обёрнутого NFT.
  11. _royaltyBeneficiary - адрес, куда хотим получать вознаграждение royalty с комиссии за переводы. Указывае нулевой адрес 0x0000000000000000000000000000000000000000 (мы не взимаем комиссии за перевод нашего будущего обёрнутого NFT).
  12. _royaltyPercent - указываем 0. Мы не получаем вознаграждения royalty с комиссии за переводы (мы не взимаем комиссии за перевод нашего будущего обернутого нфт).
  13. _unwraptFeeThreshold - размер суммы комиссии, которую необходимо накопить в результате совершения переводов. В нашем случаем ставим также 0 (мы не взимаем комиссии за перевод нашего будущего обёрнутого NFT).
  14. _transferFeeToken - адрес контракта токенов, в которых хотим получать комиссию за переводы. Указываем нулевой адрес 0x0000000000000000000000000000000000000000 (мы не взимаем комиссии за перевод нашего будущего обёрнутого NFT).
  15. После этого нажимаем кнопку 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).