当前位置: 首页 > news >正文

Hyperchain 从交易到回执的完整流程图

下面给你一张 “Hyperchain 从交易到回执”的完整流程图(包含:接收交易 → 校验 → 交易池/广播 → 打包出块 → 共识 → 执行(EVM/HVM/BVM)→ 落块/落状态 → 回执可查/通知)。我尽量按联盟链/Hyperchain 的典型实现把关键节点都画出来,你可以直接拿这张图去对照日志/模块代码。


完整流程图(交易 → 回执)

flowchart TD%% =========================%% Client side%% =========================A[客户端/SDK\n构造交易 Tx\n- to/nonce/data/namespace\n- gasLimit/gasPrice(若启用)\n- 签名(如SM2)\n=> 得到 txHash] --> B[发送交易\nJSON-RPC / SDK / Gateway]%% =========================%% Node ingress%% =========================B --> C[接入节点 Ingress\n(HTTP/JSON-RPC/gRPC handler)]C --> D{基础校验\n- 格式/字段\n- 签名/证书\n- 权限/黑白名单\n- nonce/重放保护\n- gas参数合法(若启用)\n- namespace合法}D -- 校验失败 --> R1[返回错误响应\n(未入池)\n如: INVALID_SIG / PERMISSION_DENIED / BAD_NONCE]D -- 通过 --> E[进入本地交易池 TxPool/Mempool]%% =========================%% Propagation%% =========================E --> F[交易传播/同步\n向其他节点广播tx\n(减少单点接入)]F --> G[其他节点也做同样基础校验\n并入各自TxPool]%% =========================%% Propose block%% =========================E --> H[出块者/Leader(当前轮)\n从TxPool选交易\n- 排序(按nonce/策略)\n- 去重/过滤过期]H --> I[组装区块 BlockBody\nTx列表]I --> J[计算根/摘要\nTxRoot/MerkleRoot(若协议使用)\nReceiptRoot(可选)\nStateRoot(可选)]J --> K[组装BlockHeader\nprevHash,height,time,roots,...]K --> L[计算 BlockHash\n= Hash(BlockHeader)\n(出块/验证模块做)\n并对提案签名]%% =========================%% Consensus%% =========================L --> M[发起共识提案\nPropose(blockHeader, blockBody, sig)]M --> N[验证节点 Validators\n验证提案:\n- header/body规则\n- tx合法性(可做轻/重校验)\n- BlockHash复算\n- prevHash/高度/时间窗口\n然后投票]N --> O{共识达成?\n(如BFT/RAFT等)}O -- 否 --> H2[换轮/超时重试\n可能更换leader\n重新打包/再提案] --> HO -- 是 --> P[提交 Commit\n区块被确认(最终一致)]%% =========================%% Execute & receipts%% =========================P --> Q[执行器 Executor\n按区块内顺序执行Tx\n读取当前状态State]Q --> VM{选择虚拟机/合约引擎}VM -- EVM --> EVM[EVM执行\n- 解析calldata/ABI\n- gas计费\n- 产生logs/ret\n- 写入状态变更]VM -- HVM --> HVM[HVM执行\n- 运行Java合约\n- 产生logs/ret\n- 写入状态变更]VM -- BVM --> BVM[BVM执行(系统内置合约)\n- 提案/权限/证书/存证等\n- 写入系统状态变更]EVM --> Q2[生成TxReceipt\nstatus/ret/logs/gasUsed/error]HVM --> Q2BVM --> Q2%% =========================%% Persist: block + state + index%% =========================Q2 --> S[落库/落盘 Persist\n1) 写区块数据 BlockStore\n(header/body)\n2) 写回执 ReceiptStore/索引\n(txHash->receipt)\n3) 提交状态 StateDB\n(失败Tx通常回滚其状态写集)\n4) 更新高度/检查点]S --> T[区块对外可查询\nblock_getBlockByNumber/hash\ntx_getTransaction/Receipt\nstate查询等]%% =========================%% Client receipt%% =========================T --> U{客户端获取回执方式}U -- 轮询 --> V[tx_getReceipt(txHash)\n直到查到]U -- 订阅/推送 --> W[事件/WS/回执推送\n(若部署了订阅服务)]V --> Z[客户端拿到回执\n- 成功/失败\n- ret/logs\n- blockNumber/blockHash\n- gasUsed(若启用)]W --> Z%% =========================%% Optional failure points after acceptance%% =========================E --> X1[可能被丢弃/延迟\n- TxPool满\n- tx过期\n- nonce缺口长期未补齐\n- 与已上链冲突]N --> X2[提案拒绝/交易剔除\n- 验证失败\n- 不满足策略]Q2 --> X3[执行失败但仍入块\n- revert/异常\n- Out of Gas(若启用)\n=> receipt失败\n=> 状态不变(通常)]

你用这张图定位问题的“抓手”(最常见的断点)

  • 收不到回执,先判断卡在哪一段:

    1. 没入池:Ingress 校验失败(签名/证书/权限/nonce/namespace)→ 立刻返回错误
    2. 入池但不上链:TxPool 过滤、交易过期、nonce 缺口、共识没打包到
    3. 已入块但失败:执行阶段 revert / Out-of-Gas → receipt 是失败,但一定能查到(除非落库/索引没写好)
  • “共识是不是合约实现的?”
    图里共识(M/N/O/P)是节点共识模块;合约执行在 Q/VM 分支。合约只影响业务状态,不负责共识过程本身。

  • “区块 hash 在哪算?”
    图里 K→L:组装 header 后算 BlockHash;验证节点在 N 会复算验证。


如果你愿意,我也可以把这张图再“工程化”成你们排障最常用的 日志关键字清单(每一步应该出现哪些日志/指标、对应到 Hyperchain 的哪些模块/端口),这样你拿到一段节点日志就能快速判断卡点在哪。

http://www.jsqmd.com/news/308496/

相关文章:

  • 2026年 散热器厂家推荐排行榜:LED/PC/服务器/水冷/特种散热器,非标定制与高效散热解决方案深度解析
  • 2026年干燥设备定制新选择:国内高评价厂家,干燥机/单锥真空螺带干燥机/干燥设备/盘式干燥机,干燥设备品牌口碑排行
  • 2026年全国假发品牌权威榜单 假发优质品牌定制与场景适配全景解析
  • 收藏!2026届大厂校招AI人才大战白热化,程序员必看大模型入局指南
  • 实验室多台密炼机集中监控管理系统方案
  • 2026年模具监视器厂家推荐排行榜:注塑机/压铸/冲压/吹塑/铸造/连续模内智能视觉监视器,技术革新与高效生产保障之选
  • 2026年1月轿车托运公司推荐排行榜单深度对比与实用选择指南
  • 2026年1月国内靠谱西瓜分选机产品排行信息来了,水果选果机/西瓜选果机/智能水果分选机/冬枣选果机,分选机厂商怎么选择
  • 高低温冲击试验箱十大厂家最新排名:2026年哪些品牌凭创新逆袭?
  • 2026年1月轿车托运公司推荐排行榜:五家服务商综合对比与深度评测分析
  • 数据采集终端哪个好用?有哪些推荐?
  • 【Django毕设源码分享】基于Django的宠物寄养平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • Java static
  • 静态代码块和非静态代码块有什么区别?
  • 【Django毕设源码分享】基于Django的大学生心理健康管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 【开题答辩全过程】以 基于Java的图书馆座位预约管理系统设计为例,包含答辩的问题和答案
  • 2026年1月智能AI客服服务商推荐排行榜单:五大服务商深度对比与评测
  • 探索AI视频生成:高效工作流搭建与实战指南
  • Skills3技能库:全方位提升开发效能的集成解决方案
  • 如何用AI游戏算法实现2048智能决策?探索游戏AI的核心技术与应用
  • 【开题答辩全过程】以 基于Java的网络问题投诉处理系统为例,包含答辩的问题和答案
  • 导师推荐9个AI论文写作软件,本科生轻松搞定毕业论文!
  • Django测试客户端(Client)详解:模拟浏览器请求
  • 【独立站神器】1688 详情页“长图”太长怎么翻?揭秘 AI 如何一键搞定 10000px 超长海报,无需切图!
  • 龙牙战术服装联系方式:消费者联系途径与选购注意事项
  • 【家居卖家痛点】沙发尺寸图全是中文?揭秘 AI 如何一键“cm 转 inch”并修复背景,退货率直降 30%!
  • 压滤机整机专业制造商哪家好,快来一探究竟
  • 2026年全国假发品牌哪家好? 聚焦高端定制与优质个性化场景化需求
  • 2026年薄膜压力传感器加工厂推荐,口碑好的品牌有哪些
  • 2026年口碑卓越的靠谱装修公司TOP10,昆明这些企业上榜