@autonomys/auto-dag-data

中文文档
1.7.0发布于 2026/11/04MITTypeScriptES Module构建来源已验证近 30 天下载 4012

Autonomys Banner

中文使用文档
文档目录15 节
  1. 概览
  2. 这个软件包是一个ES模块软件包,它旨在配合无害环境管理的应用.
  3. 特征
  4. 安装
  5. 使用量
  6. 从文件创建 IPLD DAG
  7. 从文件夹创建 IPLD DAG
  8. 与刑事调查局合作
  9. 编码和解码节点
  10. 处理元数据
  11. 示例:创建文件 DAG 并转换为 CID
  12. 示例:将元数据转换为 DAG
  13. 许可证
  14. 额外资源
  15. 联系人

自动 DAG 数据 SDK

Autonomys Banner

Latest Github release Build status of the main branch on Linux/OSX npm version

概览

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

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

检查 此教程 如何设置 ES 模块应用程序.

特征

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

安装

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

npm install @autonomys/auto-dag-data

或者说

yarn add @autonomys/auto-dag-data

使用量

从文件创建 IPLD DAG

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

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 函数 :

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 工作的模块 :

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 节点 :

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

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

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

处理元数据

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

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

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

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}`)

许可证

这个项目根据麻省理工学院的许可证获得许可。 见 自由主义 详细文件.

额外资源

联系人

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

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

版本与发布记录

@autonomys/auto-dag-data 共发布 112 个版本,首次发布于 2024/11/06;过去 12 个月发布了 24 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.7.0latest2026/11/043 天前
1.6.162026/10/2019 天前
1.6.152026/10/011 个月前
1.6.142026/06/045 个月前
1.6.132026/05/295 个月前
1.6.122026/05/295 个月前

其他发布通道:beta → 1.6.4-beta.1。

关于 @autonomys/auto-dag-data 的常见问题

如何安装 @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 和提交记录判断。