
Starknet 春季 DeFi 激励计划
原文:Starknet Foundation Introduces: The Start of DeFi Spring 翻译及校对:「Starknet 中文社区」 📑 转载请注明出处 🕹️精选速览「Starknet 春季 DeFi 激励计划」4000 万 STRK 奖励用户3 月 7 日开始领取激励生态任务获得专属 NFT引言2023 年 11 月 9 日,Starknet 基金会宣布 Starknet DeFi 委员会成立及其成员任命,该委员会的任务是促进 Starknet DeFi 增长。 经过两个月的内部和外部研究后,Starknet 基金会非常兴奋地宣布推出为实现这些目标而量身定做的计划。 Starknet 基金会与 OpenBlock Labs 的合作,推出「Starknet 春季 DeFi 激励计划」。本为期六到八个月的项目,在此期间将向参与 Starknet 上 DeFi 协议的参与者分发 4000 万 STRK。 这是 DeFi 委员会扩大 Starknet DeFi 规模系列举措的第一步。第一部分:STRK 分发DeFi 委员会计划在接下来的六到八个月内,D...

Starknet 中文社区 2023 年终汇总
🎀 概述关注回顾 Starknet 在 2023 年的里程碑事件以及「Starknet 中文社区」的丰硕成果。 在网络生态中,Starknet 实现了一系列重要版本和重要事件更新,不仅在技术上取得了显著进展,而且扩展了众多核心开源技术栈。在生态系统中,推进发展 Starknet 优秀项目,在 TVL 和用户量等数据方面实现了可观增长。 「Starknet 中文社区」在过去一年中同样达成令人瞩目的进步,输入内容包括博客翻译、原创文章和视频、组织各类活动、合作 Cairo 训练营等各类活动,这些重要内容显示出社区成员的积极贡献和创造力,以及中文社区的独特魅力,为中国用户提供更多全面了解 Starknet 区块链的方式。 StarkWare 和 Starknet 团队和生态合作伙伴的共同努力实现 Cairo 1.0 成功升级,而 Cairo 开发者数量在过去一年中取得了巨大增长,这一成就让更多区块链开发者看到了 Starknet 背后团队的技术实力,也从侧面反映出 Starknet 生态系统中合作伙伴的紧密协作。 总而言之,Starknet 和「Starknet 中文社区」在生态、技...

聚沙成塔:StarkWare 年度回顾
原文:From Milestones to Masterstrokes: StarkWare’s Year in Review 翻译及校对:「Starknet 中文社区」 📑 转载请注明出处 🕹️不论是现在还是将来,STARK 技术都被视为助力去中心化应用(dApps)在以太坊上实现扩展和繁荣的秘密武器。概要:Starknet 为复杂、高计算要求、创新型的 DeFi 平台、链上游戏、动态 NFT 等应用奠定了基础。Starknet 在所有 L2(以及一些 L1)中,持续拥有增长最快的开发者生态系统。StarkWare 在 2023 年开源了 Stone 证明器、Starknet 排序器和 Papyrus 全节点等关键元素。继续阅读,了解我们的亮点以及 2023 年 Starknet 生态系统的整体进展。去中心化和社区STARK 技术:达到新高度在以太坊上的创新开源时刻:为协议设定新标准Starknet 应用链社区参与和活动去中心化与社区扩展Starknet 上的游戏热潮由于 L1 在规模、用户体验和高成本等方面的限制,创建成功的链上游戏几乎是不可能实现的事情。但随着有效性 R...
「Starknet 中文」社区致力于 Starknet 在中文世界发展,提供最全生态资讯。

Starknet 春季 DeFi 激励计划
原文:Starknet Foundation Introduces: The Start of DeFi Spring 翻译及校对:「Starknet 中文社区」 📑 转载请注明出处 🕹️精选速览「Starknet 春季 DeFi 激励计划」4000 万 STRK 奖励用户3 月 7 日开始领取激励生态任务获得专属 NFT引言2023 年 11 月 9 日,Starknet 基金会宣布 Starknet DeFi 委员会成立及其成员任命,该委员会的任务是促进 Starknet DeFi 增长。 经过两个月的内部和外部研究后,Starknet 基金会非常兴奋地宣布推出为实现这些目标而量身定做的计划。 Starknet 基金会与 OpenBlock Labs 的合作,推出「Starknet 春季 DeFi 激励计划」。本为期六到八个月的项目,在此期间将向参与 Starknet 上 DeFi 协议的参与者分发 4000 万 STRK。 这是 DeFi 委员会扩大 Starknet DeFi 规模系列举措的第一步。第一部分:STRK 分发DeFi 委员会计划在接下来的六到八个月内,D...

Starknet 中文社区 2023 年终汇总
🎀 概述关注回顾 Starknet 在 2023 年的里程碑事件以及「Starknet 中文社区」的丰硕成果。 在网络生态中,Starknet 实现了一系列重要版本和重要事件更新,不仅在技术上取得了显著进展,而且扩展了众多核心开源技术栈。在生态系统中,推进发展 Starknet 优秀项目,在 TVL 和用户量等数据方面实现了可观增长。 「Starknet 中文社区」在过去一年中同样达成令人瞩目的进步,输入内容包括博客翻译、原创文章和视频、组织各类活动、合作 Cairo 训练营等各类活动,这些重要内容显示出社区成员的积极贡献和创造力,以及中文社区的独特魅力,为中国用户提供更多全面了解 Starknet 区块链的方式。 StarkWare 和 Starknet 团队和生态合作伙伴的共同努力实现 Cairo 1.0 成功升级,而 Cairo 开发者数量在过去一年中取得了巨大增长,这一成就让更多区块链开发者看到了 Starknet 背后团队的技术实力,也从侧面反映出 Starknet 生态系统中合作伙伴的紧密协作。 总而言之,Starknet 和「Starknet 中文社区」在生态、技...

聚沙成塔:StarkWare 年度回顾
原文:From Milestones to Masterstrokes: StarkWare’s Year in Review 翻译及校对:「Starknet 中文社区」 📑 转载请注明出处 🕹️不论是现在还是将来,STARK 技术都被视为助力去中心化应用(dApps)在以太坊上实现扩展和繁荣的秘密武器。概要:Starknet 为复杂、高计算要求、创新型的 DeFi 平台、链上游戏、动态 NFT 等应用奠定了基础。Starknet 在所有 L2(以及一些 L1)中,持续拥有增长最快的开发者生态系统。StarkWare 在 2023 年开源了 Stone 证明器、Starknet 排序器和 Papyrus 全节点等关键元素。继续阅读,了解我们的亮点以及 2023 年 Starknet 生态系统的整体进展。去中心化和社区STARK 技术:达到新高度在以太坊上的创新开源时刻:为协议设定新标准Starknet 应用链社区参与和活动去中心化与社区扩展Starknet 上的游戏热潮由于 L1 在规模、用户体验和高成本等方面的限制,创建成功的链上游戏几乎是不可能实现的事情。但随着有效性 R...
「Starknet 中文」社区致力于 Starknet 在中文世界发展,提供最全生态资讯。

Subscribe to Starknet 中文

Subscribe to Starknet 中文
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


作者:Darington Nnam 原文:Journey through Cairo I - Setting up Protostar and ArgentX for local development翻译:Louis Wang 校对:StarkNet 中文社区
在过去的几个月里,我一直在关注以太坊的众多扩展方案,最近我对 Starknet 产生了浓厚的兴趣,这是 Starkware 团队创建的 Layer2 扩展解决方案。
虽然围绕扩容以太坊的竞争主要集中在 EVM 的兼容性上,以支持以太坊已经蓬勃发展的生态系统,但 Starkware 采取了一个相当大胆的举动,创建了一个全新的虚拟机,用自己的语言 Cairo 来编写智能合约。
这样做有很多优点,因为他们从根本上获得了 zk 的兼容性,但也带来了很多挑战,主要是围绕开发者的开发。在一个全新的生态系统中起步需要很多东西,从学习新的语言到适应相对较新的开发工具,这对大多数 Solidity 的开发者来说,是要花时间、担风险。
我最近决定为 Starknet 开发探索 Cairo,在接下来的几个月里,我将记录我的 Cairo 之旅,以帮助其他想在这个领域起步的人。

Starknet 生态系统中最流行的说法之一是 「CAIRO 太难」,说实话他们可能没说错,因为在过去的几周里,我花了很多时间阅读官方文档,毫不夸张地说,Cairo 是我迄今为止遇到的最难的编程语言。但是,注意在写这篇文章的时候,Cairo 本身是比较新的,根据 Cairo 的联合创始人说,这门语言最初是为内部使用而创建的,最初并没有打算让它公开。目前 Cairo 有很多工作要做,主要是针对更好的开发体验,所以肯定会慢慢变好的。
Cairo 是第一种用于编写通用计算的可证明程序的图灵完备语言。
在接下来的文章中,我们将深入研究 Cairo 的一些基本原理,并动手在 Starknet 上编写智能合约,但今天,让我们专注于建立本地的开发环境,并部署我们的第一个合约!
有很多的框架可用于本地 Cairo 开发,其中有 Software Mansion 团队开发的 Protostar, Openzeppelin 团队开发的 Nile,以及 Hardhat。
我试着配置了 Protostar 和 Nile,觉得 Protostar 更容易配置和使用,但目前没有对 Windows 的支持,所以 Windows 用户可能要考虑设置 Windows Subsystem for Linu (WSL) 或尝试 Nile 框架。
要设置 Windows Subsystem for Linux,请看这里的教程。
要开始使用 Protostar,先在 $PATH 中添加一个 git 可执行文件(2.28 及之后的版本)。
1. 运行以下指令:
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
2. 重启终端
3. 执行 protostar-v 来确认安装成功。正确安装后应该看到:

1. Protostar 和 Truffle 类似,安装一次后多个项目都可以使用,初始化一个新项目:
protostar init
2. 要求提供项目的名称和库的目录名称


从上图可以看到,一个初始化的新 Protostar 项目,会创建一个包含 3 个新文件夹和一个 protostar.toml 文件。
lib 文件夹 —— 是包含所有项目依赖性的文件夹。
src 文件夹 —— 是包含你的合同源代码的文件夹。
test 文件夹 —— 是包含你的测试文件所需的文件夹。
protostar.toml 是命令配置的文件。根据官方文档,它可以用来避免每次运行命令时传递参数。Protostar 在 ["protostar.COMMAND_NAME"] 部分会自动搜索参数值,比如:
#...
["protostar.build"]
cairo-path = ["./lib/cairo_contracts/src"]
在 src 文件夹中,我们已经有一个默认创建的模板合约 basic.cairo,我们将在本教程中部署,但为了与部署的合约交互,我们需要一个钱包,比如 ArgentX。
%lang starknet
from starkware.cairo.common.math import assert_nn
from starkware.cairo.common.cairo_builtins import HashBuiltin
@storage_var
func balance() -> (res : felt):
end
@external
func increase_balance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( amount : felt):
with_attr error_message("Amount must be positive. Got: {amount}."):
assert_nn(amount)
end let (res) = balance.read()
balance.write(res + amount)
return ()
end
@view
func get_balance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}() -> ( res : felt):
let (res) = balance.read()
return (res)
end
@constructor
func constructor{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}(): balance.write(0)
return ()
end
在写这篇文章的时候,Metamask,也就是 EVM 开发中最常用的钱包还不支持 Starknet(即将支持),但是我们有另外两个钱包 ArgentX 和 Braavos,可以用来与原生 Starknet 合约进行交互。在今天的教程中,我们将介绍 ArgentX 的设置。
与基于 EVM 的链相比,Starknet 的突破之一是实现了账户抽象,这在很大程度上是指从链的核心协议中抽象出账户的概念和相关机制。因此我们希望在与账户如何验证和运行有关的方面具备灵活性和可扩展性。
简单地说,在 Starknet 上没有外部拥有的账户 (EOA),但每个账户都是一个内置可多调用的智能合约。
在 Chrome 上访问 Chrome 扩展市场,其他浏览器查看其扩展市场。将该扩展添加到你的 Chrome 浏览器。按照说明,创建一个新密码,然后创建一个新账户。
你会注意到与其他钱包如 Metamask 实施外部拥有的账户模式不同,在 ArgentX 上创建一个新的账户或钱包需要部署一个新的合同。这就是账户抽象,如我们前面所说,每个账户都是一个智能合约。

一旦安装好 ArgentX,就可以开始部署我们的第一个 Starknet 合约了。
我们将要部署之前那个 basic.cairo 合约:
1. 先要创建环境,执行:

2. 执行 Protostar 的部署命令,部署到测试网:
protostar deploy ./build/main.json --network alpha-goerli
deploy 命令是 protostar 的一个内置命令。
./build/main.json 指定了我们编译文件的路径。
--network 变量用于指定我们要部署到的网络。
有关 protostar 部署命令的更多信息,请查看文档。
部署后,在屏幕上输出我们的合约地址和交易哈希,但是我们如何查看这个合约并与之交互呢?

与以太坊上的 Etherscan 类似,Voyager 是 StarkNet 的区块浏览器。它由 Nethermind 的内部团队开发,为任何人提供了一个与他们的 Starknet 合约进行交互的窗口。Starknet 的部署可能需要一段时间,所以如果在 Voyager 上查询合约时收到一条错误消息,“抱歉,我们无法找到此合约。”也无需担心。

由于我们部署到 Goerli 测试网,我们需要从主网切换到 Goerli,位于 Voyager 的右上角。
等待一段时间后,我们现在可以在这里看到我们的合同反映在 Voyager 上。

我们也可以从 Voyager 读取和写入合约,但我们需要一些测试 ETH 来支付 gas,你可以从 Starknet 的水龙头获得。
恭喜你成功地将你的第一个合约部署到 Starknet!
不知道你是否注意到,与我们部署到以太坊和其他基于 EVM 的链时不同,我们并不特别需要签名者对象来支付合约部署的 gas 费?因为我们并没有特意从我们的 Argent 钱包部署我们的合约(由默认钱包部署),而且由于 Starknet 仍处于 Alpha 阶段,因此对于合约部署而言,gas 费并不是特别强制性的,但这肯定会在未来改变。
作者:Darington Nnam 原文:Journey through Cairo I - Setting up Protostar and ArgentX for local development翻译:Louis Wang 校对:StarkNet 中文社区
在过去的几个月里,我一直在关注以太坊的众多扩展方案,最近我对 Starknet 产生了浓厚的兴趣,这是 Starkware 团队创建的 Layer2 扩展解决方案。
虽然围绕扩容以太坊的竞争主要集中在 EVM 的兼容性上,以支持以太坊已经蓬勃发展的生态系统,但 Starkware 采取了一个相当大胆的举动,创建了一个全新的虚拟机,用自己的语言 Cairo 来编写智能合约。
这样做有很多优点,因为他们从根本上获得了 zk 的兼容性,但也带来了很多挑战,主要是围绕开发者的开发。在一个全新的生态系统中起步需要很多东西,从学习新的语言到适应相对较新的开发工具,这对大多数 Solidity 的开发者来说,是要花时间、担风险。
我最近决定为 Starknet 开发探索 Cairo,在接下来的几个月里,我将记录我的 Cairo 之旅,以帮助其他想在这个领域起步的人。

Starknet 生态系统中最流行的说法之一是 「CAIRO 太难」,说实话他们可能没说错,因为在过去的几周里,我花了很多时间阅读官方文档,毫不夸张地说,Cairo 是我迄今为止遇到的最难的编程语言。但是,注意在写这篇文章的时候,Cairo 本身是比较新的,根据 Cairo 的联合创始人说,这门语言最初是为内部使用而创建的,最初并没有打算让它公开。目前 Cairo 有很多工作要做,主要是针对更好的开发体验,所以肯定会慢慢变好的。
Cairo 是第一种用于编写通用计算的可证明程序的图灵完备语言。
在接下来的文章中,我们将深入研究 Cairo 的一些基本原理,并动手在 Starknet 上编写智能合约,但今天,让我们专注于建立本地的开发环境,并部署我们的第一个合约!
有很多的框架可用于本地 Cairo 开发,其中有 Software Mansion 团队开发的 Protostar, Openzeppelin 团队开发的 Nile,以及 Hardhat。
我试着配置了 Protostar 和 Nile,觉得 Protostar 更容易配置和使用,但目前没有对 Windows 的支持,所以 Windows 用户可能要考虑设置 Windows Subsystem for Linu (WSL) 或尝试 Nile 框架。
要设置 Windows Subsystem for Linux,请看这里的教程。
要开始使用 Protostar,先在 $PATH 中添加一个 git 可执行文件(2.28 及之后的版本)。
1. 运行以下指令:
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
2. 重启终端
3. 执行 protostar-v 来确认安装成功。正确安装后应该看到:

1. Protostar 和 Truffle 类似,安装一次后多个项目都可以使用,初始化一个新项目:
protostar init
2. 要求提供项目的名称和库的目录名称


从上图可以看到,一个初始化的新 Protostar 项目,会创建一个包含 3 个新文件夹和一个 protostar.toml 文件。
lib 文件夹 —— 是包含所有项目依赖性的文件夹。
src 文件夹 —— 是包含你的合同源代码的文件夹。
test 文件夹 —— 是包含你的测试文件所需的文件夹。
protostar.toml 是命令配置的文件。根据官方文档,它可以用来避免每次运行命令时传递参数。Protostar 在 ["protostar.COMMAND_NAME"] 部分会自动搜索参数值,比如:
#...
["protostar.build"]
cairo-path = ["./lib/cairo_contracts/src"]
在 src 文件夹中,我们已经有一个默认创建的模板合约 basic.cairo,我们将在本教程中部署,但为了与部署的合约交互,我们需要一个钱包,比如 ArgentX。
%lang starknet
from starkware.cairo.common.math import assert_nn
from starkware.cairo.common.cairo_builtins import HashBuiltin
@storage_var
func balance() -> (res : felt):
end
@external
func increase_balance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( amount : felt):
with_attr error_message("Amount must be positive. Got: {amount}."):
assert_nn(amount)
end let (res) = balance.read()
balance.write(res + amount)
return ()
end
@view
func get_balance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}() -> ( res : felt):
let (res) = balance.read()
return (res)
end
@constructor
func constructor{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}(): balance.write(0)
return ()
end
在写这篇文章的时候,Metamask,也就是 EVM 开发中最常用的钱包还不支持 Starknet(即将支持),但是我们有另外两个钱包 ArgentX 和 Braavos,可以用来与原生 Starknet 合约进行交互。在今天的教程中,我们将介绍 ArgentX 的设置。
与基于 EVM 的链相比,Starknet 的突破之一是实现了账户抽象,这在很大程度上是指从链的核心协议中抽象出账户的概念和相关机制。因此我们希望在与账户如何验证和运行有关的方面具备灵活性和可扩展性。
简单地说,在 Starknet 上没有外部拥有的账户 (EOA),但每个账户都是一个内置可多调用的智能合约。
在 Chrome 上访问 Chrome 扩展市场,其他浏览器查看其扩展市场。将该扩展添加到你的 Chrome 浏览器。按照说明,创建一个新密码,然后创建一个新账户。
你会注意到与其他钱包如 Metamask 实施外部拥有的账户模式不同,在 ArgentX 上创建一个新的账户或钱包需要部署一个新的合同。这就是账户抽象,如我们前面所说,每个账户都是一个智能合约。

一旦安装好 ArgentX,就可以开始部署我们的第一个 Starknet 合约了。
我们将要部署之前那个 basic.cairo 合约:
1. 先要创建环境,执行:

2. 执行 Protostar 的部署命令,部署到测试网:
protostar deploy ./build/main.json --network alpha-goerli
deploy 命令是 protostar 的一个内置命令。
./build/main.json 指定了我们编译文件的路径。
--network 变量用于指定我们要部署到的网络。
有关 protostar 部署命令的更多信息,请查看文档。
部署后,在屏幕上输出我们的合约地址和交易哈希,但是我们如何查看这个合约并与之交互呢?

与以太坊上的 Etherscan 类似,Voyager 是 StarkNet 的区块浏览器。它由 Nethermind 的内部团队开发,为任何人提供了一个与他们的 Starknet 合约进行交互的窗口。Starknet 的部署可能需要一段时间,所以如果在 Voyager 上查询合约时收到一条错误消息,“抱歉,我们无法找到此合约。”也无需担心。

由于我们部署到 Goerli 测试网,我们需要从主网切换到 Goerli,位于 Voyager 的右上角。
等待一段时间后,我们现在可以在这里看到我们的合同反映在 Voyager 上。

我们也可以从 Voyager 读取和写入合约,但我们需要一些测试 ETH 来支付 gas,你可以从 Starknet 的水龙头获得。
恭喜你成功地将你的第一个合约部署到 Starknet!
不知道你是否注意到,与我们部署到以太坊和其他基于 EVM 的链时不同,我们并不特别需要签名者对象来支付合约部署的 gas 费?因为我们并没有特意从我们的 Argent 钱包部署我们的合约(由默认钱包部署),而且由于 Starknet 仍处于 Alpha 阶段,因此对于合约部署而言,gas 费并不是特别强制性的,但这肯定会在未来改变。
No activity yet