Список всех невзаимозаменяемых токенов, созданных для ESDT
Вот мой рабочий процесс:
- Я создам бренд NFT (кстати, бренд NFT - это просто ESDT?)
- Я хочу выполнить действие для всех NFT под этим брендом.
Итак, как мне получить список всех NFT, созданных под моим брендом?
Чтобы пойти еще дальше, как мне получить это программно (с помощью rust SDK)? И как мне наиболее эффективно отправить egld на эти адреса?
1 ответ
Бренд nft является частью спецификации esdt, но это не то же самое, что заменяемый токен, который также обычно называют просто ESDT.
Чтобы получить список всех NFT, вы можете использовать следующий api. Используйте идентификатор токена (пример:
TEST-424242
) вы получили при создании бренда для заполнения
collection
параметр, и вы получите все созданные вами nft.
Нет простого способа получить данные nft внутри смарт-контракта, не зная адреса, который содержит nft первым. См. Функцию get_esdt_token_data.
Итак, чтобы добиться того, чего вы хотите, вам, вероятно, придется создать
register
функция внутри вашего смарт-контракта, которая принимает адрес вызывающего абонента и предоставленную им nft и сохраняет это отображение в хранилище смарт-контрактов. Таким образом, вы можете получить его позже, чтобы отправить его владельцам.
Чтобы отправить egld, вам нужно использовать прямую функцию в send api. Или direct_egld, который, к сожалению, не задокументирован, но в основном совпадает с прямой функцией, но без необходимости указывать идентификатор токена и одноразовый номер.