Waxifa

发布于 2023-04-28到 Mirror 阅读

如何在 StarkNet 网络上部署智能合约

 关注@Waxifa, 带你撸空投

subscribe://

StarkWare是一个 ZK-Rollup 区块链扩展解决方案。

投资者: Coinbase Ventures、Paradigm、Sequoia、Polychain、Alameda Resaerch、Intel,甚至 Vitaly Buterin 本人。

其中一个产品,StarkNet 是以太坊上的 Layer2 解决方案。

项目复拿出12% 的额度分配给:StarkNet 协议的开发、测试、部署和支持的研究和工作……

因此今天就来部署智能合约。

 

一、部署智能合约前需要准备的

1、服务器租用

可以在Contabo或任何其他平台上租用;

智能合约部署的最低规格:

CPU:1

RAM:1GB

SSD: 15 GB

购买时请选择Ubuntu系统;

2、SSH工具

SSH工具:小白用户建议使用Xshell或者Finalshell.

3、教程里面提到要导入私钥,请使用argertx钱包

这是粉丝在评论区里面的留言,很有用:

 

4、如何连接到 VPS

MacOs:如果你用的是这个操作系统,你只需要用自己的设备与 SSH 连接;

Windows:如果你是Win,有很多工具可以用,比如putty 、MobaXtermXshell

1、下载一个应用(本教程以putty为例,小白用户建议使用Xshell或Finalshell)

2、复制云服务器IP链接

 

3、点击“接受”,输入云服务器的用户名和密码

注意:要粘贴你已经复制的任何命令,只需右键单击要粘贴命令即可

 

 

4、再次输入密码,并输入新密码。

 

以上就是云服务器+SSH组合的步骤,下文所有步骤都在SSH工具中进行(小白用户建议使用Xshell或Finalshell)

二、安装智能合约具体步骤

本文所有代码都来自官方文档,**所有步骤都在主网上操作,所以请提前准备好钱包私钥,并宝藏钱包里面有一定的Gas费,**估计交易成本约为 2-5 美元。

1、安装protostar:

curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash

source /root/.bashrc

protostar init

在最后一个命令之后,**将出现项目目录名称行,**可以写下任何名称,比如: StarkD。

2、进入目录

cd <刚写的名字>

3、创建一个文件夹

使用以下命令创建一个文件:

protostar build

使用你的密钥创建一个文件

echo <从钱包插入私钥> > .env

比如:

echo 1780577367856757586576879655423757134249303378563877454818592 > .env

4、插入钱包地址

接下来,在命令中输入你的钱包地址:

protostar declare ./build/ main .json  --account-address <你的钱包地址> --max-fee auto --private-key-path ./ .env  --network mainnet

如果报错,可能是空格太多,请用粉丝修改的这一段试试:

protostar declare ./build/main.json - account-address <钱包地址> - max-fee auto - private-key-path ./.env - network mainnet

比如:

protostar declare ./build/main.json — account-address 0x0404CF507CFd1291baD33e86FB71b88f82c7002229963310955FD4625ECb8C68 — max-fee auto — private-key-path ./.env — network mainnet

如果一切都正确完成,将出现:

 

复制Transaction Hash并将其粘贴到StarkScan中,等待交易变为Accepted on L2 状态。

 

5、部署智能合约

接下来,部署智能合约。 在命令中输入交易哈希(我们从交易中获取的)并再次指向钱包的地址。

protostar deploy --account-address <你的钱包地址> --max-fee auto --private-key-path ./ .env  --network mainnet

比如:

protostar deploy 0x523be5e7088bf4226d4fdb28c6a19d4d3b93118f7263849a6d8912bf503d672 — account-address 0x0404CF507CFd1291baD33e86FB71b88f82c7002229963310955FD4625ECb8C68 — max-fee auto — private-key-path ./.env — network mainnet

输完上面一段后,如果一切顺利会出现一个交易结果,复制Contract address并粘贴到**StarkScan**中。

合约不会立即出现,大约要等 5 分钟或更长时间。合约出现后,我们可以发送一点ETH 到合约地址。

现在,在合约在部署交易得到验证之后,会出现这样的界面:

 

转到Read / Write Contract项,连接钱包,点击Write并与合同交互,签署交易。

 

到了这里我们就已经部署了一个智能合约并与之交互,这是在主网中比较便宜的交互方式,不出什么意外,一样可以参与空投额度分配。

 

collect://