ECDSA(Elliptic Curve Digital Signature Algorithm)是椭圆曲线数字签名算法的简称。ECDSA库十分重要且使用广泛,其作用是在链上验证某message是否由给定的地址的私钥持有者进行签名的。简而言之,ECDSA库是一个验证地址真实身份的工具库。
本文介绍了如何使用 Foundry 设置和部署 NFT 合约到 Sepolia 测试网络,并在 Etherscan 上进行验证。文章详细说明了如何安装 OpenZeppelin、使用 remappings、生成 remappings.txt 文件、设置环境变量以及部署和验证 NFT 合约的过程。
本文介绍了在EigenLayer协议上构建测试用例的方法,特别是如何使用eigenlayer-fuzzing库来进行集成测试。作者详细阐述了如何将该库作为子模块添加到已有项目中,以及如何设置环境并集成目标函数,以便模拟EigenLayer的外部行为,确保兼容性和可靠性。文章还提供了代码示例和步骤指南,适合有一定基础的读者。
该文章介绍了一个 Foundry MCP Server,它是一个轻量级的 MCP (Model Context Protocol)服务器,旨在利用 Foundry 工具链(Forge, Cast, Anvil)为 LLM 提供 Solidity 开发能力。通过该服务器,LLM助手可以与节点交互、分析智能合约和区块链数据、执行EVM操作、管理和部署Solidity代码等。
IERC1271是合约地址作为signer的签名验证标准。EOA地址可以通过其私钥对msg进行签名,而合约地址理论上是没有私钥的。当合约地址作为msg.sender时,可以通过IERC1271标准进行相关的签名验证工作。
文章介绍了一个名为create-chimera-app的工具,该工具基于现有的测试框架,允许开发者通过单一命令快速启动一个带有不变性测试的Foundry项目。它集成了Chimera框架并提供了一套易于使用的测试结构,简化了测试的设置过程,从而使开发者能够更高效地进行不变性测试,减少了复杂性和时间成本。
Foundry 单元测试
SignatureChecker库是一个用于链上签名验证的helper库。该库提供的验签函数既支持EOA账户地址的签名验证也支持IERC1271标准合约地址的签名验证。
本文介绍了以太坊开发框架Foundry中的Fuzz测试技术。Fuzz测试通过生成大量随机输入来测试智能合约在各种条件下的行为,帮助开发者发现边界情况和潜在安全漏洞。文章通过一个简单的存款和取款智能合约示例,展示了如何在Foundry中实现Fuzz测试。
本文档介绍了如何将 OpenZeppelin Foundry Upgrades 与 OpenZeppelin Defender 集成,以便通过 Defender 进行合约部署和升级。主要包括安装配置、环境设置、网络选择以及可升级和不可升级合约的部署示例,强调了使用 Defender 部署时的注意事项,如API密钥配置、网络选择、以及如何在Defender界面监控部署状态。
本文档介绍了 OpenZeppelin Foundry Upgrades API,涵盖了 Foundry artifact 和 Annotation 格式的合约名称规范,以及 deployUUPSProxy、deployTransparentProxy、upgradeProxy、deployBeacon 和 proposeUpgrade 等函数的详细用法和参数选项,旨在帮助开发者使用 Foundry 脚本或测试来部署和管理可升级的合约,以及与 OpenZeppelin Defender 集成。
本文介绍了如何在Hyperliquid的HyperEVM上,通过预编译合约读取HyperCore的实时价格数据。文章详细说明了如何设置Foundry项目,部署智能合约,并使用Hyperliquid提供的L1Read.sol接口来获取和转换预言机价格,为构建交易机器人、借贷协议和链上分析等高级dApp奠定基础。
Openzeppelin中的ERC20库只提供了mint接口,而具体的发行逻辑需要开发者在其子合约中使用_mint()自行编写。该库同样遵循了OpenZeppelin的合约设计思路:当函数因产生错误返回false时,直接revert掉。这种设计思路与ERC20的期望标准并不冲突。
_mint()
本文介绍了LI.FI为解决在多链环境下部署和管理智能合约的挑战而开发的自定义脚本框架。该框架结合了Bash和Solidity脚本功能,简化了在25个以上网络中数百个智能合约的部署、配置和管理。LI.FI通过使用Foundry工具和Bash脚本,实现了安全、高效、可控的多链合约管理。
本文是Huff技术深入探讨系列的第二部分,对比了Huff、Solidity和Yul的特性及gas消耗,并完成了ERC20合约的实现,包括approve、allowance和transferFrom宏。此外,文章还介绍了使用Foundry进行测试和部署的工作流程,并通过架构图展示了合约的结构组成。