Protostar、Argent X 和 Starkscan 的终极开发环境

人们普遍认为,更好的开发工具可以提高开发人员的生产力,但艰巨的任务在于找到完美的开发环境。
如果您是第一次尝试使用 Cairo 和 StarkNet,您可能正在寻找这个完美的工具来让您的开发之旅更加顺畅。
这就是我们写这篇文章的原因!
我们将帮助您找到并设置在 StarkNet 中构建所需的一切。
Cairo?- 那是什么?
如果您是第一次接触 StarkNet/Cairo,则无需感到迷茫。我们将解释您开始时需要知道的一切。
StarkNet是一种称为 ZK rollup 的以太坊第 2 层扩展解决方案。ZK 汇总,如 StarkNet,使去中心化应用程序能够实现无限的计算规模——而不会损害以太坊的去中心化和安全性,从而解决了可扩展性难题。
Cairo 是 StarkNet 的母语,也是第一个图灵完备的语言,用于编写可证明的程序脚本(一方可以向另一方证明某个计算已正确执行) 以进行一般计算。
什么是开发环境?
开发环境是一个具有一组流程和编程工具的工作区,可帮助开发人员高效地构建、测试和调试应用程序或程序。
类似于我们在以太坊上有大量的开发选项(Truffle、Foundry、Hardhat 等),我们也有很多在 StarkNet 上开发 Cairo 的选项。其中包括 Protostar(由 Software Mansion 团队开发)、StarkNet CLI(官方开发框架)、Nile(来自 OpenZeppelin 团队)和 Hardhat(由 ShardLabs 开发的插件)。
但在今天的教程中,我们将主要使用 Protostar,同时使用 Argent X 进行钱包交互,使用 Starkscan 进行网络冲浪。
什么是原星?
Protostar 是一个开发环境/工具链,用于在 StarkNet 上开发和测试 Cairo 合约。
我们发现 Protostar 在所有开发框架中的设置和使用要容易得多。只有一个警告。Protostar 目前不支持 Windows,因此 Windows 用户可能需要考虑设置适用于 Linux 的 Windows 子系统 (WSL)才能使用 Protostar 或尝试前面提到的其他选项。
要开始使用 Protostar,您应该在 $PATH 中指定一个git可执行文件 (>= 2.28)。
安装原星
在 Windows 和 Linux 上安装:
1. 运行以下命令:
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | 狂欢
2.重启终端
3. 运行 protostar -v 以确认安装。如果安装正确,你应该看到你的 protostar 和 Cairo-lang 版本如下:
初始化一个新项目
Protostar,类似于用于solidity开发的Truffle,可以一次安装,用于多个项目。
初始化一个新的 Protostar 项目:
1. 运行以下命令:
原星初始化
2. 然后它会请求项目名称和库的目录名称。您需要填写此内容才能成功初始化您的项目。
项目结构
从上图可以看出,初始化一个新的 Protostar 项目会创建一个包含 3 个新文件夹和一个 protostar.toml 文件的文件夹。
- lib 文件夹 — 是包含所有项目依赖项所需的文件夹
- src 文件夹 — 是包含合约源代码所需的文件夹
- 测试文件夹 – 是包含测试文件所需的文件夹
protostar.toml
是包含您的命令配置的文件。根据官方文档,它可以用来避免每次运行命令时都传递参数。Protostar 在节中搜索参数值["protostar.COMMAND_NAME"]
,例如:
# ...["protostar.build"] 开罗路径 = ["./lib/cairo_contracts/src"]
成功设置 Protostar 后,我们现在可以轻松编写、编译合约并将其部署到 StarkNet,但是等一下……我们需要一个钱包才能有效地与这些已部署的合约进行交互,对吧?这就是 Argent X 的用武之地!
Argent X,StarkNet 开发者的钱包
Argent X 是StarkNet 上最受欢迎和唯一的开源钱包。
Argent X 作为跨不同浏览器网络商店的浏览器扩展程序提供,可帮助您创建、管理帐户并将帐户连接到构建在 StarkNet 上的去中心化应用程序。
安装 Argent X 类似于加密货币中的任何其他钱包。但是,如果创建新钱包是一个新过程,请查看我们关于如何创建 Argent X 钱包的指南。
设置好所有内容后,我们将部署 StarkNet 合约并与之交互。
使用 Protostar 部署合约
感谢像 Protostar 这样的开发框架,可以使用终端中的一些命令来部署 Cairo 合约。
对于本教程,我们将使用src/basic.cairo中的 Protostar 部署样板合同
0.10.3 升级到 StarkNet 网络后,部署合约需要先声明,然后调用Universal Deployer Contract将声明的哈希作为构造函数参数传入。
要继续部署,我们首先需要编译/构建合约:
原星建造
建筑工程合同
合约“基本”的类哈希:0x745f2d517414cc07d74fb162fca62492f11eb589189ab74c12c7a535ebac2ec 12:00:26 [信息] 执行时间:2.16 秒
然后我们将宣布合同:
protostar declare ./build/basic.json --network testnet --account-address 0x046c5877EE8d297107Bd8E507Fb97b8cAB4ECD6C83892AD92EA40100412b4976 --max-fee auto
最后,我们可以使用 Protostar 的部署命令进行部署:
protostar deploy [classhash] --network testnet --account-address 0x046c5877EE8d297107Bd8E507Fb97b8cAB4ECD6C83892AD92EA40100412b4976 --max-fee auto --inputs 10
部署后,我们会在屏幕上输出我们的合约地址和交易哈希,但我们如何查看该合约并与之交互?阻止探索者!
熟悉 Starkscan
类似于以太坊上的 Etherscan,Starkscan 是一个 StarkNet 区块浏览器,它 为任何人提供了一个与其 StarkNet 合约进行交互的窗口。
要在 StarkNet 上查找我们的合约并与之交互,我们只需复制输出的合约地址,然后前往testnet.starkscan.co搜索合约。
在网络上部署合约后,我们应该能够使用 Starkscan 上的 Argent X 钱包对其进行读/写调用。
写入 StarkNet 合约
写入合约会改变合约的状态,因此需要钱包来签署和支付交易。
要将你的 Argent X 钱包连接到 Starkscan,请按照以下简单步骤操作:
1. 首先,点击“编写合约”部分的“连接到钱包”按钮。
2.选择“银色X”
3. 最后点击“连接”确认
您应该能够对您的 StarkNet 合约进行写入调用。
阅读 StarkNet 合约
进行读取调用以查看函数。它们不会改变或修改合约存储,并且可以在没有钱包连接的情况下执行。例如,我们可以在不连接钱包的情况下轻松调用get_balance函数。
结论
达到这一点后,我们相信您现在已经设置了 StarkNet 开发环境,并且可以轻松地编译、声明、部署和与您的开罗合约交互。
如果您对此有任何疑问,请联系我@0xdarlington,我很乐意帮助您使用 Argent X 在 StarkNet 上进行构建。
如需更多开发人员资源,请关注我们的社交网站:
推特—— @argentHq
工程 Twitter — @argentDeveloper
领英—— @argentHq
Youtube—— @argentHQ
英文原文链接:https://www.argent.xyz/blog/setting-up-a-cairo-development-environment/