摘要:Anchor 是什么;anchor init 后 programs/、app/、tests/、Anchor.toml 与 target/idl JSON 怎么核对。本地脚手架只读,不发主网交易。

站内已有 Solana 租金豁免、ethers.js 读合约、Foundry cast 与 viem PublicClient。本篇换到 Solana 工具链:用 Anchor 看清 anchor init 后的目录,以及 IDL(Interface Description Language)JSON 是什么、在 target/idl/ 怎么核对。全程本地脚手架 / 只读文档与 JSON,不发主网交易、不用真私钥、不碰主网资金。

一、官方:Local Development 在讲什么

打开 Anchor 文档 Quickstart → Local Development。文档说明:在本地用 Anchor 构建、测试、部署 Solana 程序;大纲里单独有一项 Understanding the project file structure。前置工具常见为 Rust、Solana CLI、Anchor CLI;文档示例用 anchor --version 核对安装。本场环境用 npx @coral-xyz/anchor-cli@0.30.1 --version 得到 anchor-cli 0.30.1(完整 avm 装全量 CLI 较慢时,文档 + 本地目录/IDL 足够入门核对)。

Solana Anchor 入门:项目结构与 IDL-程序旅途
图1:anchor-lang.com/docs/quickstart/local:Local Development、Prerequisites、右侧 TOC 含 Project File Structure / Programs / Tests / Target / Anchor.toml / App;界面英文,2026-10-18 实拍

二、官方:IDL 是什么、生成到哪

「Program IDL File」页写明:IDL 是描述程序指令与账户的标准化 JSON,方便客户端对接。要点(以文档为准):

  • anchor build 会生成 IDL,路径形如 /target/idl/<program-name>.json。
  • 可选把 IDL 上链(文档提到 anchor idl init);本场不上链、不部署。
  • JSON 里常见 instructions(指令名、discriminator、accounts、args)等字段。
Solana Anchor 入门:项目结构与 IDL-程序旅途
图2:anchor-lang.com/docs/basics/idl:IDL 定义、Key Benefits;蓝框写明 anchor build → /target/idl/<program-name>.json;界面英文,2026-10-18 实拍

三、本机:目录树 + 读 IDL JSON

本场在 demo/anchor-hello/ 按文档默认工作区放了最小脚手架(只读演示,非主网部署产物)。2026-10-18 Asia/Shanghai 实跑可见:

  • cargo 1.85.1、node v20.19.2、anchor-cli 0.30.1
  • 目录:programs/hello/src/lib.rs、tests/hello.ts、Anchor.toml、Cargo.toml、target/idl/hello.json
  • IDL:metadata.name = hello;指令 initialize;样例 program id 仅作本地占位(文档示例级字符串),勿当主网地址去转账
Solana Anchor 入门:项目结构与 IDL-程序旅途
图3:本机 cargo/node/anchor-cli 版本;find 目录;cat target/idl/hello.json;node 解析 instructions;只读;2026-10-18

四、官方:默认项目文件结构

同一 Local Development 页滚到 Project File Structure:默认工作区可见 programs/(链上程序,含 src/lib.rs)、tests/、app/、migrations/、target/(构建产物,含 IDL)、以及根目录 Anchor.toml。和上一节本机 find 对照:先认文件夹职责,再谈 build/deploy。

Solana Anchor 入门:项目结构与 IDL-程序旅途
图4:同一文档页:Project File Structure 概览 programs / app / tests 等;界面英文,2026-10-18 实拍

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

场景 更合适的文 本篇补充
账户租金 / 最低余额 租金豁免文 本篇专讲 Anchor 目录与 IDL
EVM ABI 读合约 ethers 读合约 IDL ≈ Solana/Anchor 侧的「接口描述」
Foundry cast 命令行 cast 文 工具链不同;本场不发交易
viem 只读块/Gas viem PublicClient 本篇是 Anchor 脚手架,不是 EVM RPC
先认目录再 build
programs/ 写 Rust;tests/、app/ 偏客户端;target/idl/*.json 是接口描述。
IDL 是 JSON,不是私钥
只读 instructions / accounts;部署与上链 IDL 另开一篇,本场不做。
测试网资金另说
Devnet 部署需要测试币与密钥管理;本场跳过。钱包演练可试用欧易 Web3(创建可填 CHENGXULVTU)。
  1. 打开 Local Development / Program IDL File 两页,记下目录名与 target/idl 路径。
  2. 在本机列出脚手架目录,打开 target/idl/*.json 核 instructions。
  3. 需要时用 npx @coral-xyz/anchor-cli@<ver> --version 或官方安装路径核对 CLI 版本。
  4. 买少量 SOL 作 Gas(与本文无关)可在 币安 或 欧易——本场不需要。

相关阅读

说明:配图为 2026-10-18 Anchor 官方文档(Local Development / IDL / Project File Structure)与本机真实终端输出。样例 program id 与 CLI 版本会随环境变化。本文不构成投资建议。