Метадані NFT: що означає заморожено і коли потрібне оновлення

2026-09-03

Метадані NFT: що означає заморожено і коли потрібне оновлення

Через три дні після ревілу ваш токен усе ще показує заглушку. Колекція, яку ви тримаєте, раптом показує інші властивості, ніж минулого тижня. Ані те, ані те не стосується самого токена. І те, і те стосується одного рядка, який тримає контракт, і того, що є на його іншому кінці; заморожено та оновлення — це два слова про те, що з цим рядком може і не може статися.

Метадані NFT: що означає заморожено і коли потрібне оновлення: ключові моменти стисло

Що токен тримає, а чого не тримає

NFT — це ідентифікатор, який смартконтракт записує за адресою власника. Назви, опису та зображення в цьому записі немає.

Ховає їх за одну функцію стандарт токенів ERC-721. За ідентифікатором токена tokenURI повертає Uniform Resource Identifier, а специфікація додає, що цей URI може вказувати на файл JSON, який відповідає ERC721 Metadata JSON Schema.

У цій схемі лише три властивості: name позначає актив, який представляє NFT, description його описує, а image — це URI, що вказує на ресурс із MIME-типом зображення. Тож зображення — це другий перехід: контракт вказує на документ, а документ вказує на файл.

Поза ідентифікатором і власником усе, що показує вам застосунок, читається з цього документа, а не з ланцюга. Та частина, на яку всі дивляться, — саме та, якої ланцюг не тримає.

Куди веде вказівник, вирішує, що може змінитися

URI токена — це рядок, і він може бути кількома різними речами. Це може бути вебадреса на сервері, яким хтось керує. Це може бути адреса IPFS, побудована навколо ідентифікатора вмісту. Це може бути весь документ, вбудований у сам рядок, тож забирати нічого.

Різниця важлива через те, чим кожен варіант здатен стати. Вебадреса називає місце, а не вміст: той, хто керує сервером, завтра може повернути за тією самою адресою інші байти, і в ланцюзі від цього нічого не зміниться. Ідентифікатор вмісту поводиться інакше. Документація IPFS зазначає, що CID ґрунтуються на криптографічному хеші вмісту і що будь-яка різниця у вмісті дає інший CID. Тому CID не може розв'язатися у відредагований вміст: відредагований вміст — це інший CID, і йому потрібен інший вказівник.

Вбудований документ іде ще на крок далі, бо перехоплювати вже нічого. Він коштує обсягу, бо кожен його байт лежить у сховищі контракту.

Куди вказує URI токена Чи може дальній кінець згодом віддати інший вміст Що має змінитися, щоб змінилося зображення
Вебадреса на чужому сервері Так У ланцюзі нічого
Ідентифікатор вмісту IPFS Ні Контракт має повернути інший URI
Документ, закодований у самому URI Ні Контракт має повернути інший URI

Що насправді означає заморожування метаданих

Заморожено — це твердження про два замки, і воно справджується, лише коли зачинені обидва. Перший на дальньому кінці: вміст за вказівником не можна підмінити іншим вмістом. Другий на самому вказівнику: контракт не можна змусити віддати інший URI.

Колекція може покласти кожен файл в IPFS, оприлюднити ідентифікатори вмісту і при цьому зберегти функцію, що дозволяє тому, хто її розгорнув, задати новий base URI. Адресація за вмістом зачиняє перший замок і залишає другий відчиненим. Колекцію з 10 000 токенів можна обслуговувати одним base URI, і тоді одна транзакція власника змінює те, у що розв'язується кожен ідентифікатор у ній.

Тому заморожування читають так само, як привілеї власника у будь-якому іншому контракті. Питання не в тому, що контракт робить сьогодні, а в тому, що той, у кого ключ власника, ще здатен змусити його зробити.

Чому ви бачите кешовану копію

Маркетплейси та гаманці не викликають tokenURI і не забирають документ щоразу, коли ви гортаєте сторінку. Вони читають його один раз, тримають власну копію JSON, завантажують зображення і віддають вам цю копію, бо малювати галерею інакше означало б по одному зовнішньому запиту на плитку до серверів, якими сайт не керує.

Отже, копій відповіді три, і вони можуть розходитися: що контракт повертає зараз, що документ за тим URI каже зараз і що індексатор занотував, коли дивився минулого разу. Хибне відображення — це твердження про третю копію, а не доказ того, що перші дві хибні.

ERC-4906 існує саме через цей проміжок. Він має назву EIP-721 Metadata Update Extension і додає подію MetadataUpdate, щоб, за його власними словами, сторонні платформи на кшталт маркетплейсів NFT могли вчасно оновлювати зображення та пов'язані атрибути NFT; подія BatchMetadataUpdate охоплює діапазон ідентифікаторів за одну емісію. Заявлена мотивація полягає в тому, що контракти й так уже випускали для цього власні події, а будувати окреме рішення під кожну колекцію було зайвою роботою для платформ, які їх читають.

Що насправді робить оновлення

Оновлення — це вказівка індексатору, а не ланцюгу. Воно велить платформі викинути занотоване і проробити все читання наново: викликати tokenURI, забрати те, що повернулося, розібрати це і заново завантажити файл, названий у полі image. Нічого не підписується, комісія не сплачується, і контракт лишається недоторканим.

Тому оновлення допомагає лише в одній ситуації: збережена копія відстала від поточної відповіді. Якщо контракт тепер повертає новий URI або документ за старим URI тепер містить інші байти, оновлення приводить відображення у відповідність. Якщо ні те, ні те не справджується, воно замінює збережену копію точнісінько такою самою.

Оновлення — це ручна версія того, що автоматизує ERC-4906: коли колекція випускає подію оновлення, індексатор, який за нею стежить, перечитує все сам, без прохання.

Коли оновлення не допоможе

Корисне питання не в тому, чи оновлювати, а в тому, з якою несправністю ви маєте справу, бо не пов'язані між собою несправності виглядають однаково: зображення не те або зображення немає.

Що ви бачите Що відбувається насправді Чи змінює це оновлення
Заглушка після ревілу Контракт усе ще повертає URI до ревілу Ні, доки контракт не поверне новий
Зламане зображення, документ ще відкривається URI зображення мертвий або недосяжний Ні, лагодити треба на хостингу
Не вантажиться нічого Недосяжний сам документ метаданих Ні
Властивості розходяться з документом Збережена копія застаріла Так
Зображення правильне, сторінка колекції ні Ви дивитеся на інший контракт Ні

Рядки з мертвим вказівником якраз і читають як збій платформи. Якщо URI токена — це вебадреса, сервер за нею можна вимкнути, і вказівник далі вказує в порожнечу. Якщо це ідентифікатор вмісту, той самий підсумок приходить іншою дорогою: документація IPFS зазначає, що хоча IPFS гарантує можливість знайти будь-який вміст у мережі, він не гарантує, що вміст лишається доступним постійно, і що дані можна закріпити на одному чи кількох вузлах IPFS, аби їх не видалили під час збирання сміття. CID, якого не тримає жоден вузол, — це чинне і вічне ім'я для нічого.

Що перевірити, перш ніж просити оновлення

Три читання розводять ці випадки, і жодному з них не потрібен робочий маркетплейс.

Спершу прочитайте контракт. В оглядачі блоків відкрийте контракт колекції та викличте tokenURI зі своїм ідентифікатором токена. Рядок, який повернеться, — це відповідь із ланцюга і єдина з трьох копій, яку ланцюг засвідчує.

Тоді відкрийте те, що він повернув. Заберіть цей URI і прочитайте JSON. Якщо в name, description та image лежить те, чого ви очікуєте, бік ланцюга в порядку, а проблема нижче за течією. Якщо URI не відкривається, жодне оновлення не створить документ, якого немає.

Тоді пройдіть полем image, бо документ може бути цілим, а названий у ньому файл зникнути, причому на іншому хості, ніж той, що віддає метадані. Коли всі три читання правильні, а маркетплейс усе одно показує інше, ось тоді це випадок для оновлення, і тільки тоді.

Підсумок

Метадані — це документ, на який ланцюг вказує, а не річ, яку ланцюг тримає. Заморожено означає, що зачинені обидва замки: дальній кінець не може віддати інший вміст, а контракт не можна змусити вказувати деінде. Один замок без другого — це не заморожування, а адресація за вмістом сама по собі зачиняє лише перший.

Оновлення нічого з цього не торкається. Воно перечитує вказівник і документ та перезаписує кешовану копію, тож лагодить рівно одну несправність: відображення, яке відстало. Прочитайте tokenURI, відкрийте те, що він повертає, пройдіть полем image. Ці три читання відділяють індексатор, якому треба глянути ще раз, від вказівника, на кінці якого вже нічого немає. Щоб продовжити вивчати основи, читайте інші матеріали Bitbase Academy.

Схожі матеріали

Інші матеріали Bitbase на цю тему:

- Часткове володіння NFT і де криється ризик

- Мінт NFT пройшов, а NFT не видно в гаманці

- Процес розкриття NFT: що змінюється і коли

- Необов'язкові роялті NFT простими словами

- Перетини ковзних середніх: золотий хрест і хрест смерті

Застереження: Ця стаття є освітнім матеріалом Bitbase Academy і надається лише для інформації. Вона не є інвестиційною, торговою, податковою чи фінансовою порадою. Криптоактиви волатильні — оцінюйте ризики самостійно. Написано станом на вересень 2026 року; орієнтуйтеся на найновішу офіційну інформацію.

Джерела

[1] Ethereum Improvement Proposals, ERC-721: Non-Fungible Token Standard eips.ethereum.org

[2] Ethereum Improvement Proposals, ERC-4906: EIP-721 Metadata Update Extension eips.ethereum.org

[3] Документація IPFS, Content Identifiers (CIDs) docs.ipfs.tech

[4] Документація IPFS, Persistence, permanence, and pinning docs.ipfs.tech

Пов'язані статті

Більше