当前位置:   article > 正文

在Starknet测试网上部署合约(2)-部署合约_scarb build命令

scarb build命令

(1)创建 Scrab project

mkdir stk1

cd stk1

scarb init

创建后的工程目录如下:

(2)修改Scarb.toml

[package]
name = "stk1"
version = "0.1.0"

[dependencies]
starknet = "=2.3.1"

[[target.starknet-contract]]

如下:

(3)编辑合约源码文件 lib.cairo

此代码是使用snforge init projectname 时自动生成的代码,snforge init与scarb init 作用相同,可参见Introduction - The Starknet Foundry Book

(3)执行编译

编译的命令为:scarb build

清除命令为:scarb clean

编译之后会生成target目录:

如果有编写单元测试用例,可以执行scarb test,此处省略。

(4)声明合约

使用starkli declare执行,命令如下:

starkli declare target/dev/stk1_HelloStarknet.contract_class.json --account ../account/account_test1.json --keystore ../account/keystore_test1.json --rpc https://starknet-goerli.infura.io/v3/7efae806fda24a77b225da56a27eaba3

其中的account、keystore是上一步生成的,参考《在Starknet测试网上部署合约(1)-创建账户》

(5)部署合约

使用starkli deploy执行,命令如下:

starkli deploy 0x0313ebd88341d41185e0eead714223bd26f76fdc9fdfda58fad91e24e7dac31e --account ../account/account_test1.json --keystore ../account/keystore_test1.json --rpc https://starknet-goerli.infura.io/v3/7efae806fda24a77b225da56a27eaba3

其中:0x0313ebd88341d41185e0eead714223bd26f76fdc9fdfda58fad91e24e7dac31e是上一步declare时Class hash declared:输出的hash。

(6)检测

可以在https://testnet.starkscan.co/网站上查询刚刚部署的合约

上一步 The contract will be deployed at address 后面接的就是合约地址,使用该地址即可在网站上查询到。

参考:Starkli 101 - Starkli Book

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/917406
推荐阅读
相关标签
  

闽ICP备14008679号