本系列文章将带你完成 Solana 开发的入门流程,从环境配置到运行一个简单的 Anchor 程序(Hello World)。我们会涵盖工具安装、项目初始化、构建和测试,并提供经验性建议。
笔者前段时间把 RareSkills 的 Solana 60 天课程学习了一遍。大概用了一周左右的时间,现在想把过程中的笔记和代码分享出来。文章的配套代码我上传到了 github 。笔记我将每天更新 2 到 3 篇。欢迎多多收藏、点赞和关注。
本系列文章将带你完成 Solana 开发的入门流程,从环境配置到运行一个简单的 Anchor 程序(Hello World)。我们会涵盖工具安装、项目初始化、构建和测试,并提供经验性建议。
Rust 是 Solana 和 Anchor 的核心依赖,默认安装最新稳定版即可满足大多数需求。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
指定版本(如 rustc 1.78.0) 如果项目需要特定版本,执行:
rustup install 1.78.0
rustup default 1.78.0
rustc --version # 确认版本为 1.78.0
Yarn 用于运行 Anchor 的单元测试,前提是你已安装 Node.js(建议 18.x 或 20.x)。
corepack enable # 激活 Node.js 自带的 Corepack
yarn --version # 验证安装
Solana CLI 是与区块链交互的核心工具,推荐使用 stable 通道以确保稳定性。
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
指定版本(如 1.18.17) 若需特定版本:
sh -c "$(curl -sSfL https://release.anza.xyz/v1.18.17/install)"
solana --version # 确认版本
Anchor 是 Solana 的智能合约框架,简化程序开发。
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
avm install latest
avm use latest
anchor --version # 验证安装
指定版本(如 0.29.0) 若需特定版本:
avm install 0.29.0
avm use 0.29.0
anchor --version # 应显示 anchor-cli 0.29.0
在终端运行:
anchor init hello_world
cd hello_world
编辑 programs/hello_world/src/lib.rs:
use anchor_lang::prelude::*;
declare_id!("AcCKUb5GBSGgX1dz6GMTyvZwSBsnnzZJigac9kB7cfXr");
#[program]
pub mod hello_world {
use super::*;
pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
msg!("Hello, world!");
Ok(())
}
}
#[derive(Accounts)]
pub struct Initialize {}
新项目生成的 declare_id! 与代码中的可能不一致,需同步:
anchor keys sync
在新终端运行:
solana-test-validator
在项目目录运行:
anchor build
anchor test --skip-local-validator
日志文件
测试完成后,检查 .anchor/program-logs/ 中的日志:
Transaction executed in slot 99:
Signature: 2WA64cJjT1W8Y7XCwLa62kD3pFQ17vfjnZxQPDwJnpn4fZb8rQVVgVnS4ad5vgZSpbcrxbvRf9Pbt4951qfhdNrK
Status: Ok
Log Messages:
Program log: Hello, world!
【笔记配套代码】 https://github.com/0xE1337/rareskills_evm_to_solana 【参考资料】\ https://learnblockchain.cn/column/119 https://www.rareskills.io/solana-tutorial
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!