跳转至

Warning

为避免不必要的代币损失,在跨链桥完全激活的官方公告发布之前,请勿使用本指南中的说明。

由 Gonka 共识控制的专用跨链桥智能合约已在以太坊上激活,地址为:

0x972a7a92d92796a98801a8818bcf91f1648f2f68

提取 USDT(Gonka → 以太坊)

A) 在 Gonka 上发送提取请求

使用 CLI 发起提取交易:

./inferenced tx wasm execute <gonka1CW20WrappedUSDTAddress> \
  '{"withdraw":{"amount":"<amount>","destination_address":"0xYourEthereumAddr"}}' \
  --from <your_key_name> \
  --chain-id gonka-mainnet \
  --gas auto \
  -y \
  --node http://node2.gonka.ai:8000/chain-rpc/

Tip

如果 --gas auto 的估算不准确,请根据返回状态中所需的 Gas 额度,并在命令中显式传递它(例如:--gas 200000)。

预期输出

...
txhash: 12E8ABCA5A35D73042564FDF6D686424F742414EEC172450AB6EDA34BD1F0805

B) 获取提取凭证与请求 ID

等待几个区块生成,然后查询交易哈希以获取请求 ID:

./inferenced query tx 12E8ABCA5A35D73042564FDF6D686424F742414EEC172450AB6EDA34BD1F0805

确保输出中包含 "code": 0(表示成功),并提取 Base64 编码的 request_id

"request_id": "vSTWiN1pvooxcFoDLzePCEq3x/C5NQ+jFMvfcEozCm4="

将 Base64 编码的 request_id 转换为十六进制格式:

echo "vSTWiN1pvooxcFoDLzePCEq3x/C5NQ+jFMvfcEozCm4=" | base64 -d | xxd -p -c 256
十六进制输出示例:
bd24d688dd69be8a31705a032f378f084ab7c7f0b9350fa314cbdf704a330a6e

C) 获取 BLS 签名状态

使用您的请求 ID 十六进制值查询 BLS 签名 API:

curl "https://node2.gonka.ai:8433/v1/bls/signatures/<REQUEST_ID_HEX>" \
  | jq -r '
    {
      uncompressed_signature_128: .uncompressed_signature_128,
      current_epoch_id: .signing_request.current_epoch_id,
      request_id: .signing_request.request_id
    }
  '

响应包含以下字段:

  • current_epoch_id:该请求对应的纪元 (Epoch)。
  • request_id:在 Gonka 上使用的 32 字节哈希。
  • uncompressed_signature_128:在以太坊上执行提取所需的 BLS 签名。

D) 在以太坊上提交提取命令

使用 withdraw-tokens.js 脚本:

HARDHAT_NETWORK=mainnet node withdraw-tokens.js \
  0x972a7a92d92796a98801a8818bcf91f1648f2f68 \
  <current_epoch_id> \
  <request_id> \
  <destination_address> \
  <USDT_contract_address> \
  <amount> \
  <uncompressed_signature_128>