OmniBridge API
DappEnglish API
  • API介绍
    • 基本说明
    • 兑换流程
  • 闪兑API接口
    • 状态码说明
    • 查询币种列表
    • 获取兑换汇率
    • 创建订单
    • 上传交易hash
    • 批量上传交易hash
    • 查询订单状态
    • 批量查询订单状态
    • 获取订单记录
    • 批量获取兑换汇率基本信息接口
    • 矿工费接口
    • 免gas兑换
Powered by GitBook
On this page
  • 接口调用图
  • 时序图
  • 说明
  • 代码示例
  1. 闪兑API接口

免gas兑换

Previous矿工费接口

Last updated 9 months ago

接口调用图

时序图

说明

  1. 调用 "", 获取返回值isSupportNoGas, 为 Y 表示支持免 gas 兑换

  2. 调用 "", 并传递isSupportNoGas字段, 成功后会返回noGasTxInfo 字段, 为待签名的 call_data

  3. 对 call_data 进行签名,获取r,s,v,rawTransaction等签名后的数据

  4. 调用 "", 传递r,s,v,rawTransaction和 ""返回的 orderId即可

步骤 3 示例代码

 const privateKey = ''; // private key
 const transactionData = '{
  gasLimit: 100000,
  data: '0xaxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  chainId: 56,
  to: '0x0000000000000xxxxx',
  nonce: 50,
  gasPrice: '3150000000'
}'
 const account = web3.eth.accounts.privateKeyToAccount(privateKey);
 const signedTx = await account.signTransaction(transactionData);
 const r = signedTx.r;
 const s = signedTx.s;
 const v = signedTx.v;
 const rawTransaction = signedTx.rawTransaction;

1. 接口调用: https://{host}/gt/swap/v1/noGasSwap

2. 请求参数实例

参数
是否必须
说明

orderId

是

eg:5d3b383f-5b58-4a35-87b6-2de8d23a492e

r

是

eg:0xxxxxxx

s

是

eg:0xxxxxxx

v

是

eg: 0xxx

rawTransaction

是

eg: 0xxxxxxx

3.请求参数示例


{
    //订单号
    "orderId": "5d3b383f-xxxx-xxxx-xxxx-2de8d23a492e",
    "r": "0xxxx",
    "s": "0xxxxx",
    "v": "0xxx",
    "rawTransaction": "0xxxxxxxxx"
}

4.返回结果示例

{
    "orderId": "5d3b383f-xxxx-xxxx-xxxx-2de8d23a492e",
    "transactionHash": "0xxxxxxxxxxxxxx"
}

5.返回参数说明

字段名称
字段
数据类型
备注

订单号

orderId

String

订单号

交易 hash

transactionHash

String

交易 hash

代码示例

java代码示例

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"orderId\": \"5d3b383f-xxx-xxx-87b6-xxx\",\n    \"r\": \"0xxxx\",\n    \"s\": \"0xxxx\",\n    \"v\": \"0xxxx\",\n    \"rawTransaction\": \"0xxxx\"\n}");
Request request = new Request.Builder()
  .url("{host}/gt/swap/v1/noGasSwap")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
```

curl示例

```powershell
curl --location '{host}/gt/swap/v1/noGasSwap' \
--header 'Content-Type: application/json' \
--data '{
    "orderId": "5d3b383f-xxx-xxx-87b6-xxx",
    "r": "0xxxx",
    "s": "0xxxx",
    "v": "0xxxx",
    "rawTransaction": "0xxxx"
}'
```

Postman示例

获取币种汇率接口
创建订单接口
上传免gas兑换订单接口
创建订单接口