摘要:Anchor 部署到 Devnet:改 Anchor.toml cluster、programs.devnet 与 declare_id 对齐;认清 wallet 签名与浏览器 Executable 账户。测试网/只读,不发主网交易。

站内已有 Solana Anchor 入门:项目结构与 IDL(248504)、Solana 租金豁免 与 Solana PoH / 账户模型。本篇专讲下一步:把程序部署到 Devnet——改 Anchor.toml 的 provider.cluster、programs.devnet 与 declare_id! 怎么对齐,以及部署账户(钱包)签名在 CLI 里落在哪。全程测试网 / 只读文档 + 本机脚手架,不发主网交易、不用真私钥、不碰主网资金。

一、官方:Deploy to Devnet 改哪一行

打开 Anchor 文档 Quickstart → Local Development,滚到 Deploy to Devnet。默认 Anchor.toml 里 cluster = "Localnet";要上 Devnet,把 [provider] 的 cluster 改成 "Devnet",再跑 anchor deploy。文档提醒:Devnet 部署需要钱包里有足够测试 SOL,可用官方 Web Faucet 领取。本场不实际 airdrop / 不提交部署交易,只核对配置与命令。

Solana Anchor 部署到 Devnet:账户与签名-程序旅途
图1:anchor-lang.com/docs/quickstart/local:Deploy to Devnet;cluster Localnet→Devnet 对照与 anchor deploy;界面英文,2026-10-19 实拍

二、官方:anchor deploy 做什么

CLI 参考页的 Deploy 节写明:anchor deploy 把工作区里各程序部署到当前配置的 cluster。提示里还对比了 solana program deploy:每次直接跑可能生成新的程序地址——所以 Anchor 工作流更强调程序密钥 / declare_id! / programs.<cluster> 对齐。主网相关 --security-metadata 本场跳过(我们只谈 Devnet)。

Solana Anchor 部署到 Devnet:账户与签名-程序旅途
图2:anchor-lang.com/docs/references/cli:Deploy 节;anchor deploy 说明与提示框;界面英文,2026-10-19 实拍

三、官方:provider.cluster 与钱包

Anchor.toml 参考里,provider 是必填:cluster 决定命令打到哪条集群,wallet 指向密钥文件路径(常见 ~/.config/solana/id.json)。部署时用这个钱包签名并付 Devnet 租金/费用——这就是标题里的「账户与签名」在配置层的落点。路径里的密钥绝不要提交到 Git、不要发主网。

Solana Anchor 部署到 Devnet:账户与签名-程序旅途
图3:anchor-lang.com/docs/references/anchor-toml:provider.cluster / wallet 说明;界面英文,2026-10-19 实拍

四、本机:版本、deploy help、Devnet 配置与 declare_id

本场在 demo/anchor-hello/ 复用最小脚手架(与站内 Anchor 入门同系)。2026-10-19 Asia/Shanghai 实跑可见:

  • cargo 1.85.1、node v20.19.2、anchor-cli 0.30.1(npx @coral-xyz/anchor-cli@0.30.1)
  • anchor deploy --help:--provider.cluster、--provider.wallet、--program-keypair、-p/--program-name
  • Anchor.toml 视图:[programs.devnet] hello = "…" 且 cluster = "Devnet"
  • programs/hello/src/lib.rs 里 declare_id!("Fg6PaFpo…FsLnS") 与 toml 同串——样例 id 仅作本地占位,勿当主网地址转账
Solana Anchor 部署到 Devnet:账户与签名-程序旅途
图4:本机 cargo/node/anchor-cli;deploy --help;programs.devnet + cluster=Devnet;declare_id 对齐;只读;2026-10-19

五、浏览器:部署后程序账户长什么样(公开样例)

程序上链后,在浏览器里是一个 Executable 账户。本场用 Solscan 打开公开的 Token Program(地址 TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA)只读核对字段:Executable=Yes、Owner/Loader、Last Deployed Slot 等。这是主网公开基础设施程序,不是本场脚手架的部署产物;目的只是让你认清「部署完成后在浏览器里看什么」。若 Solana Explorer 429,可换 Solscan(本场已用)。

Solana Anchor 部署到 Devnet:账户与签名-程序旅途
图5:solscan.io:Token Program;Executable Yes、VERIFIED、Last Deployed Slot;公开只读样例;2026-10-19 实拍

六、和站内相关文怎么分工

场景 更合适的文 本篇补充
Anchor 目录 / IDL Anchor 入门·IDL 本篇专讲 Devnet deploy 与签名配置
账户最低余额 租金豁免 部署要付租金;本场不发交易
PoH / 费用直觉 PoH 与费用 本篇是工具链部署步骤
EVM 侧只读 RPC 公开 RPC eth_getTransaction 链与工具不同
先改 cluster 再 deploy
Localnet→Devnet 写在 Anchor.toml;也可用 --provider.cluster 临时覆盖。
declare_id 与 programs.devnet 对齐
密钥公钥、toml 程序 id、源码 declare_id! 三者一致再 build/deploy。
钱包只签测试网
wallet 路径指向测试密钥;主网资金与真私钥本场不用。钱包演练可试用欧易 Web3(创建可填 CHENGXULVTU)。
  1. 对照官方 Deploy to Devnet 节,改 cluster = "Devnet"。
  2. 核 programs.devnet 与 declare_id! 同址;需要时 anchor keys list(完整 CLI 环境)后再 build。
  3. 用 npx @coral-xyz/anchor-cli@<ver> deploy --help 认清 cluster/wallet/program-keypair 开关。
  4. 有 Devnet SOL 后再 anchor deploy;浏览器核 Executable 账户(可参考本场 Solscan 字段)。
  5. 买少量 SOL 作 Gas(与本文 Devnet 水龙头无关)可在 币安 或 欧易——本场不需要。

相关阅读

说明:配图为 2026-10-19 Anchor 官方文档(Deploy to Devnet / CLI Deploy / Anchor.toml provider)、本机真实终端输出,以及 Solscan 公开 Token Program 只读页。样例 program id 与 CLI 版本会随环境变化。本文不构成投资建议。