# 如何在 StarkNet 网络上部署智能合约 **Published by:** [Waxifa](https://paragraph.com/@waxifa/) **Published on:** 2023-04-28 **URL:** https://paragraph.com/@waxifa/starknet ## Content 关注@Waxifa, 带你撸空投SubscribeStarkWare是一个 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、如何连接到 VPSMacOs:如果你用的是这个操作系统,你只需要用自己的设备与 SSH 连接; Windows:如果你是Win,有很多工具可以用,比如putty 、MobaXterm、Xshell 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 > .env4、插入钱包地址接下来,在命令中输入你的钱包地址: 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并与合同交互,签署交易。 到了这里我们就已经部署了一个智能合约并与之交互,这是在主网中比较便宜的交互方式,不出什么意外,一样可以参与空投额度分配。 ## Publication Information - [Waxifa](https://paragraph.com/@waxifa/): Publication homepage - [All Posts](https://paragraph.com/@waxifa/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@waxifa): Subscribe to updates