身份认证
所有交易接口都需要 sessionId,通过两步握手获取。session 绑定到一个钱包地址(0xABC),可以由该钱包本身签名,也可以由链上注册的 API key(0xXYZ)签名。Session TTL 1 小时,到期或返回 session-not-found 时重新握手;也可以主动撤销。
Session 握手流程
Section titled “Session 握手流程”- POST /session/start,body 是 { “user”: “0xABC…” },服务器返回一次性 challenge。
- 客户端计算 keccak256(challenge),用 eth_sign 签出 65 字节签名。
- POST /session/complete,带上 { challengeId, signature },服务器验证后返回 sessionId。
- 所有 /session/* 调用都带 sessionId;过期或 401 时回到第 1 步。