### 1. ERC1155 简介 > 这是一个管理多种代币类型的合约标准,该合约可以包括同质化代币和非同质化代币,可以代表任意数量的同质化和非同质化的代币类型,抽象上可以解释为:ERC1155 囊括了 ERC20和ERC777这两种标准。ERC1155的用...
求指教,非常感谢
.... 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 SafeERC20.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/token/ERC20/utils/SafeERC20.sol SafeERC20库封装了ERC20的操作,使各操作执行失败时触发revert。因为标准...
...## 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 ERC165Storage.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/introspection/ERC165Storage.sol ERC165Storage合约是ERC165的一种拓展。IERC165的supportsInterface(byte...
## 分析 大家都知道,ERC777向后兼容ERC20,ERC20的接口方法在ERC777中同样适用. 所以在Openzeppelin的众筹合约中,通过`buyTokens()`逻辑进行购买代币的操作,`buyTokens()`方法又会触发一个`_deliverTokens()`的内部方法进行转账.来看一下代码: ```...
请教下,比如我发行了ERC20代币“OPT”,然后有一个基金合约里面存1000ETH,谁把OPT转入这个基金合约会1:1得到ETH返还,但是有不怀好意的人也发了一个内容一样的“OPT”ERC20代币,这种情况如何识别呢,用户与用户之间又如何识...
openzeppelin的快照插件如下https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC20Snapshot.sol
比如某地址是0xb89d8a7c56241b550A6f8a0938BBBB2E2fe3166F,我有该地址的私钥,我现在想把将该地址的某种erc20代币锁定,目的是使该代币无法转出。哪种erc20代币具有这种锁定功能呢?
目前大部分新发的ERC20 Token都带有permit功能,即通过签名完成授权。签名的人不需要上链,省了gas,但是实际上更危险,一不小心签名,可能把所有的Token授权给他人了。下面是permit的细节 ```javascript /** * @inheritdoc IERC20Permit *...
在合约中调用IERC712(address).safeTransferFrom的话, IERC721(address)可以是实现IERC721接口的任何合同地址 因此,在函数中调用IERC721(address)safetransferfrom(msg sender,address(this)nfttokenid)可能会带来危险的影响. 那么如何检查并...
...//twitter.com/devtooligan)提供的图片。 所以我们来实现一个ERC-20并写一些测试。创建 ERC20 合约,你也可以参考社区的这篇文章[如何创建并部署ERC20代币](https://learnblockchain.cn/article/3672) 。 ## 1. 安装Foundry 安装foundry的具体步骤将...
...BEP-20通证? BEP-20是BNB Chain上的一种通证标准,它基于ERC-20标准框架建立。BEP-20和ERC-20标准都是用于创造互换的同质化通证。同质化表示你只需要关心其数量--它们不是独特的。法定货币就是一个很好的例子。你不需要关心你有...
...了一个智能合约,我想记录当前发送者的地址以及他转的ERC20代币地址和数量信息。 能通过 msg.calldata 解析出来吗? 我现在只能拿到 msg.sender msg.value。 比如: A 转入 100 USDT 到我这个合约,我想在合约里记录 A 转入了 1...
...github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/token/ERC20/utils/TokenTimelock.sol TokenTimelock库是是一个锁币合约。它允许指定地址在某一时间点及之后取出全部锁存的代币,实现了一个代币时间锁的功能。 ### 1. 目标合约 To...
...(address _tokenAddress,uint256 amount)public payable { IERC20 token = IERC20(_tokenAddress); token.approve(address(this),amount); token.transferFrom(msg.sender,address(this),amount); } ``` 以上是我写的ERC20向合约地址转账的代码,转账失...