Openzeppelin
文章平均质量分 59
hhhhhhhhhjx
这个作者很懒,什么都没留下…
展开
-
Solidity metaTransaction
Metatransactions 即一种允许用户在不支付gas的情况下完成交易的方式(例如opensea中list一个NFT使用的就是metatransaction),方法为,用户在授权合约后,只需负责对交易数据进行签名,而后一个中间账户(可称作relayer或fowarder)将用户签名和用户交易作为输入调用合约,帮用户支付gas完成交易,合约将验证交易和签名的完整性和真实性。在opensea和其他mint token的场合经常使用这种方法。原创 2022-10-14 16:58:16 · 352 阅读 · 1 评论 -
Solidity Openzeppelin VestingWallet合约
VestingWallet合约用于实现对某个用户地址在一段时间内进行发放eth或erc20代币,发放的方式默认为线性释放,支持重写自定义的释放方式。原创 2022-10-13 17:14:47 · 338 阅读 · 0 评论 -
Solidity PaymentSplitter合约
PaymentSplitter用来实现给某一个群体进行支付,并且针对ether和erc20实现了支付函数的重载。合约构建时需要指定payees(即支付的所有对象),以及shares(即每个payee的支付份额)原创 2022-10-13 16:47:47 · 177 阅读 · 0 评论 -
Solidity ERC777标准
ERC777是一种能够向后兼容ERC20的代币标准,与ERC20的区别在于其新功能:openrater和hooks。原创 2022-10-12 17:41:45 · 1803 阅读 · 0 评论 -
Solidity Hooks函数的使用
Hooks函数帮助合约在每次执行例如转账等操作时执行需要的逻辑,而避免重复在不同的函数中编写这段逻辑。hooks函数会在每次该动作执行前或执行后被触发,其中,_beforeTokenTransfer(address from, address to, uint256 amount) 是最常见的hook,会在transfer之前被调用,包括mint和burn的场景。重写_beforeTokenTransfer函数时,使用super继承parent合约的hooks函数。原创 2022-10-11 16:44:14 · 660 阅读 · 0 评论 -
solidity ERC165 supportsInterface函数
通过ERC165标准,智能合约可以声明它支持的ERC标准的接口,供其他合约检查。ERC721继承了ERC165的接口,当查询的是IERC721或IERC165的接口id时,返回true;反之返回false。原创 2022-10-11 20:06:04 · 789 阅读 · 0 评论