⚡️ #StarkNetDev 🤖

🤫 我们来玩一玩 Cairo 1.0

Cairo: 用于有效编写 STARK 可验证程序的图灵完整编程语言

Cairo 1.0: 改进后的语言和编译器从头开始构建,更安全、更可用、更像 Rust
运行示例 Image
什么叫「更像 Rust」

函数返回值:
在 Rust 中,函数的返回值与函数主体块中的最终表达式的值同义 Image
类型系统:

Cairo 1.0 扩展了单一标量类型 `felt` 的静态类型系统,包括一些抽象的「类似 Rust」数据类型,如 Enums、Traits 和 literals。核心库包括对 u128 和 u256 的支持,以及本地范围检查和算术操作 Image
变量声明:

告别`local`和`tempvar`声明!现在完全依靠`let` 👏👏
现在也可以在同一范围内使用类似 Rust的变量镜像
尽管 Cairo 的底层内存是不可变的,但它对开发者来说是隐藏的 Image
数组:

Cairo 1.0 std 库提供了有用的数组工具,让数组的操作更加容易
也将支持循环和迭代机制 Image
借用检查:

在没有取得所有权的情况下,一个函数不能使用自有类型的值(如 dict 或 builtin)
好的,现在明白什么是「更像 Rust」了

那么有什么新东西吗?
Sierra:

安全中间表达式 (S)afe (I)nt(E)rmediate (R)ep(R)esent(A)tion

它是新的编译阶段,让 Cairo 1.0 代码可以被证明

这意味着撤回的交易现在可以被证明,且包括在一个区块中,并保护排序器免受不良交易的干扰
Cairo 0.x 编译
• Cairo -> CASM(Cairo Assembly)

Cairo 1.0 编译
• Cairo -> Sierra -> CASM Image
Cairo 1.0 目前仍处于开发阶段

github.com/starkware-libs…
如果您有什么想让 Cairo 实现的,请务必在这里告诉我们:

github.com/starkware-libs…
或是做出更棒的贡献!

感谢 @eniwhere_

查看 “ALT/Descriptions” 中的可复制文本

medium.com/nethermind-eth…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with StarkNet | 中文 (👩🏽‍🚀, 👨🏽‍🚀)

StarkNet | 中文 (👩🏽‍🚀, 👨🏽‍🚀) Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @StarkNet_ZH

Jan 16
👩🏽‍🚀 #StarkNetEco 👨🏽‍🚀

距离 StarkNet 发布已经过去了一年半,社区也在疯狂的成长 🚀

今天带来 StarkNet 一年半的重要事件整理总结(如有纰漏欢迎指正)

「StarkNet 中文」社区翻译整理 @GuthL 回顾 StarkNet 发展历史 🧵 👇
1/ StarkNet 于 2021 年 6 月 14 日开始 👇
medium.com/starkware/star…

同年七月,StarkWare 外部人员 @kobigurk 完成了首个合约的部署
kobi.one/2021/07/14/sta…
2/ 也就是说,StarkNet 第一个贡献者可以追溯到 2019 年首场 StarkWare 会议

@tkstanczak 来到特拉维夫与团队会面,并就 EIP-2028 提出建议

不久后他成为了 StarkEx DAC 成员,开始了 @nethermindeth 与 StarkWare 的深度合作
Read 23 tweets
Jan 16
⚡️ #StarkNetDev 🤖

#StarkNet 上使用 MetaMask?🦊 🐺

解释 @KakarotZkEvm 如何在 StarkNet 上运行时可以接收以太坊交易

系列推文 #1 🧵 ⬇️
帐户抽象

其背后的理念是帐户使用,而非由协议帐户使用行为

这可以通过引入帐户合约来实现,智能合约具有可编程的逻辑,决定用户的帐户
为什么要先说帐户抽象?

很简单,在以太坊上帐户是由一个控制该帐户的密钥对来代表的

而在 StarkNet 中实现这一点,它有不同的签名、哈希算法、交易等等
Read 14 tweets
Jan 16
⚡️ #StarkNetDev 🤖

@OnlyDust_xyz 在 StarkNet 小木屋度过了非常有成效的一周!

以下是黑客们正在做的事情 ⬇️
1⃣️ Garaga

@feltroidPrime 交出了答卷!
这里主要是硬核数学,可以总结为:从 100 个步骤到仅仅 27 步!

代码库
github.com/keep-starknet-… Image
2⃣️ Cairo Foundry

Bachir 很早就宣布了他的目标:用参数管理 hint

而他在短短一周内就取得了很多进展
• 3 位新加入的贡献者
• 架构反射
• Cairo 1.0 反射(将继续完善)
• 9 个提交和 2 个 PR Image
Read 7 tweets
Jan 16
⚡️ #StarkNetDev 🤖

@myBraavos 发布 starknet-url,用于生成 #StarkNet URI 的开源包

现在可以生成可操作的 URI,比如支付/转账请求、dApp 启动等等

h/t: @avimak

欢迎反馈和贡献 🎉 代码库 ⬇️
github.com/myBraavos/star…
付款请求示例

在接收人的 Braavos 钱包中点击「接收」
然后点击「编辑代币/金额」 ImageImage
选择代币以及数量,然后点击「更新」

恭喜!你生成了一个 #StarkNet 付款请求! ImageImage
Read 5 tweets
Jan 15
👩🏽‍🚀 StarkNet 👨🏽‍🚀一周概览 - 第四十二期

✅ 博客翻译《Papyrus:StarkNet 开源全节点》
@illuviumio: Zero Alpha 正式上线 @Immutable X
@matchbox_dao 「巨头之战」即将开赛
@influenceth 测试有奖第三阶段
✅ 线上线下活动进行中

👇 更多内容,欢迎订阅 👇 starknetzh.substack.com/p/starknet-42-…
👩🏽‍🚀 《StarkNet 中文周报》汇聚 #StarkNet 生态最全资讯,还关注以太坊和加密社区深度内容

本周分享:
🌟 Introducing 0xMonaco: The battle of Titans by @matchbox_dao
🌟 How Proof of Stake Ethereum by @stonecoldpat0
🌟 《以太坊当前的开发重心》 | @EthereumCN
Featured Art by Fred Calleri

(The featured art is for non-commercial purpose. It is used to promote and support artist in crypto community) Image
Read 4 tweets
Jan 14
⚡️ #StarkNetDev 🤖

@eniwhere_#StarkNet 开发者准备的 Cairo 小技巧#2

将`new`返回的指针存储在一个临时变量中

不要使用 local,也不要在结构声明中使用`new`

下面示例 ⬇️
正确的做法 Image
需要避免的情况 Image
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(