Как выгрузить коллекцию NFT в NEAR на фиксированной высоте
Каталог маркетплейса может пропустить или повторить токены, если коллекция меняется между страницами. У контрактов с NEP-181 есть постраничный метод, который можно привязать к одному блоку.
Зафиксируйте выпуск и хеш блока
Через query/call_function прочитайте nft_total_supply и сохраните block_hash. Используйте его как block_id для nft_tokens. Ниже показаны аргументы метода для страницы со смещением 100. В запросе RPC передайте JSON этих аргументов в виде args_base64.
{
"from_index": "100",
"limit": 25
}
Сдвигайте позицию по полученным записям
Начните со строки "0". После страницы из 25 записей следующее смещение равно "25". Идентификатором актива сохраняйте token_id: смещение показывает только позицию в текущей выгрузке. Сверьте число уникальных токенов с выпуском на том же блоке.
Контракт без расширения перечисления может отклонить метод. Отметьте отсутствие возможности и сохраните имя метода отдельно от результата пустой коллекции.