| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- /**
- * T029 演示:账户管理器桥接服务
- * 演示如何集成现有的 AccountManager 与新的 AccountSyncService
- */
- import { SystemOrchestrator } from '../src/modules/SystemOrchestrator.js'
- import { logger } from '../src/utils/logger.js'
- async function main() {
- logger.info('=== T029 账户管理器桥接演示 ===')
- try {
- // 1. 创建系统协调器
- const orchestrator = new SystemOrchestrator()
- // 2. 模拟账户配置
- const mockAccounts = [
- {
- id: '1',
- name: 'Pacifica Account 1',
- account: '0x1234567890abcdef1234567890abcdef12345678',
- privateKey: 'mock_private_key_1'
- },
- {
- id: '2',
- name: 'Pacifica Account 2',
- account: '0xabcdef1234567890abcdef1234567890abcdef12',
- privateKey: 'mock_private_key_2'
- }
- ]
- // 3. 初始化系统(启用控制平面模式)
- logger.info('初始化系统(启用控制平面模式)...')
- await orchestrator.initialize({
- accounts: mockAccounts,
- enableTrading: false,
- enableDashboard: false,
- enableControlPlane: true
- })
- // 4. 启动系统
- logger.info('启动系统...')
- await orchestrator.start()
- // 5. 检查桥接器状态
- const bridgeStats = orchestrator.getBridgeStats()
- logger.info('桥接统计信息:', bridgeStats)
- // 6. 获取统一系统状态
- const unifiedStatus = orchestrator.getUnifiedSystemStatus()
- logger.info('统一系统状态:', {
- legacyServices: Object.keys(unifiedStatus.legacy),
- controlPlaneStatus: unifiedStatus.controlPlane?.status,
- bridgeStatus: unifiedStatus.bridge?.isRunning
- })
- // 7. 手动触发账户同步
- logger.info('手动触发账户同步...')
- const syncResult = await orchestrator.triggerAccountSync()
- logger.info('同步结果:', syncResult)
- // 8. 等待一段时间让自动同步运行
- logger.info('等待 35 秒让自动同步运行...')
- await new Promise(resolve => setTimeout(resolve, 35000))
- // 9. 再次检查统计信息
- const updatedStats = orchestrator.getBridgeStats()
- logger.info('更新后的桥接统计:', updatedStats)
- // 10. 获取控制平面服务详情
- const controlPlaneService = orchestrator.getControlPlaneService()
- if (controlPlaneService) {
- const healthMetrics = controlPlaneService.getHealthMetrics()
- logger.info('控制平面健康指标:', healthMetrics)
- const systemStats = controlPlaneService.getSystemStatus()
- logger.info('控制平面系统统计:', systemStats)
- }
- // 11. 停止系统
- logger.info('停止系统...')
- await orchestrator.stop()
- logger.info('=== T029 演示完成 ===')
- } catch (error: any) {
- logger.error('T029 演示失败:', { error: error.message, stack: error.stack })
- process.exit(1)
- }
- }
- // 优雅关闭处理
- process.on('SIGINT', async () => {
- logger.info('收到 SIGINT 信号,正在优雅关闭...')
- process.exit(0)
- })
- process.on('SIGTERM', async () => {
- logger.info('收到 SIGTERM 信号,正在优雅关闭...')
- process.exit(0)
- })
- // 运行演示
- if (import.meta.url === `file://${process.argv[1]}`) {
- main().catch(error => {
- logger.error('演示运行失败:', error)
- process.exit(1)
- })
- }
|