/** * 凭证管理器基本使用示例 * * 演示如何使用凭证管理器进行账户加载、签名等基本操作 */ import { CredentialManagerFactory, Platform, PacificaOrderType } from '../src/index'; async function basicUsageExample() { console.log('🚀 凭证管理器基本使用示例'); // 1. 创建凭证管理器 const factory = new CredentialManagerFactory(); const manager = await factory.create({ enableFileWatching: false, // 示例中禁用文件监听 enableLogging: true, logLevel: 'info' }); try { // 2. 添加Pacifica账户 console.log('\n📝 添加Pacifica账户...'); const success = await manager.addAccount({ id: 'pacifica-demo-001', platform: Platform.PACIFICA, credentials: { type: 'pacifica', privateKey: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' // 示例私钥 }, metadata: { alias: 'Pacifica演示账户', description: '用于演示的Pacifica账户' } }); if (success) { console.log('✅ 账户添加成功'); } // 3. 列出所有账户 console.log('\n📋 当前账户列表:'); const accounts = manager.listAccounts(); accounts.forEach(account => { console.log(` - ${account.id} (${account.platform}) - ${account.metadata?.alias}`); }); // 4. 签名测试 console.log('\n🔐 执行签名测试...'); const testMessage = new TextEncoder().encode('Hello, Pacifica!'); const startTime = Date.now(); const signResult = await manager.sign('pacifica-demo-001', testMessage); const signTime = Date.now() - startTime; if (signResult.success) { console.log(`✅ 签名成功! 耗时: ${signTime}ms`); console.log(` 算法: ${signResult.algorithm}`); console.log(` 签名: ${signResult.signature?.substring(0, 20)}...`); console.log(` 执行时间: ${signResult.executionTime}ms`); // 验证性能要求 if (signResult.executionTime && signResult.executionTime < 50) { console.log('🎯 满足 <50ms 性能要求'); } else { console.log('⚠️ 未满足 <50ms 性能要求'); } } else { console.log(`❌ 签名失败: ${signResult.error}`); } // 5. 获取统计信息 console.log('\n📊 管理器统计信息:'); const stats = await manager.getStats(); console.log(` 总账户数: ${stats.totalAccounts}`); console.log(` Pacifica账户: ${stats.accountsByPlatform[Platform.PACIFICA]}`); console.log(` 总签名次数: ${stats.totalSignatures}`); console.log(` 成功率: ${(stats.successRate * 100).toFixed(1)}%`); console.log(` 平均签名时间: ${stats.averageSignatureTime.toFixed(2)}ms`); console.log(` 运行时间: ${(stats.uptime / 1000).toFixed(1)}s`); // 6. 移除账户 console.log('\n🗑️ 移除账户...'); const removed = await manager.removeAccount('pacifica-demo-001'); if (removed) { console.log('✅ 账户移除成功'); } } finally { // 7. 清理资源 console.log('\n🧹 清理资源...'); await manager.destroy(); console.log('✅ 示例完成'); } } // 执行示例 if (require.main === module) { basicUsageExample().catch(console.error); } export { basicUsageExample };