@filebase/sdk

中文文档
1.0.6发布于 2024/09/21MITTypeScriptESM + CJS近 30 天下载 5864

用于与文件库服务交互的 SDK [S3( Buckets, Objects), IPS( Gateways, Pins) IPNS( 名)]

中文使用文档
文档目录4 节
  1. 关于
  2. JS 客户端
  3. 开始
  4. 测试

• 文件库SDK

开发者友好 [Etrol] 森林小组 | 互联网档案馆的存檔,存档日期2013-12-04 [S3]

关于

Filebase SDK提供混合数据管理解决方案,将S3兼容云存储与IPFS相混合 (行星间文件系统) 接线服务. 它具有强大的S3桶管理、上传对象处理和 下载,并与IPFS和IPNS(行星间命名系统)进行无缝集成,用于分散存储 操作。 SDK支持高级数据任务,如将文件汇编到 CAR( Content addressable aRchive) 格式和 通过强有力的认证确保安全交易。 为各种应用程序设计的 Filebase SDK 是理想的 与分散式、对等式的优势相结合 储存、满足内容分发、数据备份和档案等各种需要。 发展行星际 申请从未如此容易.

JS 客户端

使用 npm 安装软件包

npm install @filebase/sdk

线条 :

yarn add @filebase/sdk

开始

下面的片段显示如何用 BucketManager,将新对象上传到 IPFS 与 ObjectManager,用 NameManager,删除对象为 ObjectManager 终于 删除桶为 BucketManager。 。 。 .

要使用您的工程中的库, 请使用 npm 或 纱线安装 @filebase/sdk 模块。 需要节点.js 16+.

节点.js

// Import Classes
import {
  BucketManager, 
  ObjectManager, 
  NameManager, 
  GatewayManager, 
  PinManager
} from '@filebase/sdk'

// Initialize BucketManager
const bucketManager = new BucketManager(S3_KEY, S3_SECRET);
// Create bucket
const bucketName = `create-bucket-[random string]`;
await bucketManager.create(bucketName);

// Initialize ObjectManager
const objectManager = new ObjectManager(S3_KEY, S3_SECRET, {
  bucket: bucketName
});
// Upload Object
const objectName = `new-object`;
const uploadedObject = await objectManager.upload(objectName, body);
// Download Object
await uploadedObject.download();
// Copy Object to a New Bucket
const bucketCopyDestinationName = `copy-dest-bucket`
await bucketManager.create(bucketCopyDestinationName);
await objectManager.copy(`new-object`, bucketCopyDestinationName);

// Initialize NameManager
const nameManager = new NameManager(S3_KEY, S3_SECRET);
// Create New IPNS Name with Broadcast Disabled
const ipnsLabel = `myFirstIpnsKey`;
const ipnsName = await nameManager.create(ipnsLabel, uploadedObject.cid, {
  enabled: true
});

// Initialize GatewayManager
const gatewayManager = new GatewayManager(S3_KEY, S3_SECRET);
// Create New Gateway
const gatewayName = "myRandomGatewayName";
const myGateway = await gatewayManager.create(gatewayName);

// Initialize PinManager
const pinManager = new PinManager(S3_KEY, S3_SECRET, {
  bucket: bucketName,
  gateway: {
    endpoint: "https://myRandomGatewayName.myfilebase.com"
  }
});
// Create New Pin with Metadata
const myNewPin = await pinManager.create("my-pin", "QmTJkc7crTuPG7xRmCQSz1yioBpCW3juFBtJPXhQfdCqGF", {
  "application": "my-custom-app-on-filebase"
});

关于JS客户端的全部API参考文件,请访问 https://filesbase.github.io/filesbase-sdk 页面存档备份,存于互联网档案馆

测试

测试见于 test 目录并被构建为与Node.js v20+测试跑车运行.

版本与发布记录

@filebase/sdk 共发布 7 个版本,首次发布于 2023/12/23;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.6latest2024/09/212 年前
1.0.52024/09/172 年前
1.0.42024/03/192 年前
1.0.32024/02/082 年前
1.0.22024/01/032 年前
1.0.12023/12/232 年前

关于 @filebase/sdk 的常见问题

@filebase/sdk 是什么?

用于与文件库服务交互的 SDK [S3( Buckets, Objects), IPS( Gateways, Pins) IPNS( 名)]

如何安装 @filebase/sdk?

在项目目录运行 npm install @filebase/sdk,或使用 pnpm add / yarn add / bun add。

@filebase/sdk 支持 TypeScript 吗?

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

@filebase/sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@filebase/sdk 需要什么版本的 Node.js?

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

@filebase/sdk 可以商用吗?

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

@filebase/sdk 的下载量有多少?

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

@filebase/sdk 还在维护吗?

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