Skip to content

Latest commit

 

History

History
129 lines (110 loc) · 5.56 KB

File metadata and controls

129 lines (110 loc) · 5.56 KB

DIAP TypeScript SDK 项目结构

📁 目录结构

DIAP-TS-SDK/
├── src/                          # 源代码目录
│   ├── index.ts                 # 主入口,导出所有公共 API ✅
│   ├── key-manager.ts           # 密钥管理模块 ✅
│   ├── ipfs-client.ts           # IPFS 客户端模块 ✅
│   ├── did-builder.ts           # DID 构建器模块 ✅
│   ├── identity-manager.ts       # 身份管理器模块 ✅
│   ├── agent-auth.ts            # 智能体认证管理器 ✅
│   ├── types/                   # 类型定义
│   │   ├── index.ts             # 类型导出入口 ✅
│   │   ├── key.ts               # 密钥相关类型 ✅
│   │   ├── did.ts               # DID 相关类型 ✅
│   │   ├── zkp.ts               # ZKP 相关类型 ✅
│   │   └── errors.ts            # 错误类型 ✅
│   ├── utils/                   # 工具函数
│   │   ├── crypto.ts            # 加密工具 ✅
│   │   ├── encoding.ts          # 编码工具 ✅
│   │   └── logger.ts            # 日志工具 ✅
│   ├── zkp/                     # 零知识证明模块
│   │   ├── universal-manager.ts # 通用 ZKP 管理器 ✅
│   │   ├── o1js-backend.ts     # o1js 后端 ✅
│   │   └── simplified-backend.ts # 简化后端 ✅
│   └── libp2p/                  # libp2p 相关
│       └── encrypted-peer-id.ts # PeerID 加密 ✅
├── examples/                    # 示例代码
│   ├── basic-usage.ts          # 基本使用示例 ✅
│   └── agent-auth.ts           # 智能体认证示例 ✅
├── docs/                        # 文档
│   └── IMPLEMENTATION_STATUS.md # 实现状态文档 ✅
├── package.json                 # 项目配置 ✅
├── tsconfig.json               # TypeScript 配置 ✅
├── vitest.config.ts            # 测试配置 ✅
├── .eslintrc.json              # ESLint 配置 ✅
├── .prettierrc                 # Prettier 配置 ✅
├── .gitignore                  # Git 忽略文件 ✅
├── LICENSE                     # MIT 许可证 ✅
└── README.md                   # 项目说明 ✅

✅ 已实现的核心模块

1. 类型定义 (src/types/)

  • key.ts - KeyPair, KeyFile, KeyBackup
  • did.ts - DIDDocument, VerificationMethod, Service, EncryptedPeerID
  • zkp.ts - NoirProverInputs, NoirProofResult, NoirVerificationResult
  • errors.ts - DIAPError 及所有子类
  • index.ts - 统一导出

2. 工具函数 (src/utils/)

  • crypto.ts - AES-256-GCM 加密/解密、密钥派生、随机数生成
  • encoding.ts - Base58, Base64, Hex, Multibase 编码/解码
  • logger.ts - Winston 日志系统

3. 密钥管理 (src/key-manager.ts)

  • ✅ KeyManager.generate() - 生成 Ed25519 密钥对
  • ✅ KeyManager.fromPrivateKey() - 从私钥加载
  • ✅ KeyManager.fromFile() / saveToFile() - 文件操作
  • ✅ KeyManager.exportBackup() / importFromBackup() - 备份导入导出
  • ✅ KeyManager.sign() / verify() - Ed25519 签名验证
  • ✅ deriveDIDKey() - 派生 did:key 格式

4. IPFS 客户端 (src/ipfs-client.ts)

  • ✅ IpfsClient.newPublicOnly() - 使用公共网关
  • ✅ IpfsClient.newWithRemoteNode() - 使用自定义节点
  • ✅ upload() - 上传到 IPFS
  • ✅ get() / getFromGateway() - 从 IPFS 获取
  • ✅ pin() - 固定内容
  • ✅ publishIpns() - IPNS 发布(占位符)

5. DID 构建器 (src/did-builder.ts)

  • ✅ DIDBuilder.addService() - 添加服务端点
  • ✅ DIDBuilder.addPubsubService() - 添加 PubSub 服务
  • ✅ DIDBuilder.buildDIDDocument() - 构建 DID 文档
  • ✅ DIDBuilder.createAndPublish() - 创建并发布 DID
  • ✅ getDIDDocumentFromCID() - 从 CID 获取 DID 文档
  • ✅ verifyDIDDocumentIntegrity() - 验证 DID 文档完整性

6. PeerID 加密 (src/libp2p/encrypted-peer-id.ts)

  • ✅ encryptPeerId() - 加密 PeerID
  • ✅ decryptPeerIdWithSecret() - 解密 PeerID
  • ✅ verifyPeerIdSignature() - 验证 PeerID 签名

7. 零知识证明 (src/zkp/)

  • ✅ UniversalNoirManager - 通用 ZKP 管理器
  • ✅ O1JSBackend - o1js 后端实现
  • ✅ SimplifiedBackend - 简化后端(用于测试)

8. 身份管理 (src/identity-manager.ts)

  • ✅ IdentityManager.registerIdentity() - 注册智能体身份
  • ✅ IdentityManager.generateBindingProof() - 生成 DID-CID 绑定证明
  • ✅ IdentityManager.verifyIdentityWithZKP() - 使用 ZKP 验证身份
  • ✅ IdentityManager.verifyPeerId() - 验证 PeerID

9. 智能体认证 (src/agent-auth.ts)

  • ✅ AgentAuthManager.new() - 创建管理器
  • ✅ AgentAuthManager.createAgent() - 创建智能体
  • ✅ AgentAuthManager.registerAgent() - 注册智能体
  • ✅ AgentAuthManager.generateProof() - 生成证明
  • ✅ AgentAuthManager.verifyIdentity() - 验证身份
  • ✅ AgentAuthManager.mutualAuthentication() - 双向认证
  • ✅ AgentAuthManager.batchAuthenticationTest() - 批量认证测试

10. 主入口 (src/index.ts)

  • ✅ 导出所有公共 API
  • ✅ 版本信息

🎯 下一步

  1. 安装依赖: npm install
  2. 构建项目: npm run build
  3. 运行测试: npm test
  4. 查看示例: 运行 examples/ 目录下的示例代码

📝 注意事项

  • 所有文件都已完整实现,包含完整的类型定义和错误处理
  • 代码遵循 TypeScript 严格模式
  • 使用 ES6 模块系统
  • 与 Rust SDK 保持功能对应关系

🔗 相关文档