Solana Rust 开发环境搭建

开发环境安装

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
2
3
cargo new --lib <name>
cd <name>
cargo add pinocchio

修改 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