@ar.io/solana-contracts

中文文档
1.5.0发布于 2026/10/09AGPL-3.0-or-laterTypeScriptES Module构建来源已验证近 30 天下载 2866

AR.IO索拉纳程序(ario-core,ario-gar,ario-arns,ario-ant,ario-ant-escrow)的TypeScript客户端. 哥达马生成的每个程序客户端加上IDL不曝光的手写助手(例如ANT-escrow canonic-message buildingers s)

中文使用文档
文档目录10 节
  1. 安装
  2. 使用
  3. 这是什么?
  4. 版本
  5. 集群耦合(已解决——ADR-024)
  6. 本地 dev
  7. 出版
  8. 第一次出版(鸡蛋)
  9. 对立
  10. 许可证

@ar.io/solana-contracts

Codama为AR.IO索拉纳程序生成了TypeScript客户端.

程序子路径
ario-core (ARIO SPL 令牌,金库,主名)@ar.io/solana-contracts/core
ario-gar (Gateway地址登记、查证、划时代、奖励)@ar.io/solana-contracts/gar
ario-arns (档案名称登记册、需求系数、定价)@ar.io/solana-contracts/arns
ario-ant (Arweave Name Token-Metaplex Core NFT) (韩语)@ar.io/solana-contracts/ant
ario-ant-escrow (无信多议定书ANT监护)@ar.io/solana-contracts/ant-escrow

建造在 @solana/kit (同类依赖). 创建于 科达马。 。 。 .

安装

yarn add @ar.io/solana-contracts @solana/kit
# or
npm install @ar.io/solana-contracts @solana/kit

使用

import { getBalanceEncoder } from '@ar.io/solana-contracts/core';
import { PurchaseType }      from '@ar.io/solana-contracts/arns';
import { GatewayStatus }     from '@ar.io/solana-contracts/gar';

const bytes = getBalanceEncoder().encode({
  owner: '...',
  amount: 1_000_000n,
  bump: 254,
});

每个子路径都暴露了科达马的标准地表:

  • accounts/ – 每一个PDA的打出编码器/解码器(getBalanceEncoder, (中文(简体) ), getBalanceDecoder, (中文(简体) ), getBalanceCodec页:1
  • types/ ——指导-论证结构+enum(PurchaseType, (中文(简体) ), GatewayStatus, (中文(简体) ), Protocol(中文(简体) )
  • instructions/ ——同声/同步指令构建器 (单位:千美元)getJoinNetworkInstructionAsync页:1
  • pdas/ - PDA衍生工具(findBalancePda页:1
  • errors/ – 每个程序输入的 Anchor 错误常数
  • programs/ ——柯达玛计划工厂+ identify*Instruction 帮助者

这是什么?

AR.IO网络的链上程序运行于索拉纳. 他们住在这里 这个 还原 下级 programs/· ; 此软件包是下游自动生成的 TypeScript 客户端 消费者(公共AR.IO SDK,第三方集成商)从.

出品文物(src/<program>/ + 键 lib/(b) 未作出承诺—— 每一 发布运行 anchor build && yarn codegen && yarn build 从干净 退出并公布由此而来的柏球.

版本

独立出品. Anchor 程序中的线格式变化 (IDL-fefficing source editers) 撞出主. 增加表面变化 撞倒未成年人。 补丁版本涵盖非破解的密码修正.

软件包版本是 没有 锁定到已部署的程序版本.. 程序身份由链式部署的程序ID提供,而不是由 客户端软件包版本.

集群耦合(已解决——ADR-024)

以往使用的两个零副本登记册账户 #[cfg(feature = "devnet-shrunk")] 以交换固定阵列大小 主网和一个收缩的devnet, 所以哥达马编码器(它嵌入这些 大小在 codegen 时间)只匹配一个集群.

该功能已退役(ADR-024). 每个集群——地方网, 装配(在索拉纳德文网上)和主网——现在编译相同的 生产规模登记册:

账户所有分组
GatewayRegistry.gateways3 000个插槽
NameRegistry.names50 000个空档(可扩大到200 000个)
Epoch.failure_counts3 000个插槽

因此,每个部署都有一个公布的软件包匹配——没有 编码器/账号大小不匹配到原因,以及 staging 对 @latest ditt-tag 仅因释放通道而异, 不因编码而异 尺寸.

本地 dev

git clone https://github.com/ar-io/ar-io-solana-contracts.git
cd ar-io-solana-contracts
anchor build              # produces target/idl/*.json
cd clients/ts
yarn install              # postinstall regenerates src/<program>/
yarn build:tsc            # compiles to lib/

CLUSTER (单位:千美元)staging | mainnet默认值 staging现在只选择 npm 发布通道; 各集群的注册大小相同(参见 以上"组合相通".

出版

CI 工作流程 .github/workflows/release-clients-ts.yml 实值 [工作流 发送]-与 cluster (站住主网), 选项 version 覆盖和可选 dry_run。 。 。 .

认证用途 npm OIDC 信任出版 同型号 @ar.io/sdk。 。 。 . 没有 NPM_TOKEN 隐秘在CI。 工作流程宣布 id-token: write· ; npm CLI 9.5 与npmjs.com谈判OIDC握手并证明 既包括出版商身份,也包括建立出处.

第一次出版(鸡蛋)

信任的出版商已配置 每个软件包 时间,所以 在添加可信任的-publisher规则之前,软件包必须存在. 一次性拖带 :

  1. 发布 0.1.0-staging.0 手动从本地取出 npm publish --access public --tag staging (使用个人语言) npm 证书).
  2. 在npmjs.com上:导航到 @ar.io/solana-contracts → 设置 → 受托出版商 → 添加信任的发布器数字 :
    • 发布者: GitHub 动作
    • 组织: ar-io
    • 仓库 : ar-io-solana-contracts
    • 工作流程文件名 : release-clients-ts.yml
    • 环境: (留下空白)
  3. 随后的发行(Stage reductions,主网推广,版本) cumps),全部通过CI运行——没有符号,没有手动步骤.

对立

标记组用于
@latest主网yarn add @ar.io/solana-contracts
@staging中转( 索拉纳德文网)yarn add @ar.io/solana-contracts@staging

许可证

AGPL-3.0- 或- 后期。 。 。 .

版本与发布记录

@ar.io/solana-contracts 共发布 19 个版本,首次发布于 2026/05/12;过去 12 个月发布了 19 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.5.0latest2026/10/0929 天前
1.4.02026/09/261 个月前
1.4.0-staging.33staging2026/09/221 个月前
1.4.0-staging.312026/09/171 个月前
1.3.02026/09/161 个月前
1.2.02026/08/302 个月前

其他发布通道:devnet → 0.2.0-devnet.9,staging → 1.4.0-staging.33。

关于 @ar.io/solana-contracts 的常见问题

@ar.io/solana-contracts 是什么?

AR.IO索拉纳程序(ario-core,ario-gar,ario-arns,ario-ant,ario-ant-escrow)的TypeScript客户端. 哥达马生成的每个程序客户端加上IDL不曝光的手写助手(例如ANT-escrow canonic-message buildingers s)

如何安装 @ar.io/solana-contracts?

在项目目录运行 npm install @ar.io/solana-contracts,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@solana/kit(>=6 <7)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ar.io/solana-contracts 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ar.io/solana-contracts 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ar.io/solana-contracts 可以商用吗?

@ar.io/solana-contracts 使用 AGPL-3.0-or-later 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@ar.io/solana-contracts 的下载量有多少?

根据 npm 官方下载统计,@ar.io/solana-contracts 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,866 次,日均约 96 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ar.io/solana-contracts 还在维护吗?

最新版本 1.5.0 发布于 2026/10/09(29 天前);至今共发布 19 个版本,其中过去 12 个月发布了 19 个;首次发布于 2026/05/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。