1. 填入真实环境材料

将全部 REPLACE_... 替换为平台提供的配置和你的玩家标识。玩家标识建议只使用字母、数字、下划线或连字符,避免路径转义问题;完整限制见字段规则。

BASH
export BASE_URL='https://REPLACE_BASE_URL'
export ACCESS_KEY='REPLACE_ACCESS_KEY'
export HMAC_SECRET='REPLACE_HMAC_SECRET'
export PLAYER_ID='REPLACE_PLAYER_ID'
export CHAIN_ID='REPLACE_REGISTERED_CHAIN_ID'

2. 用同一份正文签名和发送

BASH
METHOD='POST'
REQUEST_URL="${BASE_URL%/}/v1/addresses"
REQUEST_PATH="$(python3 -c 'import sys, urllib.parse; print(urllib.parse.urlsplit(sys.argv[1]).path)' "$REQUEST_URL")"
QUERY=''
BODY="$(python3 -c 'import json, sys; print(json.dumps({"playerId": sys.argv[1], "chainId": sys.argv[2]}, ensure_ascii=False, separators=(",", ":")), end="")' "$PLAYER_ID" "$CHAIN_ID")"
TIMESTAMP="$(date +%s)"
PAYLOAD="${METHOD}|${REQUEST_PATH}|${TIMESTAMP}|${QUERY}|${BODY}"
SIGNATURE="$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$HMAC_SECRET" -hex | awk '{print $NF}')"

curl -sS -X "$METHOD" "$REQUEST_URL" \
  -H "Content-Type: application/json" \
  -H "X-Access-Key: $ACCESS_KEY" \
  -H "X-Timestamp: $TIMESTAMP" \
  -H "X-Signature: $SIGNATURE" \
  --data-binary "$BODY" \
  --write-out '\nHTTP %{http_code}\n'

3. 保存返回的四个字段

成功时为 HTTP 200,正文直接是地址对象,没有额外的 data 包装:

JSON
{
  "address": "REPLACE_RETURNED_ADDRESS",
  "chainName": "REPLACE_RETURNED_CHAIN_NAME",
  "chainId": "REPLACE_RETURNED_CHAIN_ID",
  "tokenContract": "REPLACE_RETURNED_USDT_CONTRACT"
}

保存四个字段后,用 address 生成充值二维码,并同时展示网络与资产名称。地址原样保存,不强制转为小写。下一步接入充值查询与入账。

预期返回开放链的地址和登记资产。连接失败先查地址与证书;401 查签名;422 先查玩家标识、链 ID 和请求字段,再请平台核对地址服务。所有失败的处理规则见错误码。

输入关键词搜索指南、接口和字段。