Перейти к основному содержанию

Обзор

Сжатые NFT хранятся как листья в конкурентном дереве Меркла, а не в собственных аккаунтах. Чтобы передать, сжечь, делегировать или обновить такой NFT, транзакция должна доказать, что лист находится в дереве. getAssetProof возвращает это доказательство: текущий корень, хеши соседних узлов от листа до корня и хеш листа.
Если вам также нужен сам актив (для владельца, делегата и хешей), используйте getAssetWithProof, чтобы получить и то и другое за один вызов.

Параметры

string
обязательно
ID сжатого актива (base-58).

Ответ

object

Примеры кода

Запрос

Ответ

TypeScript

Передайте доказательство в инструкцию Bubblegum в качестве оставшихся аккаунтов (remaining accounts):

Примечания

  • Доказательство действительно только до изменения дерева. Получайте его непосредственно перед сборкой транзакции и запрашивайте повторно, если транзакция завершилась ошибкой из-за несовпадения корня.
  • Деревья с канопи (canopy) хранят верхние уровни ончейн, поэтому вы можете отбросить соответствующее количество узлов с конца proof, чтобы сэкономить место в транзакции.

Распространённые ошибки