Starknet开发实战:从环境配置到账户转账全流程指南想要进入Starknet生态进行底层开发,搭建一套稳定、高效的工具链是第一步。本文将基于最新的StarknetFoundry工具集,带你从零开始完成开发环境的配置,并实操演示如何在Sepolia测试网上创建、部署账户以及执行代
想要进入 Starknet 生态进行底层开发,搭建一套稳定、高效的工具链是第一步。本文将基于最新的 Starknet Foundry 工具集,带你从零开始完成开发环境的配置,并实操演示如何在 Sepolia 测试网上创建、部署账户以及执行代币转账。无论你是 Web3 开发者还是技术爱好者,这份“手把手”的实战记录都将帮你快速跑通 Starknet 的开发闭环。
asdf 管理工具版本,安装 Scarb(编译器)、Starknet Foundry(测试与工具集)和 Devnet(本地环境)。sncast 命令行在 Sepolia 测试网创建 OpenZeppelin 和 Braavos 账户。
invoke 调用合约函数执行转账。asdf plugin add scarb
asdf install scarb latest
asdf set -u scarb latest
Plugin named scarb already added
version 2.15.0 of scarb is already installed
asdf plugin add starknet-foundry
asdf install starknet-foundry latest
asdf set -u starknet-foundry latest
Plugin named starknet-foundry already added
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3112 100 3112 0 0 5550 0 --:--:-- --:--:-- --:--:-- 5547
Downloading and extracting universal-sierra-compiler-v2.6.0-aarch64-apple-darwin...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 3158k 100 3158k 0 0 2251k 0 0:00:01 0:00:01 --:--:-- 2251k
universal-sierra-compiler (v2.6.0) has been installed successfully.
* Downloading starknet-foundry release 0.54.1...
starknet-foundry 0.54.1 installation was successful!
asdf plugin add starknet-devnet
asdf install starknet-devnet latest
asdf set -u starknet-devnet latest
Plugin named starknet-devnet already added
* Downloading starknet-devnet release 0.7.1...
starknet-devnet 0.7.1 installation was successful!
which asdf
/opt/homebrew/bin/asdf
scarb --version
snforge --version && sncast --version
starknet-devnet --version
scarb 2.15.0 (56d7d30fb 2025-12-19)
cairo: 2.15.0 (https://crates.io/crates/cairo-lang-compiler/2.15.0)
sierra: 1.7.0
arch: aarch64-apple-darwin
snforge 0.54.1
sncast 0.54.1
starknet-devnet 0.7.1
sncast account list
Error: Accounts file = /Users/qiaopengjun/.starknet_accounts/starknet_open_zeppelin_accounts.json does not exist! If you do not have an account create one with `account create` command or if you're using a custom accounts file, make sure to supply correct path to it with `--accounts-file` argument.
sncast account create
Error: Either `--network` or `--url` must be provided.
sncast account create --network sepolia
Success: Account created
Address: 0x0672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
Account successfully created but it needs to be deployed. The estimated deployment fee is 0.007707393134881664 STRK. Prefund the account to cover deployment transaction fee
After prefunding the account, run:
sncast account deploy --network sepolia --name account-1
To see account creation details, visit:
account: https://sepolia.starkscan.co/contract/0x0672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
sncast account list
Available accounts (at /Users/qiaopengjun/.starknet_accounts/starknet_open_zeppelin_accounts.json):
- account-1:
network: alpha-sepolia
public key: 0x731eb71b2281c74ed8d74f753cc54daf54a3e38f06dee8c68b840aea50f8529
address: 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
salt: 0xe1f78056ff65cbc0
class hash: 0x5b4b537eaa2399e3aa99c4e2e0208ebd6c71bc1467938cd52c798c601e43564
deployed: false
legacy: false
type: OpenZeppelin
To show private keys too, run with --display-private-keys or -p
测试网水龙头:https://starknet-faucet.vercel.app/
交易详情:https://sepolia.voyager.online/tx/0x45d6074e90ef3bab5adafd32d50a80f8b1c7b05f5603c19edef0f02135ffdad
sncast account deploy --network sepolia --name account-1
✔ Do you want to make this account default? · Yes, global default (~/.config/starknet-foundry/snfoundry.toml)
Success: Account deployed
Transaction Hash: 0x4330412fce1ac5e74b7a44a84e5b9b70161a52746d3066d1122c1c4da07cddd
To see account deployment details, visit:
transaction: https://sepolia.starkscan.co/tx/0x04330412fce1ac5e74b7a44a84e5b9b70161a52746d3066d1122c1c4da07cddd
sncast account list
Available accounts (at /Users/qiaopengjun/.starknet_accounts/starknet_open_zeppelin_accounts.json):
- account-1:
network: alpha-sepolia
public key: 0x731eb71b2281c74ed8d74f753cc54daf54a3e38f06dee8c68b840aea50f8529
address: 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
salt: 0xe1f78056ff65cbc0
class hash: 0x5b4b537eaa2399e3aa99c4e2e0208ebd6c71bc1467938cd52c798c601e43564
deployed: true
legacy: false
type: OpenZeppelin
To show private keys too, run with --display-private-keys or -p
# sncast balance(协议层)
sncast balance --network sepolia
Balance: 725347419503972550115456 strk
# ERC20 STRK(合约层)
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
Success: Call completed
Response: 99992993278751630080_u256
Response Raw: [0x56bae7999f8036300, 0x0]
Starknet 的原生 STRK 余额 ≠ STRK ERC20 合约余额
# 1. 创建账户
sncast account create --network sepolia --type braavos --name account-braavos
Success: Account created
Address: 0x0585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
Account successfully created but it needs to be deployed. The estimated deployment fee is 0.008771665806546944 STRK. Prefund the account to cover deployment transaction fee
After prefunding the account, run:
sncast account deploy --network sepolia --name account-braavos
To see account creation details, visit:
account: https://sepolia.starkscan.co/contract/0x0585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
# 2. 查看账户列表验证是否创建成功
sncast account list
Available accounts (at /Users/qiaopengjun/.starknet_accounts/starknet_open_zeppelin_accounts.json):
- account-1:
network: alpha-sepolia
public key: 0x731eb71b2281c74ed8d74f753cc54daf54a3e38f06dee8c68b840aea50f8529
address: 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
salt: 0xe1f78056ff65cbc0
class hash: 0x5b4b537eaa2399e3aa99c4e2e0208ebd6c71bc1467938cd52c798c601e43564
deployed: true
legacy: false
type: OpenZeppelin
- account-braavos:
network: alpha-sepolia
public key: 0x7a86dc34fac8418b250734c74d7874c01f9c0f014affeac25d6d04ed4cbf710
address: 0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
salt: 0xe3d346e664b47c94
class hash: 0x3957f9f5a1cbfe918cedc2015c85200ca51a5f7506ecb6de98a5207b759bf8a
deployed: false
legacy: false
type: Braavos
To show private keys too, run with --display-private-keys or -p
# 3. 获取测试代币后查看余额
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
Success: Call completed
Response: 100000000000000000000_u256
Response Raw: [0x56bc75e2d63100000, 0x0]
# 4. 部署账户
sncast account deploy --network sepolia --name account-braavos
✔ Do you want to make this account default? · Yes, global default (~/.config/starknet-foundry/snfoundry.toml)
Success: Account deployed
Transaction Hash: 0x7edbcaff1ef1deaa44b50b984d4c8c44938bcf2e234939a9b0111bcf161769b
To see account deployment details, visit:
transaction: https://sepolia.starkscan.co/tx/0x07edbcaff1ef1deaa44b50b984d4c8c44938bcf2e234939a9b0111bcf161769b
# 5. 再次查看余额
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
Success: Call completed
Response: 99992025758063752448_u256
Response Raw: [0x56bab09a581197500, 0x0]
# 6. 查看账户列表验证账户是否部署成功
sncast account list
Available accounts (at /Users/qiaopengjun/.starknet_accounts/starknet_open_zeppelin_accounts.json):
- account-1:
network: alpha-sepolia
public key: 0x731eb71b2281c74ed8d74f753cc54daf54a3e38f06dee8c68b840aea50f8529
address: 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
salt: 0xe1f78056ff65cbc0
class hash: 0x5b4b537eaa2399e3aa99c4e2e0208ebd6c71bc1467938cd52c798c601e43564
deployed: true
legacy: false
type: OpenZeppelin
- account-braavos:
network: alpha-sepolia
public key: 0x7a86dc34fac8418b250734c74d7874c01f9c0f014affeac25d6d04ed4cbf710
address: 0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
salt: 0xe3d346e664b47c94
class hash: 0x3957f9f5a1cbfe918cedc2015c85200ca51a5f7506ecb6de98a5207b759bf8a
deployed: true # 成功部署
legacy: false
type: Braavos
To show private keys too, run with --display-private-keys or -p
# 1. 转账之前查看 account-1: 余额
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
Success: Call completed
Response: 99992993278751630080_u256
Response Raw: [0x56bae7999f8036300, 0x0]
# 2. 转账之前查看 account-braavos: 余额
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
Success: Call completed
Response: 99992025758063752448_u256
Response Raw: [0x56bab09a581197500, 0x0]
# 3. 执行转账操作
sncast --account account-1 invoke --network sepolia --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function transfer --arguments '0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7,1000000000000000000'
Success: Invoke completed
Transaction Hash: 0x04039b1f84437fc795a0a70189a755dfc7591c9d8d8512b61e685f0b0cb625e0
To see invocation details, visit:
transaction: https://sepolia.starkscan.co/tx/0x04039b1f84437fc795a0a70189a755dfc7591c9d8d8512b61e685f0b0cb625e0
# 4. 转账之后查看 account-braavos: 余额
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x585267ed974b41abfd57642a69327e5ffec1acd5fde1c7225f5129f831815b7
Success: Call completed
Response: 100992025758063752448_u256
Response Raw: [0x5798bc059287d7500, 0x0]
# 5. 转账之后查看 account-1: 余额
sncast call --contract-address 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d --function balance_of --network sepolia --arguments 0x672b0b89056dd8bc2d1f1d59c5b90670535dcc9c5931fcba9fbaea420990671
Success: Call completed
Response: 98984058876750531968_u256
Response Raw: [0x55dae051bbf110d80, 0x0]
Starknet is a Validity-Rollup(aka ZK-Rollup) Layer 2 network that operates on top of Ethereum.
工欲善其事,必先利其器。通过本文的实操,我们不仅打通了 Starknet 开发的基础路径,也深刻理解了 Starknet 账户抽象和原生 STRK 代币的交互逻辑。掌握 Scarb 和 Starknet Foundry 的使用,是深入研究 Cairo 智能合约开发的前提。下一步,建议读者尝试编写简单的 Cairo 合约并使用 Foundry 进行单元测试,进一步探索 Starknet 的高性能生态。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!