风险提示:理性看待区块链,提高风险意识!
Starknet编程语言Cairo 1.0:设计原理
首页 > 业界 > 区块链 2023-11-06 17:48:54
币界网报道:

Cairo 是一个图灵完备的 ZK 友好高级语言,也是以太坊 L2-Starknet 的合约开发语言。Cairo 1.0版本。引入一种改进的语言,其功能将增强可用性、安全性和便利性。它旨在支持 StarkNet 作为无许可网络的要求,使协议变得更简单、更安全。

Cairo的诞生

Cairo 的诞生源于这样一种认识:应向世界各地的开发人员提供可验证的计算。Cairo 使开发人员能够利用 STARK 的力量。

此后,开发者社区抓住cairo的机遇,热情地进行建设。如今蓬勃发展的 StarkNet 生态系统中的一切都基于Cairo。在STARKNET 和 STARKEX之间 ,Cairo 驱动的应用程序已经处理了超过 2.2 亿笔交易,铸造了超过 6500 万个 NFT,并处理了价值 700B 美元的交易,所有这些交易都在以太坊上结算。

Cairo 1.0

对于 Cairo 1.0构建了一个全新的编译器,它将为开发人员提供安全功能,并允许他们以更简单、更具表现力的方式编写合约。

Sierra 简介:确保每一次开罗跑步都能得到验证

Cairo  1.0中主要添加的是Sierra 安全中间 表示Sierra 构成了 Cairo 1.0 和 Cairo 字节码之间的新中间表示层。Sierra 的目标是确保每一次 Cairo 运行(即 Cairo 程序及其输入)都可以得到证明(请参阅下文)。

Sierra 承诺开罗开发人员提供更好的面向未来的代码。在底层系统改进的情况下(例如,CPU AIR 架构更改、从 Sierra 到 Cairo 字节码的最终翻译的改进),StarkNet 合约不需要重新编译,这一事实提供了进一步的稳定性。

在旧版本中,Cairo 运行可能会导致三种情况:正确、错误或失败。无法证明失败的运行。Sierra,确保开罗运行永远不会失败,并且只能得出 TRUE 或 FALSE。这反过来又确保了每次Cairo 运行都能得到验证。

Sierra 的引入对于 StarkNet 作为无需许可的网络具有重要意义。Sierra 确保即使是恢复的交易也可以包含在 StarkNet 区块中。这一特性将使 StarkNet 协议保持精简和简单,而无需添加复杂的加密经济机制。两个有意义的例子:

  1. Sequencer 将能够对恢复的交易收取费用,从而使 StarkNet 能够以完善的方式防止 Sequencer DoS。

  2. 实施强制 L1 交易将成为可能,从而使 StarkNet 继承以太坊的完全抗审查能力。

语言特点

Cairo 1.0 将对编程语言本身进行许多改进。并非下面列出的所有内容都将成为第一个版本的一部分,但它是路线图的一部分。

改进的语法

  • 删除本地和 临时变量。现在我们只需要 let 来规则所有变量。

  • 改进的 if 语句语法

Oldif cond != 0 {   tempvar x = x+1;} else {   tempvar x = x;}__________________________________Newif cond { x = x + 1; }

类型安全保证

编译器将使用强类型来提高代码的安全性。例如:

  • 指针将始终指向已初始化的内存。

  • 字典总是会被压缩,而不是将调用squash_dict的责任留给程序员。

更容易使用语言结构

例如:

  • For 循环

let sum = 0for x in iter {   sum = sum + x;}

  • 布尔表达式

  • 整数(具有常规整数除法)

  • 相关类型的溢出保护

  • 布尔条件

OldIf cond1:   if cond2:        # Some code   else if cond3:        # Same code__________________________________NewIf cond1 && (cond2 || cond3) { … }

一个成熟的类型系统

  • 抽象数据类型(即类似 Rust 的枚举)

enum Option<T> {  Some: T,  None,}match result {  Some(r) => {..},  None => {..},}

  • 性状

trait Add<Uint256> {     fn add(…) { … }}let a: Uint256 = 1;let b: Uint256 = 4;a + b; // Evaluated to 5 of type Uint256.

更直观的库

(例如字典、数组)

  • 字典<Uint256,MyStruct>;

  • 数组<MyOtherStruct>;

更优化的代码

无需显式声明局部变量的分配——自动检测并自动完成。

更好的编译器集成

实现更好的 IDE 支持、包管理和更好地促进社区贡献。

结论

 Cairo 1.0 提供了改进的可表达性、安全性和语法。它将让开发者能够更轻松地编写他们的 StarkNet 合约。

上一篇: 在加密货币土狗市场中的6大稳健之道
下一篇: Unisat的核心成员神秘失踪两个月后CHAX横空出世
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
58,678.76 USDT
¥418,796.17
+2.24%
ETH以太坊
2,968.52 USDT
¥21,186.62
+2.5%
USDT泰达币
1.02 USDT
¥7.31
+0.25%
BNB币安币
560.08 USDT
¥3,997.34
+1.85%
SOL
137.27 USDT
¥979.70
+10.76%
XRP瑞波币
0.51680 USDT
¥3.69
+4.34%
USDC
1.00 USDT
¥7.14
-0.1%
DOGE狗狗币
0.13000 USDT
¥0.92780
+5.78%
TON
4.83 USDT
¥34.50
+3.47%
ADA艾达币
0.45420 USDT
¥3.24
+4.08%
热搜币种
更多
币种
美元价格
24H涨跌幅
比特币
58656.43 USDT
¥424,631.49
+2.19%
Filecoin
5.7204 USDT
¥41.41
+5.73%
Solana
136.65 USDT
¥989.25
+11.34%
字节元
0.015491 USDT
¥0.11
+10.06%
Arweave
32.1264 USDT
¥232.57
+20.64%
狗狗币
0.1309 USDT
¥0.95
+6.51%
Conflux
0.2198 USDT
¥1.59
+5.22%
以太经典
25.5348 USDT
¥184.85
+3.67%
Yield Guild Games
0.7589 USDT
¥5.49
+5.81%
币安币
560.44 USDT
¥4,057.19
+1.9%
Shiba Inu
2.27E-5 USDT
¥0.00
+7.58%
柚子
0.793 USDT
¥5.74
+5.69%
最新快讯
更多
YGG:截至4月1日财库持有资产规模约6700万美元
2024-05-02 22:32:16
彭博ETF分析师:曾以为香港虚拟资产ETF需两年可触10亿美元,但首日就达2.92亿美元
2024-05-02 22:20:00
链上数据分析平台Arkham宣布集成TON
2024-05-02 22:19:36
彭博ETF分析师:需要重新调整对香港虚拟资产ETF市场的看法
2024-05-02 22:18:04
彭博ETF分析师:曾预测香港虚拟资产ETF市场需两年才能达到10亿美元,但首日就触及2.92亿美元
2024-05-02 22:18:04
Arkham整合开放网络(TON)以增强Telegram访问
2024-05-02 22:12:36
Ultiverse金芯片NFT公布中奖结果,地板价涨超100%至0.5ETH
2024-05-02 22:12:23
下载币界网APP