# @autonomys/auto-dag-data 中文文档

规范地址：https://npmcn.com/package/%40autonomys/auto-dag-data/

版本：1\.7\.0
npm 元数据更新时间：2026-11-04T13:56:54.476Z
中文译文更新时间：2026-11-07T07:05:19.538Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：205 kB，110 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：10 个
- 首次发布：2024-11-06T12:02:47.260Z
- 最新版本发布：2026-11-04T13:56:54.035Z
- 近 30 天下载量：4012（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：112（近 12 个月 24 个）

## 中文简介

![Autonomys Banner](https://github.com/autonomys/auto-sdk/blob/main/.github/images/autonomys-banner.webp)

## 安装

```sh
npm install @autonomys/auto-dag-data
```

也可以使用：`pnpm add @autonomys/auto-dag-data`、`yarn add @autonomys/auto-dag-data`、`bun add @autonomys/auto-dag-data`

## README

# 自动 DAG 数据 SDK

![Autonomys Banner](https://github.com/autonomys/auto-sdk/blob/main/.github/images/autonomys-banner.webp)

[![Latest Github release](https://img.shields.io/github/v/tag/autonomys/auto-sdk.svg)](https://github.com/autonomys/auto-sdk/tags) [![Build status of the main branch on Linux/OSX](https://img.shields.io/github/actions/workflow/status/autonomys/auto-sdk/build.yaml?branch=main&label=Linux%2FOSX%20build)](https://github.com/autonomys/auto-sdk/actions/workflows/build.yaml) [![npm version](https://badge.fury.io/js/@autonomys%2Fauto-dag-data.svg)](https://badge.fury.io/js/@autonomys/auto-dag-data)

## 概览

这个 **自动达格数据 SDK** (单位:千美元)`@autonomys/auto-dag-data`)提供为文件和文件夹创建和管理IPLD DAG(行星间链接数据定向环行图)的公用设施. 它有利于对大文件进行分解,处理元数据,并创建适合IPFS等分布式存储系统的文件夹结构.

### 这个软件包是一个ES模块软件包,它旨在配合无害环境管理的应用.

检查 [此教程](https://dev.to/mangadev/set-up-a-backend-nodejs-typescript-jest-using-es-modules-1530) 如何设置 ES 模块应用程序.

## 特征

-   **文件春正和 DAG 创建**:高效地将大文件分割为更小块并创建IPLD DAG.
-   **文件夹结构创建**: 为目录结构生成 IPLD DAG.
-   **元数据处理**: 添加和管理文件和文件夹的元数据.
-   **CID 管理层**: 与内容识别器合作的公用事业.
-   **类型脚本支持**: 为增强开发者经验而完全打入.

## 安装

您可以使用 npm 或 纱线安装 Auto- Dag- Data :

```bash
npm install @autonomys/auto-dag-data
```

或者说

```bash
yarn add @autonomys/auto-dag-data
```

## 使用量

### 从文件创建 IPLD DAG

要从文件中创建 IPLD DAG, 您可以使用 `processFileToIPLDFormat` 函数 :

```typescript
import { processFileToIPLDFormat } from '@autonomys/auto-dag-data'
import { MemoryBlockstore } from 'blockstore-core/memory'
import fs from 'fs'

const fileStream = fs.createReadStream('path/to/your/file.txt')
const fileSize = fs.statSync('path/to/your/file.txt').size

const blockstore = new MemoryBlockstore()
const fileCID = processFileToIPLDFormat(blockstore, fileStream, totalSize, 'file.txt')
```

### 从文件夹创建 IPLD DAG

要从文件夹生成 IPLD DAG, 您可以使用 `processFolderToIPLDFormat` 函数 :

```typescript
import { processFolderToIPLDFormat, decodeNode } from '@autonomys/auto-dag-data'
import { MemoryBlockstore } from 'blockstore-core/memory'
import { CID } from 'multiformats'

// Example child CIDs and folder information
const childCIDs: CID[] = [/* array of CIDs */]
const folderName = 'my-folder'
const folderSize = 1024 // size in bytes (the sum of their children size)

const blockstore = new MemoryBlockstore()
const folderCID = processFolderToIPLDFormat(blockstore, childCIDs, folderName, folderSize)

const node = decodeNode(blockstore.get(folderCID))
```

### 与刑事调查局合作

您可以使用来自 `cid` 用于 CID 工作的模块 :

```typescript
import { cidOfNode, cidToString, stringToCid } from '@autonomys/auto-dag-data'

// Create a CID from a node
const cid = cidOfNode(dag.head)

// Convert the CID to a string
const cidString = cidToString(cid)

// Parse a string back into a CID
const parsedCID = stringToCid(cidString)
```

### 编码和解码节点

您可以编码并解码 IPLD 节点 :

```typescript
import { encodeNode, decodeNode } from '@autonomys/auto-dag-data'

// Encode a node
const encodedNode = encodeNode(dag.head)

// Decode a node
const decodedNode = decodeNode(encodedNode)
```

### 处理元数据

要将元数据添加到节点中,可以创建一个元数据节点:

```typescript
import { createMetadataNode } from '@autonomys/auto-dag-data'

const metadata = {
  name: 'My File',
  description: 'This is a sample file',
  // ... other metadata fields
}

const metadataNode = createMetadataNode(metadata)
```

### 示例:创建文件 DAG 并转换为 CID

```typescript
import { processFileToIPLDFormat } from '@autonomys/auto-dag-data'
import { MemoryBlockstore } from 'blockstore-core/memory'
import fs from 'fs'

const fileStream = fs.createReadStream('path/to/your/file.txt')
const fileSize = fs.statSync('path/to/your/file.txt').size

const blockstore = new MemoryBlockstore()
const cid = processFileToIPLDFormat(blockstore, fileStream, totalSize, 'file.txt')

const cidString = cidToString(cid)

console.log(`CID of the file DAG: ${cidString}`)
```

### 示例:将元数据转换为 DAG

```typescript
import {
  createMetadataIPLDDag,
  cidOfNode,
  cidToString,
  type OffchainMetadata,
} from '@autonomys/auto-dag-data'
import { MemoryBlockstore } from 'blockstore-core/memory'
import fs from 'fs'

const metadata: OffchainMetadata = fs.readFileSync('path/to/your/metadata.json')

const blockstore = new MemoryBlockstore()
const cid = processMetadataToIPLDFormat(blockstore, metadata)

const cidString = cidToString(cid)

console.log(`CID of the metadata DAG: ${cidString}`)
```

## 许可证

这个项目根据麻省理工学院的许可证获得许可。 见 [自由主义](https://npmcn.com/package/%40autonomys/auto-dag-data/LICENSE) 详细文件.

## 额外资源

-   **自治学院**: 学习更多 [自治学院](https://academy.autonomys.xyz/)。 。 。 .
-   **自动使用软件包**: 并行使用的功能 `auto-dag-data` 可见于 [`@autonomys/auto-utils`](https://npmcn.com/package/%40autonomys/Auto-Utils/README.md)。 。 。 .

## 联系人

如果您有任何问题或需要支持,请随意联系:

-   **GitHub 问题**数字 : [GitHub 问题页面](https://github.com/autonomys/auto-sdk/issues)

我们感谢你的反馈和贡献!

## 常见问题

### 如何安装 @autonomys/auto-dag-data？

在项目目录运行 npm install @autonomys/auto-dag-data，或使用 pnpm add / yarn add / bun add。

### @autonomys/auto-dag-data 支持 TypeScript 吗？

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

### @autonomys/auto-dag-data 支持 ESM 还是 CommonJS？

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

### @autonomys/auto-dag-data 需要什么版本的 Node\.js？

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

### @autonomys/auto-dag-data 可以商用吗？

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

### @autonomys/auto-dag-data 的下载量有多少？

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

### @autonomys/auto-dag-data 还在维护吗？

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

