开发环境安装
rust
1 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y |
我是用的 mise 工具来安装的1
mise install rust@1.92.0
surfpool
solana-test-validator 的一个替代方案,用于在本地运行开发测试链。
https://github.com/txtx/surfpool
Anchor CLI (可选)
solana 的一个开发框架,也可以直接使用 rust 的 原生 sdk 进行开发。1
cargo install anchor-cli
Solana CLI
用于构建、部署程序1
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
然后还需要配置一下环境变量1
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
查看当前的账号:1
solana address
若当前还没有账号,则需要先创建一个:1
solana-keygen new -o ~/.config/solana/id.json
配置当前使用本地网络:1
solana config set --url http://localhost:8899
查询当前的配置:1
solana config get
给自己的账户空投一些 SOL 用于后续的测试:1
solana airdrop 10
开发流程
创建项目
1 | cargo new --lib <name> |
修改 Cargo.toml,添加内容:1
2
3
4
5[package]
edition = "2021" # <-- 这个要改为 2021
[lib]
crate-type = ["cdylib", "lib"]
然后修改 src/lib.rs,编写程序逻辑。
编译
1 | cargo build-bpf |
编译成功会生成 target/deploy/xxx.so、 target/deploy/xxx.json 私钥两个文件
部署
1 | solana program deploy target/deploy/<name>.so |
执行成功会输出对应的 Program Id 和 Transaction Id