Cointime

扫码下载App
iOS & Android

StarkWare 公布 Cairo 编程语言路线图,计划推出 Cairo V2 版本与新合约语法

作者:StarkWare 编译:Cointime Lu Tian

Cairo 正在不断发展。为了方便社区,我们创建了一个公共看板来展示未来的炫酷功能。新的合约语法将与 Starknet alpha v0.12.0 一同发布,只需极少的代码修改,就能显著丰富智能合约语言。

随着 Starknet 主网上线的 Cairo 1.1.0 以及即将发布的 Starknet v2,我们已经达到了该语言成熟度的一个重要里程碑。在文档、书籍和 Starknet 不和谐之间,您应该有足够的资源来开始并从 Cairo 0 迁移。

介绍

自早期 alpha 版本以来,Cairo v1 已经取得了显著的发展,实现了与 Cairo 0 相同的功能,并在此基础上积累了新特性(基本循环已经可用,更多功能正在开发中)。在本文中,我们的目标是更深入地了解 Cairo 的短期路线图:当前正在进行的工作以及开发人员在未来几周和几个月内可以期待的内容。今后,您可以通过关注 Github 上的 cairo-roadmap 看板来了解该语言的最新进展和计划。

为什么选择Cairo?

除了高级语言的重大改进之外,我们认为有必要强调 Cairo 的核心优势,以及为什么我们认为它是区块链扩展未来的基石。

从一开始,Cairo 的唯一目标就是成为编写可证明程序的最高效的语言。正如原始论文所述,Cairo VM 的架构旨在为执行 Cairo 程序生成高效的 STARK 证明,使其成为有效性汇总的理想基础。Cairo v2 是我们现有的类似 Rust 的新语言,它基于这些基础,但旨在为广泛的开发人员社区提供服务,包括人体工程学、安全性以及易于学习和编写。在过去两年中,Cairo 的演变使其从一种利基的低级语言,变成了一种对开发人员友好的高级语言,同时在证明和扩展效率方面具有优势。

就叫 Cairo 吧!

不要再说“Cairo 1 — 编译器版本 vX.Y.Z”。从现在开始,就称其为Cairo吧。耶!

在使用新的 Cairo 编译器时,我们遵循语义版本控制标准;也就是说,编译器版本由三位数字组成,最高有效位的更改表示重大变更。在接下来的 Cairo 版本中,我们对智能合约语法进行了重大改进(稍后将详述),因此将版本升级到 Cairo v2 是正确的做法。为了避免繁琐的符号,我们将不再使用 Cairo 1,从现在开始,用(唯一的)编译器版本来标识该语言的版本。原始语言在未来仍可在 Starknet 之外的不同环境中使用,将被称为“Cairo 0”。

Cairo 接下来会发生什么?

在以下部分,我们将回顾该语言即将实现的主要发展,并解释它们将如何影响 Cairo 的开发者体验。

即将推出的功能虽然实现与 Cairo 0 功能对等是一个重要的里程碑,但这绝非终点。高级语言始终有改进的空间,更多的功能正在开发中。您可以查看路线图,了解正在开发的功能并跟踪待完成的工作。值得一提的一些功能包括:

  • 组件:新合约语法的下一阶段,允许合约导入外部库中定义的组件。
  • Keccak 和 Secp-k1:已包含在 Cairo v2 中,它们将允许在即将推出的 Starknet 版本上验证以太坊签名。
  • 有符号整数支持。
  • Secp-r1 曲线操作:这将允许使用本地硬件签署交易,使得与 Starknet 交互的用户体验更加简便。
  • 字符串:(长)字符串的原生类型,允许进行标准字符串操作。这是一个基本功能,NFT 和游戏项目对此也有很高的需求。
  • 迭代器:这些将使我们能够丰富循环语法,并更方便地迭代数组/范围。

Cairo v2 — 新合约语法

目前,Starknet 智能合约的语法主要沿用了早期的 Cairo 0 设计。这一设计存在一些问题,我们希望加以解决。我们采用新语法的目标是通过使合约行为更加明确来提高安全性。通过为合约的外部函数、存储和事件引入更多结构,我们可以显著降低出错的可能性。这将有助于保护协议免受潜在的黑客攻击和资金损失。此外,新语法允许我们引入可扩展性,这是社区一直强烈要求的功能,它让开发人员可以轻松地使用外部库编写的组件。

新语法需要进行重大改变。虽然我们在当前阶段选择尽可能避免重大变更,但在经过内部和社区讨论后,我们认为这是一个对未来带来回报的正确方向。

这些更改在社区论坛上发布的一篇更具技术性的帖子中进行了详细讨论。在这里,我们只想强调,只有合约的“最外层”(外部函数和事件的定义)需要修改。您现有的 Cairo v1 代码只需进行少量调整。另一方面,新语法带来的好处是显著的:使用外部库中的组件(处理大型项目时的关键功能)将变得平滑自然,不再需要临时的解决方案。

文章中描述的一些即将发生的变化(尤其是新的合约语法)意味着语言将发生重大改变。虽然在 Cairo v2 之后,大部分重大更改已经完成,但现在开始全力保证向后兼容还为时尚早。也就是说,对于在 Starknet 上开发智能合约的项目,稳定性和仔细的审查对我们来说是一个重要的考量因素。为了解决这些问题,我们提供以下稳定性保证:

  1. 在 Starknet 上声明的任何类都将继续像以前一样运行,不受语言变化的影响;
  2. 部署在 Starknet 上的任何合约都将继续像以前一样运行,不受语言变化的影响;
  3. 对于每次重大语言升级,之前版本编写的合约在 Starknet 上的声明将保持至少六个月。

例如,如果您正在使用 Cairo 版本 X 开发项目(或接近部署/审核阶段),而 Cairo Y 版本发布时带有重大更改,那么使用版本 X 编写的合约仍将在 Starknet 上被接受至少6个月。也就是说,您有至少六个月的时间将您的合约部署在 Starknet 上,此时它们将永久受到第1点和第2点保护。

何时迁移?

随着新合约语法的发布(并在即将发布的 v0.12.0 中在 Starknet 上提供)以及我们已经完成的大量重大更改,Cairo 现在已足够稳定且功能丰富,可以支持复杂的应用程序并移植现有的 Cairo 0 逻辑。此外,Starknet 的向后兼容性保证确保即使语言发生重大变化,您也将有足够的时间(至少六个月)来完成合约的开发、审核和部署。

总结

Cairo 不断发展,已经在很大程度上超越了原始语言。如果您还没有参与其中,现在是时候了。我们欢迎开发者社区积极参与讨论,可以直接在编译器存储库上提问,也可以在 Cairo Discord 频道或 Starknet 社区论坛上发帖。希望这篇文章(以及相关的技术性更强的文章)有助于阐明预期的变化,并消除对 Cairo 未来的大部分疑虑。

评论

所有评论

推荐阅读

  • Tornado Cash 开发者 Alexey Pertsev 被判处 64 个月监禁

    荷兰法官在斯海尔托亨博斯法院裁定,Tornado Cash 开发商 Alexey Pertsev 犯有洗钱罪。法庭判处Pertsev 64 个月监禁。 2022 年 8 月,Tornado Cash 被美国政府列入黑名单后,该开发商首次在荷兰被判入狱。当时,美国财政部声称 Tornado Cash 是朝鲜黑客组织 Lazarus 的关键工具。 Lazarus 集团与 Axie Infinity 旗下 Ronin Network 遭受的价值6.25 亿美元的黑客攻击以及其他重大加密货币盗窃案有关。

  • 荷兰法院裁定Tornado Cash创始人Alexey Pertsev洗钱罪名成立

    由三名法官组成的荷兰法庭判定Tornado Cash开发者Alexey Pertsev犯有在加密货币混合平台上清洗12亿美元非法资产的罪行,预计合议庭也将在周二对居住在荷兰的31岁俄罗斯人Alexey Pertsev进行宣判,Pertsev的律师将有14天的时间对法官的判决提出上诉。专家表示,这一判决将重塑去中心化金融领域的隐私保护进程,对为用户提供金融隐私保护工具的开源软件的开发产生 "寒蝉效应"。

  • Equalizer黑客已盗取2353枚EQUAL、2500枚spLP等代币

    Fantom 生态 DEX Equalizer 今日遭到黑客攻击,到目前为止,黑客已盗取用户大约 2353 枚 EQUAL 和其他代币。该黑客的钱包地址是 222 天前建立的,并一直在接收被盗用户的资金。 攻击开始于 5 月 14 日 12 点 10 分左右,2500 个 SpookySwap 流动性代币(spLP)被耗尽,导致许多其他代币从用户那里被盗。到目前为止,被盗代币包括: 2353 枚 EQUAL; 510,579 枚 FantomStarter(FS); 2500 枚 spLP; 600 万枚 AnyInu(AI); 985,565 枚 ChillPill(CHILL); 5 万枚 WigoSwap(WIGO: 25 枚 multiDEUS(DEUS)。

  • 跨境洗黑钱集团清洗8800万港元8人被捕

    香港警方商业罪案调查科于2023年11月锁定一个跨境洗黑钱集团,调查发现集团于2023年9月至2024年3月期间,招揽内地人到香港开设傀儡银行户口,透过不同类型骗案,如电话骗案、裸聊骗案、投资骗案、求职骗案等去诈骗受害人。受害人根据骗徒指示,将骗款存入犯罪集团控制的傀儡户口,之后集团会从傀儡户口以现金方式提取骗款,并到加密货币场外交易所(OTC)购买加密货币,同时又会在海外加密货币平台上以虚假身份开设户口,并存入由骗款所购买的加密货币,再转移至多个加密货币钱包,以清洗犯罪得益。 警方又指集团利用72个本地开立的银行傀儡户口,清洗超过8800万港元犯罪得益,其中670万港元是与48宗骗案有关。至昨日,警方于全港拘捕7男1女,年龄介乎26至51岁,涉嫌串谋洗黑钱,他们分别报称救生员、摄影师、电话程式员、销售员及无业,其中6人为骨干成员,2人为傀儡户口持有人。

  • 纽约Sharp Alpha Advisors筹集2500万美元早期软件公司基金

    纽约市的风险投资公司Sharp Alpha Advisors已经为其第二个基金筹集了2500万美元,该基金的主要投资领域是体育、游戏和娱乐行业的早期软件公司。该基金计划在15家初创公司中每家投资100万至200万美元,投资对象包括面向体育博彩、幻想体育、流媒体平台和视频游戏的技术公司。该基金最近投资了总部位于伦敦的技术初创公司C15 Studio,该公司运营和分发F1和One Championship的流媒体频道。Sharp Alpha基金会创始人Danzig声称,该基金会的投资者包括一家大型美国金融公司、美国职业体育俱乐部的所有者、家族办公室、基金和与体育、游戏和娱乐产业相关的上市公司。然而,Danzig拒绝透露任何具体的个人或公司名称。该基金是Fund I的后续基金,Fund I在2021年筹集了1000万美元,主要来自高净值人士和家族办公室。Sharp Alpha在第一期基金中进行了20项投资,平均交易规模约为25万美元。

  • Vitalik提出以太坊改进提案EIP-7706,旨在为calldata添加一个独立的gas类型

    以太坊创始人Vitalik Buterin提出一个新的以太坊改进提案(EIP-7706),旨在为calldata添加一个独立的gas类型,并将三种gas类型整合到一个协调的系统中。Buterin希望这一提案能够使关于“多维度gas”概念的讨论变得更加具体。

  • Coinbase:故障现已完全排除

    加密货币交易所Coinbase表示,故障现已完全排除。

  • 菲律宾央行批准Coins.ph试点菲律宾比索支持的稳定币PHPC

    菲律宾央行在监管沙盒下批准Coins.ph试点一种以菲律宾比索为后盾的稳定币。该试点将评估稳定币在“实际应用中”的效益。Coins.ph表示,菲律宾央行已批准其试点名为PHPC的菲律宾比索稳定币。该项目将在BSP的监管沙盒框架下进行,由Coins.ph在菲律宾银行账户中持有的现金和现金等价物支持。Coins.ph计划将稳定币整合到向菲律宾汇款的国家的汇款平台中。

  • Ripple提交寻求封存并修订部分SEC诉讼文件的动议

    5月14日消息,Ripple在5月13日的最后期限前提交了一项动议,要求对救济动议的简报和某些证据进行狭义的修订。该公司表示,其密封请求是合理的,并与法院在诉讼的简易判决阶段批准的密封请求一致。在周一提交动议之前,Ripple的律师与美国金融监管机构进行了磋商。美国SEC表示,其接受Ripple的一些请求,并可能对其他请求提出异议。 根据文件,Ripple试图编辑若公开披露可能对公司、无辜第三方和Ripple员工造成伤害的信息,寻求对包含其审计财务报表和相关文件进行狭义的修订。

  • 俄当局拟对在住宅公寓内运营的加密货币矿工处以高额罚款

    俄罗斯当局已提议对在住宅物业中运营的加密货币矿工嫌疑人处以巨额罚款。当局还可能考虑对《行政违法法典》(Code of Administrative Offenses)进行修订,对滥用电力者追究责任。