跳到主要内容

概述

欢迎使用 DID Space Client SDK for JavaScript!这是一个功能强大、现代化的库,专为 Node.js 环境设计,使您能够无缝地与 DID Space 进行交互。如果您正在构建用户真正拥有和控制其数据的应用程序,那么您来对地方了。

该 SDK 提供了一个简单而全面的接口,用于在以用户为中心且经过加密保护的去中心化存储系统中管理文件、同步文件夹以及处理其他数据对象。

主要特性

完整的对象管理

通过一套直观的命令,对单个文件和数据对象执行所有必要的 CRUD(创建、读取、更新、删除)操作。

强大的文件夹同步

使用高级的 `SyncFolderPush` 和 `SyncFolderPull` 命令,轻松地将本地目录与 DID Space 中的远程目录保持同步。

专门的 NFT 存储

通过专用命令处理 NFT 资产,该命令简化了资产文件及其关联的 DID Document 的上传过程,确保数据完整性。

设计确保安全

所有 API 请求都使用钱包进行加密签名,确保每次操作都经过身份验证且可验证,保护数据免受未经授权的访问。

核心架构

该 SDK 构建于一个简单而强大的基于命令的架构之上。您通过两个主要组件与 API 进行交互:

  1. `SpaceClient`

    SDK 的主要入口点。您使用配置和身份验证凭据来实例化它。

  2. Commands

    这些是代表您要执行的特定操作的类,例如上传文件或列出目录内容。每个命令都封装了其相应操作的参数和逻辑。

您的应用程序创建一个命令对象,为其填充必要的输入,然后将其传递给 SpaceClientsend 方法以执行请求。

SDK 使用模式

typescript
import { SpaceClient, PutObjectCommand } from '@blocklet/did-space-js';
import getWallet from '@blocklet/sdk/lib/wallet';

async function uploadFile() {
  // 1. 使用身份验证详细信息初始化客户端
  const client = new SpaceClient({
    auth: {
      endpoint: 'https://www.didspaces.com/app/api/space/...',
      wallet: getWallet(),
    },
  });

  // 2. 创建一个包含特定输入的命令
  const command = new PutObjectCommand({
    key: 'documents/hello.txt',
    data: 'Hello, DID Space!',
  });

  // 3. 发送命令并接收输出
  const output = await client.send(command);

  if (output.statusCode === 200) {
    console.log('File uploaded successfully!');
  } else {
    console.error('Upload failed:', output.statusMessage);
  }
}

uploadFile();

这种设计模式使 SDK 高度模块化且易于扩展。每个命令都是自包含的,使您的代码清晰且有条理。

Overview

如何浏览本篇文档

本篇文档的结构旨在帮助您找到所需的信息,无论您是刚刚起步还是在寻找特定细节。

后续步骤

准备好开始构建了吗?最好的学习方式是实践。请遵循我们的入门指南来安装 SDK 并进行您的第一次 API 调用。

转到入门指南

安装 SDK,初始化客户端,并执行您的第一次文件上传。

开始教程