https://github.com/enjin/erc-1155/blob/master/contracts/ERC1155.sol提到了一些关于“操作员批准”的内容。
什么是操作员,什么是操作员批准?
发布于 2021-01-16 16:44:38
术语operator最初是由EIP-721引入的,用来定义由NFT所有者授权(或批准)使用其所有令牌Ids的地址。
在EIP-1155中,令牌所有者通过以下函数设置operator:
function setApprovalForAll(address _operator, bool _approved) external {
operatorApproval[msg.sender][_operator] = _approved;
emit ApprovalForAll(msg.sender, _operator, _approved);
}运算符能够管理setApprovalForAll方法调用方拥有的所有令牌。
因此,safeTransferFrom和safeBatchTransferFrom方法可以由令牌所有者或其操作符之一调用(请注意,所有者可以有多个操作符)。在这两个函数中都使用以下行签入此语句:
require(_from == msg.sender || operatorApproval[_from][msg.sender] == true, "Need operator approval for 3rd party transfers.");https://ethereum.stackexchange.com/questions/76828
复制相似问题