Foundry 备忘录
利用ChainlinkAutomation自动化Bank合约:使用Solidity实现动态存款管理和自动转账概述在这篇文章中,我们将实现一个Bank合约,用户可以通过deposit()方法存款。我们将使用ChainlinkAutomation来自动化合约任务,实现当存
Web3学习之使用Foundry开发部署和开源ERC20合约Foundry是一个用于以太坊应用程序开发的快速、可移植和模块化的工具包,用Rust编写。Foundry由以下部分组成:Forge:以太坊测试框架(类似于Truffle、Hardhat和DappTools)。Cast:与EVM智
在以太坊上使用Solidity和Foundry结合Flashbots实现交易捆绑
ERC20VotesComp库是专门适配Compound投票和委托的ERC20拓展库。本库可对接Compound的接口,同时也存在缺点(总发行量上限为2^96 - 1)。如果业务上确定需要兼容Compound,那必须弄清楚总发行量上限是否符合业务需求。否则可使用ERC20Votes库。
ERC20Votes
使用Foundry为银行合约的 DepositETH 方法编写单元测试
使用Foundry部署和开源合约erc20
foundry常用
AccessControlEnumerable库用于管理函数的调用权限,是AccessControl库的拓展版。与AccessControl库相比,AccessControlEnumerable支持在编成员的迭代导出,这大大方便了各个角色权限的统计查询。
在 Foundry 的 cheatcode 中,mockCall、mockCallRevert 和 mockFunction 使合约测试更高效。
Web3学习之私钥保护——将私钥导入加密密钥库私钥什么是私钥?在Web3和区块链世界中,私钥是一串唯一的数字和字母组合,用于控制和管理你的加密货币和数字资产。拥有私钥的人可以访问相应的数字资产并执行交易,因此私钥必须高度保密。简单来说,私钥即为随机生成的复杂密码。有了私钥,您就能使用自己
通过 prompt cheatcode,我们能够实现一种十分友好的交互输入方式,这样,在运行我们的 Foundry Script 脚本时十分便捷。
Proxy库对外只暴露了fallback和receive函数,是代理合约的基础实现。所有对Proxy合约的call都将被delegatecall到implement合约且delegatecall的执行结果会原封不动地返还给Proxy合约的调用方。通常称implement合约为代理合约背后的逻辑合约。
ERC20Snapshot库是ERC20的拓展,增加了各账户余额及总流通量的快照机制。如果涉及到根据账户ERC20余额进行分红、投票等业务可以使用该库,其可有效防御在不同地址间转账进行“一币多用”的攻击。在一个快照横截面数据上进行分红、投票甚至是ERC20分叉都是最有效的解决方案。
本文介绍了如何在系统上设置 cURL 和 Foundry 开发框架,以便更好地进行 Solidity 开发和测试。包含代码示例和对 Foundry 的简要说明,强调其作为测试和部署工具的优势。