Foundry项目rc-1版本发布:全面升级智能合约开发体验
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测试框架在此版本中引入了多项新特性和优化。新增了expectCreate和expectCreate2断言,使合约创建测试更加方便。访问控制测试方面,增加了accessList和冷/热存储相关的cheatcodes。
不变性测试(invariant testing)功能显著增强,现在可以显示原始和当前调用序列长度,并能将失败的调用序列生成为Solidity代码,极大方便了测试调试。新增的vm.sort和vm.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-musl和aarch64-musl发布目标,扩展了平台兼容性。
总结
Foundry rc-1版本通过新增功能、修复问题和优化体验,为智能合约开发者提供了更强大、更稳定的工具链。从本地节点模拟到合约测试,从交易调试到项目构建,各个环节都得到了显著提升。这些改进将帮助开发者更高效地构建和测试区块链智能合约,进一步巩固Foundry作为主流智能合约开发工具链的地位。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C051
MiniMax-M2.1从多语言软件开发自动化到复杂多步骤办公流程执行,MiniMax-M2.1 助力开发者构建下一代自主应用——全程保持完全透明、可控且易于获取。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C01
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0127
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00