ERC721 is widely used in blockchain games. I think it’s good to NFTized game accounts and game equipment so that users can own their own assets. However, I don’t think it’s a good experience for every player to buy an NFT before playing the game. Sometimes we just want to try the game. Under such circumstances, if we can borrow NFT to play the game in a safe and convenient way, the experience will be much better.
In order to solve this problem, I thought of a method, that is, add a delegator extension to ERC721. Specifically, like the following code.
mapping(uint256 => address) private _delegators;
function setDelegator(address delegator, uint256 tokenId)
If I want to borrow an NFT from you, you just set me as the
delegator of your NFT. It’s safe for you to do it, cause I don’t have any permission to transfer or approve your NFT.
What a delegator can do is defined by the game developers, or the utility NFT developers. If developers are willing to adopt this extension, they need to add the identification and processing of the delegator in the code.
I will develop specific implementations and examples in the next. I would also like to get feedback from everyone