rwadurian/backend/services/blockchain-service/src/domain
hailin 48720d1846 feat(blockchain): 1.0 blockchain-service 同步添加 RPC 端点自动故障转移
与 mining-blockchain-service (2.0) 保持一致的故障转移方案:
当 RPC 端点连续失败超过 3 分钟后自动轮转到下一个备选端点。

新增文件:
- rpc-provider-manager.service.ts: RPC 故障转移管理器(与 2.0 相同逻辑)

修改文件:
- blockchain.config.ts: 新增 rpcUrls 配置字段
- chain-config.service.ts: 新增 rpcUrls 属性和 parseRpcUrls 解析方法
- domain.module.ts: 注册并导出 RpcProviderManager
- index.ts: 导出 RpcProviderManager
- evm-provider.adapter.ts: 委托 RpcProviderManager 获取 provider,
  所有方法通过 executeWithFailover 包裹
- erc20-transfer.service.ts: 移除本地 providers Map,改用 RpcProviderManager,
  新增 isRpcConnectionError 区分 RPC 网络错误与合约执行错误
- docker-compose.yml: blockchain-service 添加 KAVA_RPC_URLS 默认 4 个端点

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 07:36:02 -08:00
..
aggregates refactor!: 重构账户序列号格式 (BREAKING CHANGE) 2025-12-12 09:11:18 -08:00
enums feat: move address derivation from identity-service to blockchain-service 2025-12-06 21:08:21 -08:00
events refactor!: 重构账户序列号格式 (BREAKING CHANGE) 2025-12-12 09:11:18 -08:00
repositories feat(blockchain): implement Outbox Pattern for reliable event delivery 2025-12-09 21:47:31 -08:00
services feat(blockchain): 1.0 blockchain-service 同步添加 RPC 端点自动故障转移 2026-02-01 07:36:02 -08:00
value-objects feat: move address derivation from identity-service to blockchain-service 2025-12-06 21:08:21 -08:00
domain.module.ts feat(blockchain): 1.0 blockchain-service 同步添加 RPC 端点自动故障转移 2026-02-01 07:36:02 -08:00