hailin
|
3635369a8a
|
feat(mining-blockchain): RPC端点自动故障转移,连续失败3分钟后切换备选节点
问题:Kava主网RPC (evm.kava.io) 偶发503,导致mining-blockchain-service
所有链上操作失败(转账、余额查询、区块扫描等)。
方案:新增RpcProviderManager单例服务,统一管理各链的JsonRpcProvider实例,
当某个RPC端点连续失败超过3分钟后自动轮转到下一个备选端点。
新增文件:
- rpc-provider-manager.service.ts: 核心故障转移管理器
· 每条链维护 provider/urls/currentIndex/failureState
· reportSuccess() 重置失败状态
· reportFailure() 记录失败,>=3分钟触发 switchToNextUrl()
· 轮转创建新 JsonRpcProvider,替换旧实例
· 每30秒记录一次失败日志,避免日志刷屏
修改文件:
- blockchain.config.ts: 新增 rpcUrls 配置字段(KAVA_RPC_URLS/BSC_RPC_URLS)
- chain-config.service.ts: 解析逗号分隔的URL列表,回退到单个rpcUrl
- 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.2.0.yml: 添加KAVA_RPC_URLS默认4个端点
- .env.example: 添加KAVA_RPC_URLS配置说明
默认端点仍为 evm.kava.io,备选: evm.kava-rpc.com,
kava-evm-rpc.publicnode.com, rpc.ankr.com/kava_evm
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 07:06:31 -08:00 |
hailin
|
3b95a8a332
|
feat(mining-blockchain): 支持 eUSDT 和 fUSDT 独立做市商钱包
- 新增 EUSDT_MARKET_MAKER_USERNAME/ADDRESS 配置
- 新增 FUSDT_MARKET_MAKER_USERNAME/ADDRESS 配置
- mpc-signing.client.ts: 分离 eUSDT 和 fUSDT 做市商签名方法
- erc20-transfer.service.ts: 根据代币类型选择对应钱包转账
- transfer.controller.ts: 更新余额查询和状态接口
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-28 19:05:15 -08:00 |
hailin
|
aa33803d08
|
fix(mining-blockchain): 修正做市商钱包配置项顺序
统一 USERNAME 在前,ADDRESS 在后的格式,与 HOT_WALLET 保持一致
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-28 18:33:16 -08:00 |
hailin
|
4283a369ae
|
fix(mining-blockchain-service): 修复Redis DB配置超出范围问题
- 将 REDIS_DB 从 16 改为 8(Redis 仅支持 0-15)
- 更新 .env.example 添加做市商钱包配置说明
- 添加 eUSDT/fUSDT 合约地址配置
- 添加区块扫描配置项
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-28 18:16:38 -08:00 |
hailin
|
042a52550b
|
feat(c2c): 实现C2C Bot自动交易系统
- 创建独立的 mining-blockchain-service 服务 (基于 blockchain-service)
- 添加 dUSDT 转账接口供 C2C Bot 调用
- 实现 C2cBotService 自动购买卖单
- 实现 C2cBotScheduler 每10秒扫描待处理卖单
- 添加 BlockchainClient 和 IdentityClient 客户端
- 更新 C2cOrder 模型添加 Bot 购买相关字段
- 使用 MPC 热钱包签名交易
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-28 07:10:25 -08:00 |