首页
/ Foundry项目rc-1版本发布:全面升级智能合约开发体验

Foundry项目rc-1版本发布:全面升级智能合约开发体验

2025-06-07 15:56:27作者:侯霆垣

Foundry作为区块链智能合约开发的一站式工具链,在rc-1版本中带来了多项重要更新和功能增强。这个版本不仅优化了核心组件Anvil、Cast和Forge的功能,还修复了大量已知问题,显著提升了开发者的使用体验。

核心组件功能增强

Anvil本地节点功能升级

rc-1版本为Anvil本地节点增加了多项实用功能。最值得注意的是新增了eth_simulateV1 RPC调用支持,这使得开发者能够更灵活地模拟交易执行。同时加入了负分叉区块号支持,为测试不同历史区块状态提供了便利。

日志系统也得到增强,现在支持trace级别的日志记录,帮助开发者更细致地调试合约交互过程。在配置方面,改进了chain-id参数的优先级处理,确保网络配置更加灵活可靠。

Cast工具链扩展

Cast作为与区块链交互的CLI工具,在rc-1中增加了多项实用命令。新增的cast txpool命令让开发者可以直接查询交易池状态,而cast wallet子命令集增加了密码修改和公钥导出功能,完善了密钥管理能力。

交易处理方面,现在支持生成未签名的原始交易,并改进了交易解码功能,会在输出中包含恢复的地址信息。存储查询命令增加了--proxy选项,当区块浏览器无法自动识别代理合约时,开发者可以手动指定代理合约地址。

Forge测试框架改进

Forge测试框架在此版本中引入了多项新特性和优化。新增了expectCreateexpectCreate2断言,使合约创建测试更加方便。访问控制测试方面,增加了accessList和冷/热存储相关的cheatcodes。

不变性测试(invariant testing)功能显著增强,现在可以显示原始和当前调用序列长度,并能将失败的调用序列生成为Solidity代码,极大方便了测试调试。新增的vm.sortvm.shuffle cheatcodes为测试数据准备提供了更多灵活性。

重要问题修复

rc-1版本解决了多个影响开发者体验的关键问题。在Anvil中,修复了缓存路径重置问题和无效助记词处理问题。Cast工具修复了交易发送时对revert解码的panic问题,并改进了gas限制检查。

Forge测试框架修复了多项重要问题,包括:

  • 优化器配置在不同profile下的正确应用
  • 覆盖率计算对带参数构造函数的支持
  • 修复了prank在委托调用场景下的余额设置问题
  • 改进了fork状态初始化时的账户状态处理

特别值得注意的是,现在vm.expectRevert会自动去除错误消息中的"revert: "前缀,使断言更加简洁可靠。

开发者体验优化

rc-1版本在开发者体验方面做了大量改进。Forge现在支持--use-literal-content标志,可以控制源码中的字面量处理方式。新增了抑制成功测试trace输出的选项,使测试输出更加清晰。

项目初始化流程也得到优化,改进了模板处理逻辑,修复了带空格用户名环境下的安装问题。文档生成支持了MathJax,使数学公式展示更加美观。

底层架构改进

在底层架构方面,rc-1版本进行了多项重构,使各组件(Anvil、Cast、Forge、Chisel)更加模块化,更适合作为库使用。依赖管理方面移除了rustls/openssl特性,简化了构建配置。

签名处理方面改进了规范化逻辑,确保交易签名更加符合标准。新增了x86_64-muslaarch64-musl发布目标,扩展了平台兼容性。

总结

Foundry rc-1版本通过新增功能、修复问题和优化体验,为智能合约开发者提供了更强大、更稳定的工具链。从本地节点模拟到合约测试,从交易调试到项目构建,各个环节都得到了显著提升。这些改进将帮助开发者更高效地构建和测试区块链智能合约,进一步巩固Foundry作为主流智能合约开发工具链的地位。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
858
509
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
257
300
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
331
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
397
370
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
22
5