Links

免gas兑换

接口调用图

时序图

说明

  1. 1.
    调用 "获取币种汇率接口", 获取返回值isSupportNoGas, 为 Y 表示支持免 gas 兑换
  2. 2.
    调用 "创建订单接口", 并传递isSupportNoGas字段, 成功后会返回noGasTxInfo 字段, 为待签名的 call_data
  3. 3.
    对 call_data 进行签名,获取r,s,v,rawTransaction等签名后的数据
  4. 4.
    调用 "上传免gas兑换订单接口", 传递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("https://www.swftc.info/gt/swap/v1/noGasSwap")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
```
curl示例
```powershell
curl --location 'https://www.swftc.info/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示例

响应数据

参数参见API接口文档 闪兑接口