Допис
Діліться своїми знаннями.
How to keep NFT metadata stable without leaking info?
I'm trying to develop an NFT contract and wish to make sure all NFT metadata remains stable. I'm concerned that if I include a source metadata link in the contract, it could be visible to users who might exploit it. How can I prevent this from happening? Additionally, I'd like to know if I can add optional fields to an NFT object as I do in TypeScript. Here's my idea:
type NFT = {
name: string;
description: string;
url: string;
attributes: {field: string; value: string}[];
};
I've never seen this approach before and I feel like I'm missing something. Can someone guide me on the best practices here?
- Move CLI
- Smart Contract
Відповіді
2Що стосується додавання необов'язкових полів, подібних до TypeScript, ви дійсно можете налаштувати метадані NFT. Існує «стандартний» формат метаданих, який використовується популярними колекціями NFT, але ви можете відхилитися від нього. Використовуйте VecMap
для атрибутів, як ви згадували, і вивчіть параметри використання Display
параметра для налаштування показаних метаданих. Щоб дізнатися більше, ознайомтеся з цими ресурсами:
Схоже, ваша головна турбота полягає в тому, що хтось може вивести майбутні метадані NFT через те, як вони викарбуються послідовно. Щоб зменшити цей ризик, подумайте про переміщення послідовності метаданих поза блокчейном. Таким чином, навіть якщо вони можуть виглядати послідовно на блокчейні, метадані не будуть передбачуваними. Крім того, призначте випадковий ідентифікатор і переконайтеся, що функція карбування перевіряє, чи цей ідентифікатор ще не викарбуваний.
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.
Move is an executable bytecode language used to implement custom transactions and smart contracts.