Добавьте роялти к смарт-контракту Solidity NFT

как я могу добавить роялти в коллекцию Nft на уровне смарт-контракта, не используя решения из маркетплейсов?

Я использую этот официальный репозиторий https://github.com/scaffold-эт для своей задачи.

2
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Единственный способ добавить роялти на уровне смарт-контракта, не нарушая Стандарт ER721, — это реализовать пользовательскую функцию transferFrom, которая требует выплаты роялти при каждой передаче.

Как правило, это не реализовано, потому что это означает, что пользователи не могут переводить средства между своими кошельками без уплаты роялти.

Существует EIP вокруг роялти NFT, чтобы предложить стандарт для определения роялти в сети, однако торговые площадки по-прежнему будут нести ответственность за соблюдение стандарта.

Если вы не полагаетесь на сторонние торговые площадки, вы можете добавить в свой NFT функцию «торговли», которая реализует логику обмена между валютой и NFT. Однако это не будет использоваться торговыми площадками, такими как OpenSea, и будет жизнеспособным решением, только если вы планируете реализовать свой собственный рынок.

Другие вопросы по теме

Похожие вопросы

Невозможно изменить версию компилятора solc в VSCode
Вопрос Solidity «Функция должна указать переопределенный контракт»
Разница между массивом состояний, инициализированным с использованием литералов, и другим массивом состояний, инициализированным с помощью «нового» оператора в Solidity?
Как условно выполнить итерацию сопоставления структур и вернуть только некоторые структуры — Solidity
Ошибка: supportChain устарел, вместо этого передайте сети
Существует ли система блокчейна с открытым исходным кодом для хранения небольших данных, таких как ключи и хэши, помимо биткойнов?
Как я могу добавить несколько входов в Solidity?
The Graph: как я могу включить в свой ответ это значение «цены», которое существует в другом типе GraphQL?
Мониторинг транзакций кошелька Polygon с помощью С#
Солана. Несоответствующая сумма перевода и изменение баланса целевого счета