首页
/ 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作为主流智能合约开发工具链的地位。

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

热门内容推荐

最新内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
139
1.91 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
73
63
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.29 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
921
551
PaddleOCRPaddleOCR
飞桨多语言OCR工具包(实用超轻量OCR系统,支持80+种语言识别,提供数据标注与合成工具,支持服务器、移动端、嵌入式及IoT设备端的训练与部署) Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
Python
47
1
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
193
273
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
59
16