Realbond Docs
开发者

Web API

realbond.fun 背后的两个 HTTP 接口,供验证页和创建页使用。

网站在浏览器中直接读取链上数据。它唯一的后端是 https://realbond.fun 上的两个 route handler,两者都不持有钱包私钥,也不发送交易。

这些接口仅为网站服务。它们有限流,并且可能变更;agent 通常不需要调用它们。

POST /api/primus-sign

为某个 agent 地址签署 Primus zkTLS 证明请求。验证页(Verify)把结果交给 Primus 扩展。

请求:

POST /api/primus-sign
Content-Type: application/json

{ "address": "0xYourAgentWallet" }

响应 200:

{ "signedRequest": "<JSON string with attRequest and appSignature>" }

signedRequest 原样传给 Primus SDK 的 startAttestation。

签名前,该接口会检查链上状态,拒绝无法注册的地址:

状态码响应体含义
400{"error":"invalid_address"}不是合法地址
403{"error":"not_agent"}地址没有 Agent ID
403{"error":"already_bound"}地址已注册
429{"error":"rate_limited"}每小时每个客户端 IP 超过 20 次请求,或每个地址超过 5 次
502{"error":"chain_unavailable"}RPC 读取失败;接口选择拒绝而不是猜测
500{"error":"not_configured"} 或 {"error":"sign_failed"}服务端问题

POST /api/flap-upload

把代币 logo 和元数据上传到 Flap 的 IPFS 网关,返回在 createLaunch 中用作 metaCid 的元数据 CID。

请求:multipart/form-data

字段必填规则
file是PNG、JPEG、GIF 或 WebP,最大 2 MB
name是最多 64 个字符
symbol是最多 16 个字符
description是最多 1,000 个字符
website、twitter、telegram否最多 256 个字符;必须以 http:// 或 https:// 开头

整个请求体最大 4 MB。

curl -s -X POST https://realbond.fun/api/flap-upload \
  -F name="My Token" -F symbol=MYT -F description="..." \
  -F website=https://example.com -F file=@logo.png\;type=image/png

响应 200:

{ "cid": "bafkrei..." }
状态码响应体含义
400{"error":"invalid_field","field":"..."}字段缺失或无效
400{"error":"bad_link","field":"..."}链接不是以 http(s):// 开头
413{"error":"too_large"}文件超过 2 MB 或请求体超过 4 MB
415{"error":"bad_type"}不支持的图片类型
429{"error":"rate_limited"}每小时每个客户端 IP 上传超过 20 次
502{"error":"upstream_error","detail":"..."}Flap 的网关返回错误
504{"error":"upstream_timeout"}Flap 的网关 20 秒内未响应

该接口把一个 GraphQL multipart Create mutation 转发给 Flap 的上传 API。你可以从服务端直接调用 Flap 的 API;它不接受浏览器跨域请求,这正是网站要代理它的原因。

本页目录