如何部署Starknet智能合约

先决条件

确保 Starkli 和 Scarb 安装正确

确保以下命令在您的系统上正常运行。

starkli --version
scarb --version

如果上述任一命令失败,请访问设置您的环境

介绍

在 Starknet 中部署智能合约需要两个步骤:

  • 声明您的合约的类别,即将合约的代码发送到网络。

  • 部署合约,即创建您之前声明的代码的实例。

部署智能合约

部署智能合约涉及在 Starknet 上实例化它。部署命令需要智能合约的类哈希以及构造函数所需的任何参数。

对于我们的示例,构造函数需要一个地址来指定为所有者:

starkli deploy \
    <CLASS_HASH> \
    <CONSTRUCTOR_INPUTS> \
    --network=goerli-1

使用类哈希和构造函数输入,命令如下所示:

starkli deploy \
    0x00e68b4b07aeecc72f768b1c086d9b0aadce131a40a1067ffb92d0b480cf325d \
    0x02cdAb749380950e7a7c0deFf5ea8eDD716fEb3a2952aDd4E5659655077B8510 \
    --network=goerli-1

预期结果

运行命令并添加密码后,您将看到类似于以下内容的输出:

Deploying class 0x00e68b4b07aeecc72f768b1c086d9b0aadce131a40a1067ffb92d0b480cf325d with salt 0x04bc3fc2284c8e41fb3d2a37bb0354fd0506131cc77a8c91e4e67ce3aed1d19e...
The contract will be deployed at address 0x014825acb37c36563d3b96c450afe363d2fdfa3cfbd618b323f95b68b55ebf7e
Contract deployment transaction: 0x0086972e7463d5673d8b553ae521ec2df974a97c2ce6aafc1d1c20d22c6b96c6
Contract deployed: 0x014825acb37c36563d3b96c450afe363d2fdfa3cfbd618b323f95b68b55ebf7e

该智能合约现已部署到 Starknet。