查询币种列表

提供币种列表展示给用户,告诉用户哪些币可以进行兑换

1. 接口调用:

https://{host}/api/v1/queryCoinList

2. 请求参数实例

参数是否必须说明

supportType

advanced:返回只支持跨链兑换的币种,不传或传其他值返回所有币种

mainNetwork

根据币种主网查询

3.请求参数示例

{
    "supportType":"advanced"
,
    "mainNetwork":"ETH"
}

4.返回结果示例

{
    "data": [
        {
            "coinAllCode": "SwftCoin",
            "coinCode": "SWFTC",
            "coinDecimal": 8,
            "contact": "0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e",
            "isSupportAdvanced": "Y",
            "isSupportMemo": "N",
            "mainNetwork": "ETH",
            "noSupportCoin": "BOS,YOYO,..."
        },
        {
            "coinAllCode": "TetherUS",
            "coinCode": "USDT",
            "coinDecimal": 6,
            "contact": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "isSupportAdvanced": "Y",
            "isSupportMemo": "N",
            "mainNetwork": "BTC",
            "noSupportCoin": "BCC,UCTT,..."
        }
    ],
    "resCode": "800",
    "resMsg": "成功",
    "resMsgEn": ""
}

5.返回参数说明

币种全称

coinAllCode

String

Bitcoin

币种码

coinCode

String

BTC

币种精度

coinDecimal

String

8

合约地址

contact

String

合约地址

是否支持兑换

isSupportAdvanced

String

Y:支持、N:不支持

是否支持memo

isSupportMemo

String

Y:支持、N:不支持

代币所属主网(主网简称)

mainNetwork

String

比如USDC是ETH链上上的币,则mainNetwork为ETH;BNB(BSC)属于BSC链上的币,则mainNetwork为BSC;

不支持兑换的币种

noSupportCoin

String

如有多个不支持币种,用‘,’隔开。 例如:"noSupportCoin":"TKT,SHE,AIDOC"

代码实例

java代码示例

  OkHttpClient client = new OkHttpClient();

  MediaType mediaType = MediaType.parse("application/json");
  RequestBody body = RequestBody.create(mediaType, "{\"supportType\":\"advanced\"}");
  Request request = new Request.Builder()
    .url("https://{host}/api/v1/queryCoinList")
    .post(body)
    .addHeader("Content-Type", "application/json")
    .addHeader("cache-control", "no-cache")
    .build();

  Response response = client.newCall(request).execute();

C# 代码示例

  var client = new RestClient("https://{host}/api/v1/queryCoinList");
  var request = new RestRequest(Method.POST);
  request.AddHeader("cache-control", "no-cache");
  request.AddHeader("Content-Type", "application/json");
  request.AddParameter("undefined", "supportType=advanced&undefined=", ParameterType.RequestBody);
  IRestResponse response = client.Execute(request);

Objective-C 代码示例

  #import <Foundation/Foundation.h>

  NSDictionary *headers = @{ @"Content-Type": @"application/json",
                             @"cache-control": @"no-cache" };

  NSMutableData *postData = [[NSMutableData alloc] initWithData:[@"supportType=advanced" dataUsingEncoding:NSUTF8StringEncoding]];
  [postData appendData:[@"&undefined=undefined" dataUsingEncoding:NSUTF8StringEncoding]];

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{host}/api/v1/queryCoinList"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"POST"];
  [request setAllHTTPHeaderFields:headers];
  [request setHTTPBody:postData];

  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];

Nodejs代码示例

//getToken example 
import axios from 'axios'
const params = {
   supportType: 'advanced',
 }
const res = await axios.post('https://{host}/api/v1/queryCoinList', params )
console.log(res)

Postman示例

返回结果示例

  {
      "data": [
           {
            "coinAllCode": "SwftCoin",
            "coinCode": "SWFTC",
            "coinImageUrl": "",
            "coinName": "速币",
            "contact": "0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e",
            "isSupportAdvanced": "Y",
            "mainNetwork": "ETH",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "Bitcoin",
            "coinCode": "BTC",
            "coinImageUrl": "/static/image/coins/bitcoin.png",
            "coinName": "比特币",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "Ether",
            "coinCode": "ETH",
            "coinImageUrl": "/static/image/coins/ether.png",
            "coinName": "以太币",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "EOS",
            "coinCode": "EOS",
            "coinImageUrl": "",
            "coinName": "基数链",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "Stellar",
            "coinCode": "XLM",
            "coinImageUrl": "",
            "coinName": "Stellar",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,TCT,ICX,GAT,CK.USD,EET,ETDM,USDC,BCC,GZRO,DTO,LV,TRX,DAI,UCTT"
        },
        {
            "coinAllCode": "Litecoin",
            "coinCode": "LTC",
            "coinImageUrl": "/static/image/coins/litecoin.png",
            "coinName": "莱特币",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "TetherUS",
            "coinCode": "USDT",
            "coinImageUrl": "",
            "coinName": "TetherUS",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "BTC",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
          ...
      ],
      "resCode": "800",
      "resMsg": "成功"
  }

返回结果注意事项

我们平台上支持的一些代币,有时可能会和对接方平台支持的币种名称有冲突或有多个相同名称的币,为了避免发币时,发错币种,这里可根据字段mainNetworkcontact 来判定,目前SWFT平台主要支持的代币有ETH、波场、BSC、HECO、MATIC、OEC、EOS、XLM(Stellar)、XRP、Waves 等主网上的代币,详细说明,请参见google文档

业务参考图

Last updated