月亮链 月亮链
Ctrl+D收藏月亮链

AIR:StarkWare编程语言Cairo1.0测试版开源官方简介_SHARK

作者:

时间:1900/1/1 0:00:00

主要内容:

?Cairo1.0开源啦!这仅仅是StarkNet栈开源的第一步。

?我们为读者带来了对Cairo1.0编译器的初步介绍。大家可以开始尝试使用基本的Cairo1.0代码了。

?Cairo1.0的核心与Rust非常相似。

?考虑到这是首次测试,而不是正式版本,优化还在进行当中。第一版的编译器计划在明年一季度初推出。

?目前,StarkNet还不支持Cairo1.0,需要到明年第一季度,StarkNet才会支持Cairo1.0。

Aave社区通过“禁止额外CRV抵押借贷”提案链上投票,并已执行:8月7日消息,治理页面显示,Aave社区以100%的支持率通过了“禁止额外CRV抵押借贷”提案的链上投票,并于昨日执行。该提案由DeFi风险管理器Gauntlet提出,指出由于近期CRV流动性下降,建议将以太坊上Aave V2的CRV LTV设置为0,以阻止现有CRV抵押品进行额外借贷。[2023/8/7 21:29:05]

介绍

2020年,我们发布了Cairo,它是一种支持可验证计算的图灵完备编程语言。Cairo开始时是一种汇编语言,后来逐渐变得更具表达力。两个月前,我们宣布了Cairo1.0的诞生,它解决了当下一些主要问题:

?自诞生以来,虽然Cairo的语法结构已经有了很大的改进,但开发者的体验还是有改进的空间的。Cairo1.0是一个受Rust启发的完全类型语言,编写同样的逻辑会更加容易,并且出错的可能性更低。

比特币挖矿难度上调3.4%至51.23T,再创历史新高:6月1日消息,BTC.com 数据显示,比特币挖矿难度于区块高度 792288 处迎来调整,挖矿难度上调 3.4% 至 51.23 T,再创历史新高。目前全网平均算力为 376.23 EH/s。[2023/6/1 11:51:19]

?现有的编译器与StarkNet本身是在同一个repo中开发的,所以追踪语言变化的困难更大。Cairo1.0编译器是从头开始编写的,所以有更快的功能开发和更多的社区参与。

?现在每一次计算都是可以证明的。目前,一个Cairo程序可能在特定的输入指令下出现失败,使计算无法被证明。在Cairo1.0中,程序在每个可能的分支中都是可证明的。这对StarkNet中的DOS保护和抗审查尤为重要。

?今天,我们达到了上述目标方面的第一个里程碑,因为我们将开发工作转移到了公共repo,并将Cairo1.0开源!现在,开发人员可以编译和执行简单的Cairo1.0程序。由此,开发者可以开始尝试使用Cairo1.0,并逐渐适应新的功能,即使在这个阶段,他们还不能在StarkNet上实现。

DeFi平台dAMM宣布在Token销售轮中完成200万美元融资:金色财经报道,机构DeFi借贷平台dAMM Finance已完成一轮 200 万美元的私人代币销售。本轮参与者包括Prismatic、WOO Network、LedgerPrime、Fischer8、Concave、Berachain和System 9, Inc。[2022/9/27 5:55:17]

目前的性能

目前,你可以编译和执行基本的原生Cairo程序。虽然许多语法/语言的优化仍在进行中,但你还是可以慢慢去习惯Cairo1.0,享受升级带来的好处。

请注意,目前仍然无法编写StarkNet合约。StarkNet语法会在未来几周内添加。

代码示例

为了说明旧的语法和Cairo1.0之间的差异,我们选择了几个不同的实现/类型模板来展示找到第n个斐波那契数。

Moola Market攻击事件更新:攻击者已归还93.1%的被盗资金:10月19日消息,基于Celo网络的DeFi借贷协议Moola Market在推特上发布攻击事件更新,称攻击者已将93.1%的被盗资金已归还给Moola治理多签钱包。官方将继续暂停Moola上的所有活动,并将与社区跟进后续步骤,并安全地重启Moola协议的运行。

官方还表示攻击者将部分未归还的资金捐赠给了MoolaMarket存款机构ImpactMarket,该存款机构在全球资金不足的社区提供UBI。

目前团队的重点已转移到安全恢复Moola协议的功能,目前正在对提案ID9进行治理投票,以降低LTV和管理MOO作为抵押品使用的清算门槛,希望该提案在6天内通过,重启协议

今日早间消息,Moola Market遭黑客攻击,损失840万美元。[2022/10/19 17:32:16]

例一:匹配表达式

PUMA首个NFT项目Nitropass by PUMA完成发售,持有者可获得限量版实物:8月27日,据官方消息,时尚运动品牌PUMA(彪马)首个NFT项目Nitropass by PUMA完成发售,目前OpenSea上地板价为0.27ETH。据悉,Nitropass持有者可获得PUMA限量版实物产品并可获得其他PUMA元宇宙项目体验。[2022/8/27 12:52:16]

在Cairo1.0中,你可以使用类似Rust的匹配表达式。你再也不用担心if/else语句会导致引用撤销了!

例二:数据类型

Cairo0使用的是felt和指针,而在Cairo1.0中,我们可以在语言中访问复杂的数据类型。下面你可以看到一个例子,它生成了一个前n个斐波那契数的数组。

如上所示,我们没有直接使用内存指针,而是使用`Array::<felt>`类型和`array_append`函数。

例三:结构体和所有权

下面的代码说明了Cairo1.0中结构体的用法。

下面这段话是为Rust开发者准备的。Cairo1.0管理内存的方式与Rust类似。而且,它使用了所有权和借用的概念。因此,通过访问`FibResult`结构体的一个成员,我们已经移动了`result`,这意味着除非FibResult是可复制的,否则我们不能在`result.index`中再次访问它。为了解决这个问题,我们在`FibResult`类型中添加了`#`属性。在未来的版本中,我们会为结构体添加自动解构功能。在不影响其他成员的情况下移动某个成员的所有权。

特别要注意的是,Cairo1.0完全抽象掉了Cairo原有的内存模型。

例四:错误传播

下面的代码是计算第n个斐波那契数,但与前面的例子不同,所有的输入指令都是uint128类型的。注意,这解决了Cairo0中处理uint的一个主要痛点。在这里,uint128是原生类型。

两个128个比特位的整数相加会导致溢出。上面的代码使用Option枚举和问号运算符来处理其中一个中间加法中的溢出情况。与目前的uint256加法语法相比,必须调用`unit256_check`函数来保证完整性。此外,在不久的将来,我们会在语言中加入`panic`的概念,像加法溢出这样的简单错误会是无法捕捉并自动传播的,也就是说,你在添加uint时不必使用`Option`或`?`。

赶紧试试吧

你现在可以编译和运行当前支持的Cairo1.0程序了。按照这些说明,学会使用`cairo-run`指令。注意,它的后台由Lambdaclass开发的RustCairoVM执行指令。

你可以在这里找到更多的例子帮助你入门。请注意,这只是对编译器开发的第一次测试;未来几周,我们会随着编译器改进CLI。

未来计划

第一版编译器的重点是支持Cairo1.0中StarkNet的所有功能,该版本计划在明年第一季度推出。此外,我们正在努力扩展Cairo1.0编译器的功能。未来几周,即将上线:

?StarkNet的性能——编写智能合约和使用系统调用。

?循环

?新的库函数

?优化的语言服务器

?StarkNetgas的概念

请务必保持关注并跟踪编译器的进展!

标签:AIRCAICAIROARKfair币价格今日行情CAICACAIRO价格SHARK

狗狗币价格热门资讯
WEB:加密凛冬,对于Web3来说或是最好的时候_coinweb一键跟单

2022年,加密行业充满动荡,继Terra、三箭资本崩盘后,FTX暴雷及其次生危机使得加密寒冬愈发严酷,低迷的市场、腰斩的币价与强硬的监管态势并行,加密行业似乎正在迎来史上最黑暗的一段时期.

1900/1/1 0:00:00
以太坊:Optimistic、zk-Rollups、L3...以太坊的可扩展性研究现在已经走到了哪一步?_ROL

区块链可扩展性的未来就在眼前!但什么是zk-Rollups、zkEVM、L3和模块化区块链?是时候进行深入研究,提高我们的知识水平了.

1900/1/1 0:00:00
ETH:观点:世界上最大的稳定币看起来摇摇欲坠_TET

投资者越来越担心,在将加密货币经济与美元联系起来方面发挥重要作用的数字代币Tether,可能成为下一块加密货币氪石。去年春天,一些对冲基金押注Tether,Tether将跌破1美元的挂钩.

1900/1/1 0:00:00
USD:全面分析7大稳定币脱锚风险_MOMMYUSDT

上半年“稳定”币UST的脱锚,直接把加密市场带入熊市,其多米诺效应也带崩了一系列明星项目。那么,其它的稳定币是否稳定?如果再有脱锚,加密圈还将血流成河!本文全面分析了当前热门七大稳定币的脱锚风险.

1900/1/1 0:00:00
ETH:对话 ERC-4337 作者:以太坊账户抽象及其演化_STO

主持人:各位能否先自我介绍一下?Kristof:我在2021年5月加入Nethermind,大约在去年11月的时候,我在想我接下来要在这个领域做什么.

1900/1/1 0:00:00
MEV:以太坊MEV:flashbot“奴隶主阶层”民主化是正解吗?_BLAST

在第4期limblock周刊中,笔者针对mev话题整理了一些资料供大家参考、学习。随着自己对mev问题了解的深入,对该话题也有了自己新的思考.

1900/1/1 0:00:00