- package.json - 项目配置和依赖
- tsconfig.json - TypeScript 配置
- vitest.config.ts - 测试配置
- ESLint 和 Prettier 配置
- .gitignore 文件
- README.md 和 LICENSE
-
src/types/key.ts- 密钥相关类型 -
src/types/did.ts- DID 相关类型 -
src/types/zkp.ts- ZKP 相关类型 -
src/types/errors.ts- 错误类层次结构 -
src/types/index.ts- 类型导出入口
-
src/utils/crypto.ts- AES-256-GCM 加密、密钥派生 -
src/utils/encoding.ts- Base58, Base64, Hex, Multibase 编码 -
src/utils/logger.ts- Winston 日志系统
-
src/key-manager.ts- KeyManager 类- generate() - 生成 Ed25519 密钥对
- fromPrivateKey() - 从私钥加载
- fromFile() / saveToFile() - 文件操作
- exportBackup() / importFromBackup() - 导入导出
- sign() / verify() - Ed25519 签名验证
- deriveDIDKey() - 派生 did:key 格式
-
src/ipfs-client.ts- IpfsClient 类- newPublicOnly() - 使用公共网关
- newWithRemoteNode() - 使用自定义节点
- upload() - 上传到 IPFS
- get() / getFromGateway() - 从 IPFS 获取
- pin() - 固定内容
- publishIpns() - IPNS 发布
- publishAfterUpload() - 上传后自动发布 IPNS
-
src/libp2p/encrypted-peer-id.ts- PeerID 加密工具 -
src/did-builder.ts- DIDBuilder 类- addService() - 添加服务端点
- addPubsubService() - 添加 PubSub 服务
- buildDIDDocument() - 构建 DID 文档
- createAndPublish() - 创建并发布 DID
- getDIDDocumentFromCID() - 从 CID 获取 DID 文档
- verifyDIDDocumentIntegrity() - 验证 DID 文档完整性
-
src/zkp/o1js-backend.ts- o1js 后端实现- DID-CID 绑定证明电路(对应 Rust Noir 电路逻辑)
- generateProof() - 生成证明
- verifyProof() - 验证证明
-
src/zkp/simplified-backend.ts- 简化后端(用于测试和回退) -
src/zkp/universal-manager.ts- 通用 ZKP 管理器- 后端自动选择(o1js > simplified)
- switchBackend() - 后端切换
-
src/identity-manager.ts- IdentityManager 类- registerIdentity() - 注册智能体身份
- generateBindingProof() - 生成 DID-CID 绑定证明
- verifyIdentityWithZKP() - 使用 ZKP 验证身份
- verifyPeerId() - 验证 PeerID
- extractEncryptedPeerId() - 提取加密 PeerID
-
src/agent-auth.ts- AgentAuthManager 类- new() / newWithRemoteIpfs() - 创建管理器
- createAgent() - 创建智能体
- registerAgent() - 注册智能体
- generateProof() - 生成证明
- verifyIdentity() - 验证身份
- mutualAuthentication() - 双向认证
- batchAuthenticationTest() - 批量认证测试
-
src/index.ts- 主入口,导出所有公共 API -
examples/basic-usage.ts- 基本使用示例 -
examples/agent-auth.ts- 智能体认证示例
- 单元测试 - tests/unit/
- 集成测试 - tests/integration/
- 端到端测试 - tests/e2e/
- API 文档 - docs/API.md
- 使用指南 - docs/GUIDE.md
- 架构文档 - docs/ARCHITECTURE.md
- libp2p 节点实现(完整版本)
- 配置管理器(ConfigManager)
- IPNS 完整实现 - DID 发布流程已集成 IPNS
- o1js 电路完整实现(需要更多 o1js API 了解)
- 密钥管理: 完整的 Ed25519 密钥对生成、存储、导入导出
- IPFS 集成: 基于 Helia 的轻量级客户端
- DID 构建: 符合 W3C 规范的 DID 文档构建和发布
- ZKP 支持: o1js 和简化后端,自动回退机制
- 身份认证: 完整的注册、证明生成和验证流程
- Rust
KeyPair→ TypeScriptKeyManager - Rust
IpfsClient→ TypeScriptIpfsClient(使用 Helia) - Rust
DIDBuilder→ TypeScriptDIDBuilder - Rust
NoirZKPManager→ TypeScriptUniversalNoirManager - Rust
IdentityManager→ TypeScriptIdentityManager - Rust
AgentAuthManager→ TypeScriptAgentAuthManager
- 运行测试: 确保所有模块正常工作
- 完善文档: 编写详细的 API 文档和使用指南
- 优化性能: 优化关键路径的性能
- 添加测试: 实现全面的测试覆盖
- o1js 电路: o1js API 可能需要进一步调整以完全对应 Rust Noir 电路
- PeerID 加密: tag 提取逻辑需要完善(当前简化版本)
- ZKP 验证: o1js 验证逻辑需要进一步实现
总体而言,核心功能已经实现,SDK 可以用于基本的身份认证和 DID 管理场景。