Solidity
如何向契約所有者添加 safeTransferFrom 版稅/費用?
我已經創建了一個實現 ERC2981 和 ERC1155 的契約,但是我無法理解我該如何接受,例如。5%,每次代幣更換所有者時的費用。
我正在使用 ERC1155 的 openzeppelin 實現,其中包含以下內容:
/** * @dev See {IERC1155-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes memory data ) public virtual override { require( from == _msgSender() || isApprovedForAll(from, _msgSender()), "ERC1155: caller is not owner nor approved" ); _safeTransferFrom(from, to, id, amount, data); }
我需要進行哪些更改才能允許收取 NFT 銷售價值的 5% 的費用,並且仍然符合 ERC1155 標準?
首先,請注意,有人總是可以逃避費用。“官方”轉賬報告為“0 美元”,然後實際資金在系統外轉手。
任何賣過汽車或房子的人都明白低報交易價值的動機。
一般來說,收取費用的唯一方法是控制資金的流動,這意味著建立一個市場。
你可能不想做一個市場。