设置 StarkNet 帐户

Installation

按照安装说明进行操作 cairo-lang包在

https://starknet.io/docs/quickstart.html#quickstart

网络设置:我们将使用 StarkNet CLI(命令行界面)与 StarkNet 进行交互。 为了指示 CLI 与 StarkNet 测试网一起工作,您可以 添加 --network=alpha-goerli标记到每个命令,或者简单地设置 STARKNET_NETWORK 环境变量如下:

export STARKNET_NETWORK=alpha-goerli

选择钱包提供商:要与 StarkNet 交互,您需要部署一个账户合约。 在本教程中,我们将使用 OpenZeppelin 标准的略微修改版本 对于 EOA 合约(目前,签名的计算方式不同)。 设置 STARKNET_WALLET环境变量如下:

export STARKNET_WALLET=starkware.starknet.wallets.open_zeppelin.OpenZeppelinAccount

账户创建:运行以下命令创建一个帐户:starknet deploy_account

输出应为:Sent deploy account contract transaction.

NOTE: This is a modified version of the OpenZeppelin account contract. The signature is computed differently.

Contract address: ... Public key: ... Transaction hash: ...

您还可以使用为您的帐户指定一个名称--account=my_account如果你想 维护多个帐户。 如果未指定,则默认帐户(名为 __default__) 用来。

STARKNET_WALLET环境变量指示 StarkNet CLI 使用您的帐户 在里面 starknet invokestarknet call命令。 如果你想直接调用合约,而不通过你的账户合约, 你可以通过 --no_walletCLI 的参数,它覆盖 STARKNET_WALLET 多变的。

警告 :使用作为一部分的内置钱包提供程序 cairo-lang包裹(starkware.starknet.wallets...) 是 不安全 (例如,私钥可能未加密且没有备份 在您的主目录中)。 仅当您不太担心失去对帐户的访问权限时才应使用它们 (例如,出于测试目的)。 此外,它们不是使用代理模式部署的,因此无法升级,可能会停止 在 StarkNet 的未来版本中工作。