Пост
Поделитесь своими знаниями.
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.