SOLANA程序开发与部署
Rust 是编写 Solana 程序最常用的编程语言。 本文将演示如何快速搭建环境,开发第一个基于 Rust 的 Solana 程序并将其部署到区块链。
一键发币: SOL | BNB | ETH | BASE | Blast | ARB | OP | POLYGON | AVAX | FTM | OK
Rust 是编写 Solana 程序最常用的编程语言。 本文将演示如何快速搭建环境,开发第一个基于 Rust 的 Solana 程序并将其部署到区块链。
注意: 本指南使用 Solana CLI 并假设你已设置本地开发环境。
1、安装 Rust 和 Cargo
为了能够编译基于 Rust 的 Solana 程序,请使用 Rustup 安装 Rust 语言和 Cargo(Rust 包管理器):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2、运行本地主机验证器
Solana CLI 附带内置的测试验证器。此命令行工具将允许你在计算机上运行完整的区块链集群。
solana-test-validator
专业提示:在新的/单独的终端窗口中运行 Solana 测试验证器,该窗口将保持打开状态。 此命令行程序必须保持运行,以便本地主机验证器保持在线并准备好执行操作。
配置你的 Solana CLI 以将本地主机验证器用于所有未来的终端命令和 Solana 程序部署:
solana config set --url localhost
3、使用 Cargo 创建一个新的 Rust 库
用 Rust 编写的 Solana 程序是编译为 BPF 字节码并以 .so 格式保存的库。
通过 Cargo 命令行初始化一个名为 hello_world 的新 Rust 库:
cargo init hello_world --lib
cd hello_world
将 solana-program
添加到新的 Rust 库中:
cargo add solana-program
打开 Cargo.toml 文件并添加这些必需的 Rust 库配置设置,并根据需要更新项目名称:
[lib]
name = "hello_world"
crate-type = ["cdylib", "lib"]
4、创建第一个 Solana 程序
基于 Rust 的 Solana 程序的代码将位于 src/lib.rs
文件中。 在 src/lib.rs
中,你将能够导入 Rust 包并定义你的逻辑。 在你喜欢的编辑器中打开 src/lib.rs
文件。
在 lib.rs 的顶部,导入 solana-program
并将我们需要的项目放入本地命名空间中:
use solana_program::{
account_info::AccountInfo,
entrypoint,
entrypoint::ProgramResult,
pubkey::Pubkey,
msg,
};
每个 Solana 程序都必须定义一个入口点,告诉 Solana 运行时从哪里开始执行链上代码。 你的程序的入口点应该提供一个名为 process_instruction
的公开函数:
// declare and export the program's entrypoint
entrypoint!(process_instruction);
// program entrypoint's implementation
pub fn process_instruction(
program_id: &Pubkey,
accounts: &[AccountInfo],
instruction_data: &[u8]
) -> ProgramResult {
// log a message to the blockchain
msg!("Hello, world!");
// gracefully exit the program
Ok(())
}
每个链上程序都应该返回 Ok
结果枚举,其值为 ()
。 这告诉 Solana Runtime你的程序已成功执行,没有错误。
上面的程序将简单地记录一条消息“Hello, world!” 到区块链集群,然后使用 Ok(())
优雅退出。
5、构建你的 Rust 程序
在终端窗口内,可以通过在项目的根目录(即包含 Cargo.toml 文件的目录)中运行如下命令来构建 Solana Rust 程序:
cargo build-bpf
注意:每次构建 Solana 程序后,上述命令将输出已编译程序的 .so 文件的构建路径以及将用于程序地址的默认密钥文件。 cargo build-bpf
从当前安装的 solana CLI 工具安装工具链。 如果遇到任何版本不兼容的情况,你可能需要升级这些工具。
6、部署你的 Solana 程序
使用 Solana CLI,你可以将程序部署到当前选择的集群:
solana program deploy ./target/deploy/hello_world.so
一旦你的 Solana 程序部署完毕(并且交易完成),上述命令将输出程序的公开地址(也称为“程序 id”):
Program Id: EFH95fWg49vkFNbAdw9vy75tM7sWZ2hQbTTUmuACGip3
7、结束语
恭喜! 你已使用 Rust 语言成功设置、构建和部署了 Solana 程序。
部署后请再次检查 Solana 钱包余额。 看看部署这个简单程序需要多少 SOL ?
原文链接:Setup, build, and deploy a Solana program locally in Rust
DefiPlot翻译整理,转载请标明出处