⚡️ #StarkNetDev 🤖

#StarkNet 上使用 MetaMask?🦊 🐺

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

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

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

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

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

而在 StarkNet 中实现这一点,它有不同的签名、哈希算法、交易等等
所以 @KakarotZKEVM 的想法是在 StarkNet 上创建一个帐户抽象,代表一个以太坊帐户

这个帐户将负责验证它所收到的交易是有效的以太坊交易,并由帐户所有者签署
你可能会想问,应该如何在 StarkNet 上部署一个只与 EVM 交互的帐户抽象合约呢?

答案是,可以做到

为解释其中原理,我们需要了解合约在 StarkNet 上是如何计算的
也许你认为它们是随机的,但并不是这样

实际上是可以预测的

下列为简要示例,阅读完整文档 ⬇️
docs.starknet.io/documentation/…
合约地址是固定长度,为什么?

因为它是以下数据的哈希值(Pedersen hash)

一个随机数、合约代码的哈希值,以及调用数据的哈希值(合约部署时的参数)
如果我们知道随机数、合约代码和调用数据,就可以预测出合约地址

而随机数总是相同的,代码是帐户抽象合约,调用数据是 ETH 地址未来的帐户所有者
如果部署帐户时唯一改变的数据是以太坊地址,这意味着我们可以预测特定以太坊地址的 StarkNet 帐户抽象地址

为什么这很重要?
1. 不需要在链上存储所有的地址
2. 帐户可以由任何人部署
「帐户可以由任何人部署」难道不是安全隐患吗?

乍一看可能是的,但如果合约只验证帐户所有者(构造函数中的 eth 地址)签署的交易,而不一定是部署者的合约
这没什么问题,甚至是一种优势

还记得你可以选择部署帐户吗?如果任何人都可以部署,那么你可以自己做、可以让朋友或社区做,甚至从一个网站上做,而无需离开你的 Metamask 钱包
所以,你也可以成为 @VitalikButerin(vitalik.eth)地址的部署者 😆

整个流程如下:设法在 StarkNet 上获得一个与你的以太坊地址相关的帐户,并提供资金来支付 gas(也可以请别人支付)

⚠️ Kakarot 没有原生费用,gas 是在 StarkNet 层面管理的
感谢你的阅读,希望你能学到一些东西

下一篇将解释 Metamask 如何与 StarkNet 通讯(提示:用互联网)

• • •

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 🤖

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

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

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

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

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

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

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

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

h/t: @avimak

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

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

恭喜!你生成了一个 #StarkNet 付款请求!
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)
Read 4 tweets
Jan 14
⚡️ #StarkNetDev 🤖

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

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

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

下面示例 ⬇️
正确的做法 Image
需要避免的情况 Image
Read 4 tweets
Jan 14
⚡️ #StarkNetDev 🤖

数组 vs. 哈希映射

@ClassLambda 今天为大家解释数组与哈希映射在结构和用途上的区别

🧵 👇 Image
数组和哈希映射之间有什么区别?

如果需要对数组中的所有元素进行同样的操作,那么数组在访问特定位置的元素时速度更快

而哈希映射在查找给定键值的速度更快
数组和哈希映射都是用于存储和检索数据的数据结构。然而,它们在几个方面有所不同

▪️ 索引
▪️ 搜索时间
▪️ 插入和删除
▪️ 大小
▪️ 排序 ImageImage
Read 8 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!

:(