# @fangorn-network/sdk 中文文档

规范地址：https://npmcn.com/package/%40fangorn-network/sdk/

版本：0\.1\.5
npm 元数据更新时间：2026-11-12T23:29:14.293Z
中文译文更新时间：2026-11-14T09:52:09.846Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fangorn-network/sdk
原文对照：https://npmcn.com/package/%40fangorn-network/sdk/?lang=original
项目主页：https://github.com/fangorn-network/fangorn#readme
源码仓库：https://github.com/fangorn-network/fangorn

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.8 MB，104 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.19\.0
- 运行依赖：12 个
- 首次发布：2026-03-11T14:49:22.232Z
- 最新版本发布：2026-11-12T23:29:13.949Z
- 近 30 天下载量：4260（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：50（近 12 个月 50 个）

## 中文简介

权力下放、可核查和无平台内容管理框架

## 安装

```sh
npm install @fangorn-network/sdk
```

也可以使用：`pnpm add @fangorn-network/sdk`、`yarn add @fangorn-network/sdk`、`bun add @fangorn-network/sdk`

## README

# 方刚 SDK

Fangorn是用于发布数据。 你发表 **还原** 记录,你可以使任何字段支付。 每一个雷波的脑袋都扎根于链条上,它的历史生活在IPFS中. 任何人都可以读取,校验,diff,订阅,或从你的回购中购买,而无需向您询问索引器或平台.

```sh
npm i @fangorn-network/sdk
```

## 模型

-   **出版社.** 钱包地址 出版商拥有他们的回扣,没有人承认或批准它们.
-   **复问.** 已按键 `publisher : repo`它的状态是一张地图 **记录** `{ id, type, payload }`,存储为内容地址的默克勒搜索树.
-   **承诺.** 每一方在母体和一个CAR文件中承诺点数,并持有它引入的块. 历史可以单从头上走走并传播.
-   **推来推去.** 将上链头移动到母体上的比较和擦拭,如 git ref 更新. 登记处只储存人头.
-   **付费田地.** 出版商在记录中封印出场并签出价. 买家通过和解注册支付,一个密钥服务器释放出密钥.
-   **应用程序只是重置.** 应用程序是出版商的唱片 **引用** 其他出版商的唱片 在命名的头。 它会选择和安排数据,但是它从不持有数据或打开数据. 当被引用导致发售时,该应用软件的出版商地址会收到推荐份额.

Fangorn不是:它不是一个数据库。 它没有查询语言,也没有索引器. 你在上面盖的 `subscribe` (见 [西马赫](https://github.com/fangorn-network/westmarch)) (中文(简体) ).

## 快速启动 (SDK)

```ts
import { Fangorn } from "@fangorn-network/sdk";

const fangorn = Fangorn.create({
    privateKey: "0x...",
    storage: { signedUrl: {} }, // hosted uploads on Base Sepolia; or { pinata: { jwt, gateway } }
});

await fangorn.initRepo("rusty-anchor");
await fangorn.uploadBatch("rusty-anchor", [
    { id: "t1", type: "track", payload: { title: "Locura", artist: "Alice" } },
]);

// Anyone, from the head alone:
const { contents } = await fangorn.readRepo(
    fangorn.getAddress(),
    "rusty-anchor",
);

for await (const change of fangorn.subscribe({
    repo: "rusty-anchor",
    owner: fangorn.getAddress(),
})) {
    console.log(change.puts, change.deletes);
}
```

## 快速启动( CLI)

```sh
npm i -g @fangorn-network/sdk
fangorn init                       # wallet key, storage → ~/.fangorn/config.json
fangorn repo init rusty-anchor     # create on chain, track in ./.fangorn
fangorn add .                      # stage files: csv/json rows → records, text files → one record each
fangorn commit                     # local commit (IPFS only)
fangorn push                       # move the on-chain head
fangorn subscribe --owner 0x... rusty-anchor   # stream diffs as JSON lines
```

这个 [指南](https://npmcn.com/package/%40fangorn-network/sdk/docs/GUIDE.md) 覆盖全部流量: 承诺 vs 推取, 时代, 历史, 签名, 代理卡, 存储, 以及被封和付费的字段 .

## 网络

Fangorn 运行在 **塞波利亚基地** (默认)和 **塞波利亚角**。每个系统都有自己的数据注册、结算注册、托管上传工作人员和密钥服务器。 地址在 [`src/config.ts`](https://npmcn.com/package/%40fangorn-network/sdk/src/config.ts) (单位:千美元)`BaseSepoliaConfig`, (中文(简体) ), `ArbitrumSepoliaConfig`) (中文(简体) ). CLI要求网络在 `fangorn init`,以及 `CHAIN_NAME=arbitrumSepolia` 超过它。 使用本地的阴道或私人部署,通过自己的 `NetworkConfig` 改为 `Fangorn.create`,或设置 `FANGORN_*` 超接 CLI( 见 [指南](https://npmcn.com/package/%40fangorn-network/sdk/docs/GUIDE.md#configure)) (中文(简体) ). 合同来源在 [粉丝网络/合同](https://github.com/fangorn-network/contracts)。 。 。 .

## 发展

```sh
pnpm i
pnpm test        # unit tests + the SDK suite in memory
pnpm test:e2e    # the same suite against the contracts on a fresh anvil
pnpm abis        # regenerate ABIs from the contracts repo
```

E2e测试需要 `anvil`, (中文(简体) ), `forge`,还有兄弟会的离职 `fangorn-network/contracts` (一组) `FANGORN_CONTRACTS_DIR` 以使用另一个位置)。 没有他们,测试就会在本地跳过,在CI中失败. `E2E_STORAGE=pinata` 对Pinata进行测试(`PINATA_JWT`, (中文(简体) ), `PINATA_GATEWAY`) (中文(简体) ). `pnpm test:live` 对塞波利亚基地进行只读检查.

## 许可证

麻省理工学院

## 常见问题

### @fangorn-network/sdk 是什么？

权力下放、可核查和无平台内容管理框架

### 如何安装 @fangorn-network/sdk？

在项目目录运行 npm install @fangorn-network/sdk，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fangorn，可以用 npx fangorn 直接运行。

### @fangorn-network/sdk 支持 TypeScript 吗？

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

### @fangorn-network/sdk 支持 ESM 还是 CommonJS？

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

### @fangorn-network/sdk 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.19\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fangorn-network/sdk 可以商用吗？

@fangorn-network/sdk 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fangorn-network/sdk 的下载量有多少？

根据 npm 官方下载统计，@fangorn-network/sdk 在 2026/10/15 – 2026/11/13 这 30 天内被下载 4,260 次，日均约 142 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fangorn-network/sdk 还在维护吗？

最新版本 0\.1\.5 发布于 2026/11/13（1 天前）；至今共发布 50 个版本，其中过去 12 个月发布了 50 个；首次发布于 2026/03/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

