跳到主要内容

系统端点

本页是健康 / 状态 / 配置 / 限流 / 审计 等系统类端点:GET /api/v1/healthGET /api/v1/status 与对应 JSON-RPC 读方法。

健康检查

GET /api/v1/health

纯 REST 就绪探针(不走 JSON-RPC)。HTTP 200 = 就绪;503 = halted / 回补中(recovering)/ state store dirty(degraded)

GET /api/v1/health/live

纯 REST 存活探针:halt 仍 503,回补中 / degraded 仍 200。k8s/LB 建议 readiness 用 /health、liveness 用 /health/live

响应示例:

{
"status": "ok",
"height": 12345,
"store_dirty": false
}
字段类型说明
statusString"ok" / "recovering"(回补/水印落后)/ "degraded"(state store dirty,需重启修复)
heightu64当前链高度
store_dirtyboolstate store 是否 dirty(丢批后冻结、待重启修复)

getHealth

JSON-RPC 存活探针。与 REST GET /api/v1/health 语义不同:不检查 halted,恒 HTTP 200。无参数。

请求:

{ "jsonrpc": "2.0", "id": 1, "method": "getHealth" }

响应 data { "status": "ok", "height": 12345 }

响应示例:

{
"jsonrpc": "2.0", "id": 1,
"result": {
"height": 12345,
"data": { "status": "ok", "height": 12345 }
}
}

getExchangeConfig

全局配置/状态。无参数。

响应 data

字段类型说明
action_versionu32Wire 协议版本(当前 2
max_decimalsu32SCALE_6 精度上限
max_tx_per_blockusize每块最大交易数
settlement_pausedbool全局 Bridge 结算闸门
global_rebate_ratio_bpsu32全局默认返佣比例(bps;1 000 = 10 %)
market_countusize活跃市场数

响应示例:

{
"jsonrpc": "2.0", "id": 1,
"result": {
"height": 12345,
"data": {
"action_version": 2,
"max_decimals": 6,
"max_tx_per_block": 1024,
"settlement_paused": false,
"global_rebate_ratio_bps": 1000,
"market_count": 3
}
}
}

getActionsMeta

44 种 Action 的鉴权/角色元数据。无参数。

响应 data

字段类型说明
action_versionu32Wire 协议版本
actionsActionMetaItem[]每项:name(ActionKind) / auth(AuthChannel) / role(AccountRole?) / master_only(bool)

响应示例:

{
"jsonrpc": "2.0", "id": 1,
"result": {
"height": 12345,
"data": {
"action_version": 2,
"actions": [
{ "name": "PlaceOrder", "auth": "master_or_agent_with_role", "role": "Trader", "master_only": false },
{ "name": "WithdrawRequest", "auth": "user_signed_master", "role": null, "master_only": true },
{ "name": "CreateMarket", "auth": "master", "role": "Admin", "master_only": true }
]
}
}
}

getUserRateLimit

用户速率限制视图(index 滑动窗口统计,最近 10,000 块)。

参数类型必填说明
addressAddress20账户地址

响应 data

字段类型说明
addressAddress20账户地址
cum_vlmString窗口内累计名义成交量(SCALE_6)
n_requests_usedu64窗口内已用请求数
n_requests_capu64系统上限 max_tx_per_block(参考值)
window_blocksu64扫描窗口(10,000 块)

响应示例:

{
"jsonrpc": "2.0", "id": 1,
"result": {
"height": 12345,
"data": {
"address": "0x1111222233334444555566667777888899990000",
"cum_vlm": "1250000.000000",
"n_requests_used": 42,
"n_requests_cap": 1024,
"window_blocks": 10000
}
}
}

getAdminAuditLog

管理操作审计(journal 扫描 OpsEvent)。

参数类型必填说明
signerAddress20按操作者过滤
start_time_msu64起始时间(毫秒)
end_time_msu64结束时间(毫秒)
offsetusize默认 0
limitusize默认 100,最大 1000

响应 data · AdminAuditEntry[]: block_height/event_seq/timestamp_ms/signer/event(OpsEvent JSON)

响应示例:

{
"jsonrpc": "2.0", "id": 1,
"result": {
"height": 12345,
"data": [{
"block_height": 12340,
"event_seq": 2,
"timestamp_ms": 1717199000000,
"signer": "0x2222333344445555666677778888999900001111",
"event": {
"Ops": {
"GlobalRebateRatioChanged": {
"old_ratio_bps": 1000,
"new_ratio_bps": 2000
}
}
}
}],
"page": { "offset": 0, "limit": 100, "total": null }
}
}

系统端点(REST)

GET /health

已移除:合并后节点不再提供裸 /health 路由。存活 / 就绪探针请用 GET /api/v1/health

Response 200

{ "status": "ok", "height": 12345 }

status 取值:ok / recovering / degraded(链停机时 HTTP 503)。


GET /api/v1/status

索引同步进度与链滞后情况。

Response 200

{
"watermark": 12345,
"block_count": 12346,
"node_tip": 12350,
"behind": 5,
"derive_watermark": 12340,
"derive_lag_blocks": 5,
"derive_index_version": "2",
"candle_watermark": 12338,
"candle_lag_blocks": 2,
"stats_watermark": 12335,
"stats_lag_blocks": 5,
"hot_feed": {
"native_ready": true,
"hl_ready": true,
"stale": false,
"chain_height": 12345,
"book_updated_at_ms": 1717200000123
},
"markets": {
"native": 1,
"external_peg": 4
}
}
FieldTypeDescription
watermarknumber | null已完全 ingest 的最高区块高度;首个区块前为 null
block_countnumber本地存储的区块总数
node_tipnumber | null链节点当前 tip(节点不可达时为 null
behindnumber | null落后区块数。两者皆有:node_tip - watermark;仅 tip:node_tip + 1;否则 null
derive_watermarknumber | null二级索引(成交/委托/流水等)已处理到的最高区块
derive_lag_blocksnumberingest watermark 领先 derive_watermark 的区块数
derive_index_versionstring | nullderive 索引 schema 版本(如 "2");未写入时为 null
candle_watermarknumber | nullK 线聚合已处理到的最高区块
candle_lag_blocksnumberderive_watermark 领先 candle_watermark 的区块数
stats_watermarknumber | null排行榜冷统计已处理到的最高区块
stats_lag_blocksnumberderive_watermark 领先 stats_watermark 的区块数(0 = 统计已追上)
hot_feed.native_readyboolean热数据 feed seed 完成
hot_feed.hl_readyboolean热数据 feed seed 完成
hot_feed.staleboolean上游 WS 断开或长时间未更新
hot_feed.chain_heightnumber热缓存关联链高度
hot_feed.book_updated_at_msnumber盘口最近更新时间(ms)
marketsobject服务端路由计数(对接可忽略)

索引流水线(异步,不阻塞 ingest):

ingest (watermark) → derive → candle → stats


服务端行为

行为
写路由超时同步 admit-execute,写请求在共识轮次内返回
HTTP 状态码错误亦返回 HTTP 200(JSON-RPC 规范),GET /api/v1/health 除外(200=就绪;503=halted/recovering/degraded)
Journal 扫描窗口最多回溯 10,000 块(getAdminAuditLog / getCandles)
成交流 ring buffer最近约 10k 块(getRecentTrades)
Fill archivegetUserFills / getOrderFills / getUserFillsSince:永久存储,启动 journal backfill
终态订单 archivegetOrderStatus closed:内存 24h 热缓存 + 硬盘永久点查(O(log N))
单块最大交易数max_tx_per_block(见 getExchangeConfig
Action 版本当前 action_version: 2