Solidity

如何向契約所有者添加 safeTransferFrom 版稅/費用?

  • November 6, 2021

我已經創建了一個實現 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 美元”,然後實際資金在系統外轉手。

任何賣過汽車或房子的人都明白低報交易價值的動機。


一般來說,收取費用的唯一方法是控制資金的流動,這意味著建立一個市場。

你可能不想做一個市場。

引用自:https://ethereum.stackexchange.com/questions/111703