创世注册中心 (genesis_registry_v1)

知识网络定位

当前页面已进入跨页知识网络层:不仅展示本页拓扑,还明确它在整站里的分类、被哪些页面引用、又继续指向哪些专题与证据页。

打开知识网络总览
状态:已实现 分组:控制与治理 出链:13 回链:25 相邻推荐:8
金库多签阈值治理时间锁提案注册中心规范键

Registry 交叉校验

可证:canonical key 查询、分页 list、节点 resolve 地址三条链路均有证据 新增:运行时改为 canonical role resolver,具体实现名只留在 alias / genesis / artifact 边界 边界:reserved / timeout / empty 仍要保留,不把未解析结果画成 active 证明链:keyspace -> resolve -> dao/foundation/emission 下游引用

主线收口联动

用途:把 registry 放回当前冻结门禁三联页,避免只看寻址页就停下 边界:不能把 canonical key 可查 直接表述成注册中心已最终收口

本页能证明什么

registry 页当前证明的是“关键地址来自链上 canonical key 寻址”,而不是由页面作者手工填地址。

  • 可证六个当前强制 key 已形成统一 keyspace。
  • 可证 `active / reserved` 会在 query 响应里真实区分。
  • 可证节点启动时确实会 resolve 并写入运行时地址表。
  • 当前 live 节点还暴露了 surface 地址与 canonical 地址分离,最终收口仍需完成对账。

本页为何可信

可信性不是来自单个成功查询,而是来自“单 key 查询 + 分页列表 + 运行时 resolve + 负样本保留”四段式证据。

  • 单 key 证明规范键存在且可单点追查。
  • 分页 list 证明不是只截取对自己有利的单样本。
  • reserved / timeout / empty response 保留,避免把未部署对象误写成 active。

推荐阅读顺序

白皮书读者如果只想确认“地址到底从哪里来”,可按这条最短路径核对。

  • 先看 `Keyspace`,确认有哪些 canonical key 受当前规则约束。
  • 再看 `QueryFlow / StatusModel`,确认 active 与 reserved 的链上差异。
  • 最后跳 `dao / foundation / emission`,确认下游页面真的引用 registry。
寻址链路 拓扑锚点 原始证据 典型下游 可信意义
单 key 查询 User -> QueryKey -> Resolve -> Addr / Null `get_contract_by_canonical_key(...)` 原文 `foundation` / `emission` 证明地址不是文档手填,active 与 reserved 有链上区分
分页核对 ListPage1 -> Page1 -> StartAfter -> ListPage2 -> Page2 `list_contracts` page1 / page2 响应 `evidence_index` 证明 registry 不是只展示单点样本,而是可分页巡检整个注册表
运行时 resolve Addr -> Refresh -> Apply `pkg/quantum/node.go` resolve 逻辑 `dao` / `foundation` / `emission` 证明 registry 是节点运行依赖面,不是白皮书注释页
拓扑追踪模式:支持悬停预览、点击锁定、节点搜索、只看上游、只看下游,以及“仅一跳 / 全链路”切换,帮助查看者在复杂拓扑中快速定位流程关系。
搜索 支持热词与别名检索:金库 / 治理 / 证明 / 复核 / 总控 / 注册中心 / 铸造 / 处罚
热词
方向
深度
未锁定 | 双向 | 全链路 | 悬停预览,点击锁定
当前节点 上游链路 下游链路 双向汇聚 非当前路径

flowchart TD
    subgraph Keyspace["Canonical Key 空间"]
        KeyDAO["dao_governance"] --> Registry["genesis_registry_v1"]
        KeyTreasury["foundation_treasury"] --> Registry
        KeyGas["gas_fee_distribution"] --> Registry
        KeyEco["economic_constitution"] --> Registry
        KeyBlock["block_time_schedule"] --> Registry
        KeyEmission["emission_schedule"] --> Registry
    end

    subgraph QueryFlow["链上查询与分页"]
        User["节点 / 运维 / 审计脚本"] --> QueryKey["get_contract_by_canonical_key(key)"]
        User --> ListPage1["list_contracts(limit=5)"]
        ListPage1 --> Page1["第 1 页 5 条 / total_contracts = 12"]
        Page1 --> StartAfter["start_after = challenge_slashing_v1"]
        StartAfter --> ListPage2["list_contracts(limit=5, start_after=...)"]
        ListPage2 --> Page2["第 2 页继续返回 dao / dar / emission / treasury / gas"]
    end

    subgraph StatusModel["状态模型"]
        Registry --> Active["active -> 已部署且可解析地址"]
        Registry --> Reserved["reserved -> 未部署 / 保留键位"]
        QueryKey --> Resolve{"返回状态"}
        Resolve -->|"active"| Addr["contract_name + contract_address"]
        Resolve -->|"reserved"| Null["contract_name=null / contract_address=null"]
    end

    subgraph RuntimeUse["节点运行时使用"]
        Addr --> Refresh["Node 启动后 delayed refresh"]
        Refresh --> Normalize["normalizeContractRoleAliases"]
        Normalize --> RoleResolve["contractAddressForRole(canonical role)"]
        RoleResolve --> Apply["写入 merged contractAddresses"]
        Null --> Pending["保持 pending / placeholder"]
        Pending --> Retry["等待下轮刷新 / 不伪装成成功"]
    end

    QueryKey -.-> Timeout["负样本: reserved / timeout / empty response"]
    Apply --> DAORef["dao.html
治理寻址依赖 registry"] Apply --> TreasuryRef["foundation.html
金库地址依赖 registry"] Apply --> EmissionRef["emission.html
发行合约地址依赖 registry"] DAORef --> DownstreamProof["proposal_id / execution_id / emission_state"] DownstreamProof -.-> Evidence["evidence_index.html
canonical key / pagination / timeout"] Pending -.-> CredBoundary["credibility.html
保留态不会伪装成已上线"]