Flow公链 | Cadence update 合约升级指南

原文链接:https://caos.me/cadence-update

翻译:Flow技术大使,Caos

Flow 主网已经在 2022-06-16 日完成了最近一次的 SPORK, 升级了 Secure Cadence 的执行版本,其中包含了 Cadence 的 breaking changes

同样更新也涉及到 SDK,请见文档现有的主网合约将开启无许可更新的权限,也就是说所以的现存合约都可以无许可的进行升级操作。

本文旨在帮助合约开发者针对现有的主网合约进行升级的指南。

为什么要升级

Secure Cadence 的新版本将导致原已经存在主网的合约在某些程度上不可用,例如: NFT 标准合约中因为 Mapping 值类型的变化会导致无法进行正常的 NFT 链上查询操作,会报出脚本异常等错误。这种影响会产生在 NFT 资产的查询和转账的脚本中,所以需要尽快的升级。

同样涉及到 Mapping 类型存储的取值都需要进行类型的转换和声明,否则 Secure Cadence 版本将会抛出运行时错误从而导致脚本执行失败(包含交易或查询的 Cadence 脚本)。

详细的类型转换请参阅 breaking changes 的文档或中文翻译 获取更多信息

升级流程

在升级之前需要遵循如下步骤:

  • 将 Flow Emulator 模拟器升级至最低:v0.36.0 的兼容 Secure cadence 的版本,尝试将升级之前的合约进行本地部署,会发现类型导致的错误提示。

  • 根据错误提示修改合约代码至本地模拟器部署不出现任何报错。

  • 针对涉及到改动和更新的代码在本地模拟器进行单元测试和用例测试

  • 测试后,可尝试将测试网进行升级使用 flow project deploy --network testnet --update 直接升级测试网合约

  • 观察升级过程,并在升级之后在测试网进行用例测试

  • 确认无误后,升级主网合约 flow project deploy --network mainnet --update

💡注意,本次升级只涉及到 Secure Cadence 的类型改变,如果涉及到对合约逻辑或其他的更新,请参阅合约升级指引

升级之后

如果合约之前被 Alchemy 等整合查询服务收录,则需要确保更新后的合约与 Alchemy 等服务的查询兼容正常。

关于 Alchemy 查询合约可以参考这里 如果有收录需求,那么可以在这里提交 PR(https://github.com/alchemyplatform/alchemy-flow-contracts/pulls)

测试网的合约和主网的合约都要保持在最新,以便于第三方开发者或钱包服务商能够基于 Secure Cadence 的版本进行查询和展示。

未来

目前的升级只是 Stable Cadence 的中间过渡状态,我们仍需要关注之后的 Cadence 版本的破坏性更新和迭代,以确保合约的使用者(用户)可以正常的使用合约。

目前已经进入了主网无许可升级的阶段,Flow 网络将会在第三季度开启无许可主网的部署,任何开发者都可以自由的部署自己的 Cadence 合约。

届时保证主网合约与版本兼容能够帮助更多的开发者顺利的整合现有的合约。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cadence SIP设计指南是一个针对集成电路设计的规范和指导文件。SIP(System in Package)是一种集成了多个功能模块的封装技术,它通过在同一封装内集成不同功能模块,提高了系统的性能和密度。 Cadence SIP设计指南旨在帮助电路设计师在设计SIP模块时遵循一些最佳实践和规范。该指南涵盖了从布局、引脚分配、封装选择到电气特性和信号完整性等方面的设计要点。 首先,SIP设计指南强调了良好的封装布局。由于SIP封装内部有多个功能模块,及其相互之间需要进行良好的电磁屏蔽和隔离。在布局时,需要根据不同功能块之间的关系进行合理的组织和规划,以最小化干扰和信号完整性的问题。 其次,SIP设计指南提供了引脚分配的建议。由于将多个功能模块封装在同一SIP中,引脚数量相对较多。设计者需要根据各个功能模块的特性和通信需求,合理地分配引脚位置,以确保信号的可靠传输和相互之间的干扰最小化。 此外,SIP设计指南还涉及到封装选择的问题。设计者需要选择适合SIP模块的封装类型和尺寸,以保障整个SIP的性能和可靠性。该指南还介绍了不同类型封装(例如球栅阵列BGA和无铅封装等)的特点和适用范围。 最后,SIP设计指南还强调了电气特性和信号完整性的重要性。设计者需要关注信号传输的通道,如时钟信号的传输和功耗分配等。同时,需要采取一些电气仿真和分析工具来评估设备的特性,以确保系统在各种工作条件下的正常运行。 总而言之,Cadence SIP设计指南提供了一个详细而全面的指导框架,帮助电路设计师在设计SIP模块时遵循最佳实践和规范,以提高系统性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值