RPC 与 API 接口

知识网络定位

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

打开知识网络总览
功能状态:implemented_local(本地已实现) 分组:运行与状态 出链:8 回链:19 相邻推荐:8
治理时间锁提案注册中心规范键铸造奖励结算

结构审计摘要:结构审计统计由当前生成产物动态读取;结构审计不等于业务或底层代码安全审计

RPC / API 部署口径

当前推荐:P2P / RPC / API 三主口分离,便于同机双节点隔离与运维观测 代码兼容:RegisterRoutesTo 仍支持 RPC + API 共口 shared mux 边界:自动派生端口与纪念数字属于运行态/部署细节,不上升为白皮书主规则

端口与路由归属

路由组canonical 端口归属服务
/api/v1/*13148RPC mux
/cosmos/*、/cosmwasm/*16197REST
/agent/v1/*13197Agent API

默认主节点端口:RPC 13148 / Agent API 13197 / Health 15197 / REST 16197 / gRPC 19197 / P2P 19238(metrics 17197、pprof 18197、operator console 20197 默认不对外)。contract-call 组(/api/v1/contracts/*)与 receipt 路径在 13148 与 16197 两侧请求与响应形状一致,因此客户端只钉一个端口即可复用同一解析器。

业务读写路径请用 canonical 归属端口,而不是就近任选一个 REST 16197 带生产就绪门:除少数诊断路径外会返回服务不可用,直到门禁满足 端口是默认分配,不等于某台主机已对外公开

交易与签名模型

交易编码:JSON 序列化的 types.Transaction,不是 protobuf TxRaw 签名:CRYSTALS-Dilithium-5(签名 4595B / 公钥 2592B),绑定 chain_id 做重放保护 广播端点只接受 MSG native 签名交易;标准 Cosmos / CosmJS 签名交易会被拒绝 唯一可签名客户端 = 官方 SDK(@msg-chain/sdk,native Dilithium-5) Keplr / CosmJS / MetaMask 只能只读,不能签名

地址格式:msg + 40 位十六进制 + 1 位校验字符,共 44 字符,不是 bech32;bech32 前缀与标准 Cosmos 地址校验器都不适用。native denom = umsg(9 位小数),18 位单位仅用于 gas 计价算术,不对外暴露。

拓扑追踪模式:支持悬停预览、点击锁定、节点搜索、只看上游、只看下游,以及“仅一跳 / 全链路”切换,帮助查看者在复杂拓扑中快速定位流程关系。
搜索 支持热词与别名检索:金库 / 治理 / 证明 / 复核 / 总控 / 注册中心 / 铸造 / 处罚
热词
方向
深度
未锁定 | 双向 | 全链路 | 悬停预览,点击锁定
当前节点 上游链路 下游链路 双向汇聚 非当前路径

flowchart TD
    subgraph Clients["客户端入口"]
        Wallet["钱包 / SDK / 浏览器"] --> JSONRPC["JSON-RPC 2.0 /"]
        Wallet --> Tendermint["/broadcast_tx_commit /abci_query /tx /block /net_info"]
        Wallet --> REST["/api/v1/*"]
        Wallet --> GRPC["gRPC Query"]
        Tunnel["Tunnel / NAT 侧节点"] --> Status["/api/v1/status"]
    end

    subgraph Gateway["TendermintRPCServer"]
        JSONRPC --> Mux["registerHandlers / RegisterRoutesTo
推荐分离部署,兼容 shared mux"] Tendermint --> Mux REST --> Mux Status --> Mux Mux --> Auth["authorizeWriteRequest / CORS / auth token"] end subgraph APIs["API 族"] Auth --> TxAPI["broadcast_tx_commit / sync / async"] Auth --> QueryAPI["abci_query / tx / block / blockchain"] Auth --> Explorer["/api/v1/blocks /txs /receipts /address"] Auth --> Contract["/api/v1/contracts/deploy /instantiate /execute"] Auth --> Signed["/api/v1/tx/transfer /delegate /undelegate /send"] Auth --> Cosmos["/api/v1/bank/balances /staking/validators /auth/accounts"] Auth --> TunnelAPI["/api/v1/status -> libp2p_peer_id / libp2p_addrs"] end subgraph Backend["后端状态与执行"] TxAPI --> Executor["processTx -> txExecutor / txStore / receipt"] QueryAPI --> State["node.currentHeight / storage / block index"] Contract --> ContractStore["contractStore / Real WasmVM fallback"] Cosmos --> State Explorer --> State Signed --> Executor end