Commit Graph

5 Commits

Author SHA1 Message Date
hailin bc0d1e0876 feat: 新增 deploy.sh 部署管理脚本体系 — 后端主控+12服务独立+区块链
参照 rwadurian 项目模式,为全栈系统创建统一的 deploy.sh 管理体系:

- backend/deploy.sh: 主控脚本 (up/down/restart/build/build-no-cache/health/infra-*/单服务操作)
- 12个服务独立 deploy.sh (build/rebuild/start/stop/restart/logs/health/shell/test)
- blockchain/deploy.sh: 节点+生态+合约+浏览器+监控全覆盖
- 更新 09-编译部署指南.md 新增第9章 deploy.sh 使用文档

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:13:09 -08:00
hailin 4c1d907df6 feat: ERC-1155 同质化券系统 + denom统一为agnx (18位EVM标准)
新增ERC-1155双模式券系统(Utility Track专用):
- ICouponBatch接口 + CouponBatch核心合约(FACTORY/BURNER角色)
- Redemption1155兑付合约(余额/过期/门店/黑名单验证)
- CouponFactory新增mintBatch1155路由(上限100,000张O(1)铸造)
- Deploy.s.sol部署CouponBatch+Redemption1155+角色授权
- 46个新测试(CouponBatch 16 + Redemption1155 9 + Factory 11 + Integration 5 + fuzz)

Denom统一: ugnx(6位)→agnx(18位EVM标准), 金额×10^12

全量测试143/143通过,编译零错误。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 22:34:30 -08:00
hailin 0ea869ac46 fix: 区块链生态审计修复 — SDK补全 + Enterprise API加固 + 删除无用wallet-service
基于08-区块链生态基础设施开发指南的全面审计,修复以下问题:

## SDK 补全(对齐指南 §7.2-7.4)

- **JS SDK**: 新增 SettlementModule (settlement.ts),实现 executeSwap() 合约交互
  和 onSwapExecuted() 事件监听,补齐指南 §7.2 要求的 settlement 模块
- **Go SDK**: 新增 ExecuteSwap() 函数 (settlement.go),完整实现 ABI 编码 → nonce
  获取 → gas 估算 → 签名 → 广播 → receipt 等链上交易全流程
- **Dart SDK**: 新增统一事件订阅接口 subscribeEvents(EventFilter),匹配指南 §7.4
  规范;新增 EventFilter 模型类,支持 newHeads/logs 两种订阅类型

## Enterprise API 加固(对齐指南 §3.2/§3.4)

- 新增 TierThrottlerGuard 分层限流守卫,按 API tier 区分速率限制:
  public 60/min, institutional 600/min, regulatory/internal unlimited
- WebSocket 网关增加完整认证:API Key 通过 query param 或 header 传递,
  最低要求 institutional 级别,未认证连接自动拒绝

## 删除无用的 wallet-service(架构纠正)

- 删除 blockchain/wallet-service/ 整个目录(13个文件,875行代码)
  该服务架构设计有误:钱包操作(用户钱包、机构操作、治理多签)已由现有
  后端微服务处理(user-service:3001、issuer-service:3002、trading-service:3003、
  clearing-service:3004),无需在 blockchain/ 目录下另建独立服务
- docker-compose.yml: 移除 wallet-service 服务定义和端口 3021 映射
- chain-ci.yml: 从 NestJS 生态服务 CI matrix 中移除 wallet-service
- 08-指南: 删除第4节(钱包体系 §4.1-4.3),移除部署清单中 MPC签名服务:3021,
  更新生态全景图,章节重新编号 (12→11章)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 22:05:52 -08:00
hailin 3783c5a91b feat: 区块链生态基础设施完整实现 — 12组件全量交付 (Phase 11)
严格遵循 08-区块链生态基础设施开发指南.md,实现全部 12 个生态组件:

### 1. Blockscout 区块浏览器 (:4000)
- docker-compose.explorer.yml: Blockscout + PostgreSQL 16 + Redis 7 + Smart Contract Verifier
- 4 个自定义 Elixir 模块: 券NFT详情页、合规标签、发行人档案、CBS池视图

### 2. 企业API服务 — enterprise-api (NestJS, :3020)
- 4层认证体系: Public(gx_pub_) / Institutional(gx_inst_) / Regulatory(gx_reg_) / Internal(gx_internal_)
- ApiKeyGuard + MtlsGuard 双重认证, RequireApiTier 装饰器
- 8个业务模块: blocks, transactions, address, coupon, stats, rpc, export, regulatory
- WebSocket 事件网关 (/v1/ws/events), 合约 ABI 集成 (ethers v6)

### 3. MPC钱包服务 — wallet-service (NestJS, :3021)
- 2-of-3 阈值签名 (us-east/sg/cold-storage HSM 分片)
- 用户钱包 (手机号→链地址映射)、机构钱包 (mint/deposit/trade + 多签)
- 治理钱包 (Gnosis Safe 5签名人, 3/5常规 4/5紧急阈值, 提案生命周期)

### 4. Gas代付中继 — gas-relayer (NestJS, :3022)
- EIP-712 类型化数据签名验证 (verifyTypedData)
- Redis 原子 Nonce 管理 (INCR), 用户级重放保护 (SADD/SISMEMBER)
- 熔断器: 50 tx/min/user, 60s TTL 速率计数
- Gas 记账: 按用户 HINCRBY 追踪, 全局统计

### 5. 测试网水龙头 — faucet-service (NestJS, :3023)
- 每地址每24h: 100 GNX (native transfer) + 10,000 test USDC (MockUSDC.mint)
- Redis SETEX 冷却追踪, ThrottlerModule 10 req/min 全局限流

### 6. 跨链桥监控 — bridge-monitor (Go/Gin, :3024)
- Axelar 桥定期对账 (默认5分钟间隔)
- 偏差 > 0.01% 自动触发紧急暂停 + Webhook 告警 (Slack/PagerDuty)
- Prometheus metrics: TVL, locked/minted, discrepancy, reconciliation count

### 7. 链监控 — chain-monitor (Prometheus + Grafana + AlertManager)
- Prometheus: 抓取 CometBFT(26660) + EVM(6065) + 全部生态服务 + node-exporter
- 14 条告警规则: 共识/EVM/存储/网络/中继器/桥/业务 7 大类
- AlertManager: warning→Slack(4h), critical→PagerDuty(30m)
- Grafana: 12 面板仪表盘 (区块高度/出块时间/验证者/TX吞吐/内存池/中继余额/券铸造/桥TVL等)

### 8. 开发者SDK — 三端覆盖
- **JS SDK** (genex-sdk-js): GenexClient + CouponModule + BlockModule + EventModule(WebSocket自动重连)
- **Go SDK** (genex-sdk-go): ethclient 封装, SubscribeFilterLogs/SubscribeNewHead 事件订阅
- **Dart SDK** (genex-sdk-dart): JsonRpcClient(HTTP+批量) + WebSocketClient(eth_subscribe)
  - 7 模型类, ABI 编码工具, 合约地址配置, GNX 余额格式化

### 9. 归档节点 — archive-node.toml
- pruning = "nothing" 全历史状态保留
- debug/trace API 开启, 8192MB block cache
- snapshot-interval = 1000 供新节点快速同步

### 10. 合约安全CI — GitHub Actions
- contract-security.yml: Foundry Tests + Slither (crytic/slither-action) + Mythril + Blockscout 合约验证
- chain-ci.yml: Go build/test/lint + NestJS matrix build (4服务) + Dart analyze

### 11. Docker Compose 更新
- ecosystem profile 集成: enterprise-api, wallet-service, gas-relayer, faucet, bridge-monitor, archive node
- `docker compose --profile ecosystem up -d` 一键启动全部生态服务

### 端口分配
3020=企业API, 3021=钱包, 3022=Gas中继, 3023=水龙头, 3024=桥监控
4000=Blockscout, 9090=Prometheus, 3030=Grafana, 8600=归档节点EVM

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 18:03:04 -08:00
hailin a1293e8445 feat: Genex Chain 区块链完整实现 — cosmos/evm v0.5.1 应用链 + 9合约 + 合规集成
区块链核心 (blockchain/genex-chain/):
- app.go: 真实 Cosmos SDK BaseApp, 20+ 模块注册 (auth/bank/staking/evm/feemarket/erc20/ibc...)
- genesis.go: EVM/FeeMarket/Mint 创世状态, NoBaseFee=true (Gas补贴)
- compliance_integration.go: ComplianceAnteHandler 桥接到 SDK ante 链
  TX → OFAC/TravelRule/Structuring 拦截 → cosmos/evm AnteHandler → Mempool
- cmd/genexd/: 完整 CLI (init/start/keys/query/tx + EVM JSON-RPC/WS)
- x/evm/ante/: 链级合规拦截 (OFAC + Travel Rule ≥$3k + Structuring 24h检测), 18 tests
- x/evm/keeper/: Gas 费覆盖 (平台补贴 + EIP-1559 预留), 13 tests

智能合约 (blockchain/genex-contracts/):
- 9 合约: CouponFactory, Coupon(ERC-721), Settlement, Redemption,
  Compliance, Treasury, Governance, ExchangeRateOracle, CouponBackedSecurity
- 3 接口: ICoupon, ICompliance, IChainlinkPriceFeed
- Deploy.s.sol: Transparent Proxy 部署 + 角色授权
- 102/102 Foundry tests (含 fuzz + 集成)

链参数: Bech32=genex, Denom=agnx(18d), EVM ChainID=8888, ≤1s出块
部署: Docker 6节点 (3创世+2机构+1监管), docker-compose.yml

修复:
- ComplianceAnteHandler 集成到真实 Cosmos SDK ante handler 链 (§6/§16)
- init-testnet.sh denom 从 ugnx 修正为 agnx + 18位精度金额 (§13)

指南符合性: 06-区块链开发指南.md 21节中17节完全符合, 4节偏差已修复/标注

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:40:37 -08:00