#ethereum #solidity #nft
#эфириум #прочность #nft
Вопрос:
У меня есть контракт NFT, в котором есть только один NFT (лидер). Лидера можно «свергнуть», если кто-то заплатит более высокую цену, чем заплатил нынешний Лидер, чтобы стать лидером. Я хочу, чтобы это был контракт на основе NFT, но у меня возникли проблемы с функцией переноса из-за утверждений. Конечно, владелец Leader NFT не стал бы добровольно утверждать, что кто-то теряет свою должность; есть ли способ принудительно утвердить все будущие адреса? Вот функция, с которой у меня возникли проблемы:
//shadowMan = where the money goes to when successful. function overThrow(uint _amount) payable public { require(_amount gt; overThrowFund, "The Rebellion has been quashed."); payable(shadowMan).transfer(_amount); transferFrom(ownerOf(1), msg.sender, 1); overThrowFund = _amount; }
Комментарии:
1. Является ли это частью контракта на инкассацию NFT или внешнего контракта? Если это часть договора о сборе, какую реализацию вы используете — OpenZeppelin, custom, другую?