开发水龙头
类型:NONE · 权重:1
状态:已实现(仅限开发环境)。
POST /api/v3/dev/faucet
为某个 Canton party 的现货余额灌入固定的起始资金,使演示无需手工往数据库写种子数据。该路由始终挂载,但只有在网关以环境变量 SPOT_DEV_FAUCET=1 启动时才会生效;其他任何部署(包括生产)都返回 403。启用时不需要任何鉴权。
请求 —— JSON 请求体
POST /api/v3/dev/faucet
Content-Type: application/json
{ "party": "<canton-party-id>" }
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
party | string | 是 | Canton party id;去掉首尾空白后必须非空。 现货账户即 session-key 推导的同一个确定性 UUIDv5。 |
行为
余额是覆盖写入而不是累加:对每个灌入的资产,free 被直接改写为起始金额,locked 重置为 0,与原值无关。
| 资产 | 调用后的 free |
|---|---|
CUSD | 10000 |
CBTC | 1 |
cETH | 10 |
USX | 10000 |
aCC | 1 |
USDC.B | 10000 |
USDCx | 10000 |
CC 不会被灌入。
响应 — 200
{
"userId": "7c2d1f0e-3a4b-5c6d-8e9f-0a1b2c3d4e5f",
"seeded": [
["CUSD", "10000"], ["CBTC", "1"], ["cETH", "10"], ["USX", "10000"],
["aCC", "1"], ["USDC.B", "10000"], ["USDCx", "10000"]
]
}
| 字段 | 类型 | 说明 |
|---|---|---|
userId | string | 该 party 的现货账户 id。 |
seeded | [资产, 金额] 字符串对数组 | 写入的金额,顺序同上表。 |
错误 —— 仅返回 HTTP 状态码,没有 {code,msg} 响应体(429 除外)
| HTTP | 原因 |
|---|---|
400 | party 为空,或请求体不是合法 JSON。 |
403 | 水龙头未启用(SPOT_DEV_FAUCET 不为 1)。生产环境的响应即为此。 |
429 | -1003 —— 按 IP 的公开权重耗尽。 |
500 | 数据库故障。 |