@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页:1types/——指导-论证结构+enum(PurchaseType, (中文(简体) ),GatewayStatus, (中文(简体) ),Protocol(中文(简体) )instructions/——同声/同步指令构建器 (单位:千美元)getJoinNetworkInstructionAsync页:1pdas/- PDA衍生工具(findBalancePda页:1errors/– 每个程序输入的 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.gateways | 3 000个插槽 |
NameRegistry.names | 50 000个空档(可扩大到200 000个) |
Epoch.failure_counts | 3 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规则之前,软件包必须存在. 一次性拖带 :
- 发布
0.1.0-staging.0手动从本地取出npm publish --access public --tag staging(使用个人语言) npm 证书). - 在npmjs.com上:导航到
@ar.io/solana-contracts→ 设置 → 受托出版商 → 添加信任的发布器数字 :- 发布者: GitHub 动作
- 组织:
ar-io - 仓库 :
ar-io-solana-contracts - 工作流程文件名 :
release-clients-ts.yml - 环境: (留下空白)
- 随后的发行(Stage reductions,主网推广,版本) cumps),全部通过CI运行——没有符号,没有手动步骤.
对立
| 标记 | 组 | 用于 |
|---|---|---|
@latest | 主网 | yarn add @ar.io/solana-contracts |
@staging | 中转( 索拉纳德文网) | yarn add @ar.io/solana-contracts@staging |
许可证
AGPL-3.0- 或- 后期。 。 。 .