本节介绍井通区块链的挂单接口和交易记录接口。
井通区块链是一个原生支持多资产,原生支持多资产之间相互交易的底层区块链系统,因此用户可以直接在链上挂单,用一种资产 交换另外一种资产,价格和数量可以自由定义。那么挂单接口就是干这活的。
交易记录接口顾名思义是查询交易记录用的,包括查询单个交易信息,查询交易记录等。
几点说明:
1)下面的所有例子都是基于井通区块链API的测试环境,基本上每个例子都亲自测试通过,大家可以执行每个例子的URL,体验下 接口的输入和输出。对于GET方法,把链接拷贝到浏览器执行就行。对于POST方法,可以使用postman这个工具去执行,也可以使 用chrome浏览器的restlet 插件。我自己是用的chrome浏览器restlet插件,所以执行结果是经过格式化的,比较容易阅读。如果直接通 过浏览器执行,返回的结果是原始状态的JSON。
2)提交挂单接口大家可以去测试,但是最好是适当的改下数量和价格,不要改的太大,不然挂单可能不成功。
3)可以随时使用测试环境的区块链浏览器查水表。测试环境查水表地址如下: http://139.129.99.224:3001/#!/。
4)由于测试环境的数据被重置过,一些例子里面的测试钱包地址可能需要重新激活。另外,有些例子的返回结果可能与贴图不一 致,主要能表达意思就行了,有些地方有说明,也可能有些地方漏掉了,请大家多注意一下。
一、挂单接口
1、提交挂单 接口:/v2/accounts/{:address}/orders,POST方法
接口参数:
这里写图片描述
POST参数:
这里写图片描述
例子:https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/orders
POST参数:
"secret": "sha4eGoQujTi9SsRSxGN5PamV3YQ4", "order": {
"type": "sell",
"pair": "SWT/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "60.00",
"price": "0.0123"
} }
返回结果:
这里写图片描述
返回结果参数说明:
这里写图片描述
2、获取挂单列表 接口:/v2/accounts/{:address}/orders,GET方法 参数:
这里写图片描述例子:https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/orders
返回结果(执行上面链接返回的结果与下面有些出入,不过结构相同就行):
这里写图片描述
返回的结果是JSON格式的数据,如果通过浏览器执行,就是原始的JSON状态,上面截图是chrome restlet的截图,便于大家看到全 貌。返回结果中orders是一个数组,上面每一行都是一条挂单记录。(这里的例子新挂的单子没有取到,可能是测试环境有点问 题?)
返回结果参数说明:
这里写图片描述
3、获取挂单信息 接口:/v2/accounts/{:address}/orders/{:hash},GET方法 参数:
这里写图片描述例子:
https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/orders/45D6001C6A4BB3E8E8D0F73A8CECA36912E2DFEA027E575E5E101018E6ACFAE6
返回结果(执行上面链接返回的结果与下面有些出入,不过结构相同就行):
这里写图片描述
返回结果参数说明:
这里写图片描述
4、取消用户挂单 接口:/v2/accounts/{:address}/orders/{:order},DELETE方法
DELETE方法请求时需设置Content-Length消息头 接口参数:
这里写图片描述
DELETE需要提交的参数格式如下:
"secret": "snUaJxp2k4WFt5LCCtEx2zjThQhpT" }
例子:
https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/orders/39349
先挂一个测试单,等会测试删除。 POST参数:
{
"secret": "sha4eGoQujTi9SsRSxGN5PamV3YQ4", "order": {
"type": "sell",
"pair": "SWT/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "37.00",
"price": "0.0044"
} }
返回结果:
{
"success": true,
"status_code": "0",
"hash": "A2BA7B3B1E59547AE6A40B453926D0E0AB2BA3C8C76A39D28C7A91FD4519FE4D", "result": "tesSUCCESS",
"fee": 0.01,
"sequence": 39349
}
5、获得货币对的挂单列表 接口:/v2/order_book/{:base}/{:counter},GET方法 接口参数:
这里写图片描述例子:
https://tapi.jingtum.com/v2/order_book/SWT/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS
返回结果(执行上面链接返回的结果与下面有些出入,不过结构相同就行):
这里写图片描述
返回结果参数说明:
这里写图片描述
6、获得货币对的买单列表 接口:/v2/order_book/bids/{:base}/{:counter},GET方法 接口参数:
这里写图片描述例子:
https://tapi.jingtum.com/v2/order_book/bids/SWT/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS
返回结果(执行上面链接返回的结果与下面有些出入,不过结构相同就行):
返回结果参数说明:
这里写图片描述
7、获得货币对的卖单列表 接口:/v2/order_book/asks/{:base}/{:counter},GET方法 接口参数(执行上面链接返回的结果与下面有些出入,不过结构相同就行):
这里写图片描述例子:
https://tapi.jingtum.com/v2/order_book/asks/SWT/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS
返回结果参数说明:
这里写图片描述
二、交易记录接口
1、查询交易信息
接口:/v2/accounts/{:address}/transactions/{:id},GET方法 参数:
例子: https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/transactions/45D6001C6A4BB3E8E8D0F73A8CECA36912E2DFEA027E575E5E101018E6ACFAE6 返回结果(执行上面链接返回的结果与下面有些出入,不过结构相同就行):
这里写图片描述
返回结果说明:
这里写图片描述
2、查询交易记录 接口:/v2/accounts/{:address}/transactions,GET方法 接口参数:
这里写图片描述!可选接口参数:
例子1: https://tapi.jingtum.com/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/transactions?results_per_page=2 返回结果: 这里写图片描述
以上例子获取2条记录。返回marker标记,代表本次查询到了这个位置,应用程序可以保存下来,下次可以从标记的地方继续往下查 询。
返回结果参数说明:
这里写图片描述
例子2:
https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/transactions?results_per_page=2&marker= {ledger:38644,seq:0}
请求:每页显示2条记录,从上面例子返回的marker标记处开始获取记录。 结果:
这里写图片描述
例子3: https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/transactions?results_per_page=2&marker=
{ledger:38622,seq:0} 请求:每页显示2条记录,从marker标记处开始获取记录,标记里面的区块高度是上次返回的。 结果:
这里写图片描述
由于接口返回的数据是根据时间倒序排列的,最新的数据排在前面,所以可以通过这种方式一直往前追溯,获取历史交易记录,直 到不返回marker。
3、交易记录详解(transactions) 查询交易记录返回的结果中,交易记录包含丰富的信息,其中交易类型(type)代表了不同的交易,每种交易包含的信息不太一
样,这里拿出来单独说明一下。 type交易类型有如下几种(注意:下面截图都是正式链上发生的交易): 1)sent:用户进行支付操作,在交易信息中包含如下信息:
这里写图片描述
2)received:用户接收别人支付,在交易信息中包含如下信息:
这里写图片描述3)convert:用户进行兑换操作,在交易信息中包含如下信息(我暂时没有发生过兑换操作,没法截图,直接把返回参数贴上来, 如果谁有欢迎提供):
这里写图片描述4)offernew:用户进行挂单操作,在交易记录中包含如下信息:
这里写图片描述5)offercancel:用户进行取消挂单操作,在交易记录中包含如下信息:
这里写图片描述6)offereffect:挂单成交情况,指被动成交的情况,包含如下信息:
这里写图片描述4、交易效果详解(effects) effects是每个交易记录信息里面的交易效果,是个JSON数组,数组可以包含多项,每项内容都包含效果类型effect字段,根据effect
的不同,里面的内容也不同 :
1)offer_funded,交易实际成交;交易提示信息建议:交易成交,您以XXX价格买了/卖了XXX卖了/买了XXX,价格是XXX;其中 包含的信息有:
这里写图片描述2)offer_partially_funded,交易部分成交;交易提示信息建议:交易部分成交,您以XXX价格买了/卖了XXX卖了/买了XXX,价格 是XXX,剩余挂单由于金额不足被取消(可选,根据cancelled),还剩XXX单子(可选,根据remaining);其中包含的信息有:
这里写图片描述上面的信息包含的关键信息如下: a)这笔买单部分成交,得到SWT数量为99999,付出CNY数量3001.96998。 b)剩余(remaining)为true,表示还有剩余挂单,剩余数量为1,单价为0.03002。
3)offer_cancelled,被关联交易取消单子,交易单子被取消;交易提示信息建议:由于缺少金额,单子XXX被取消;(我暂时没有 交易单子被取消,没法截图。这里把返回的参数贴出来)其中包含的信息有:
这里写图片描述4)offer_created,交易单子创建;交易提示信息建议:您创建了一个买/卖单,以XXX交易XXX;其中包含的信息有:
这里写图片描述5)offer_bought,挂单买到/卖出,成交的单子信息;交易提示信息建议:您以XXX价格买了/卖了XXX卖了/买了XXX;其中包含的 信息有:
这里写图片描述上面交易效果显示买到了VCC,数量6,付出了SWT,数量131016,价格21836,现在看是买在了山顶了。
作为一个开发者,有一个学习的氛围跟一个交流的圈子特别重要,下面是我们的社区交流群,不管你是小白还是大牛欢迎入住,分享经验、讨论技术、社区开发。大家一起交流学习共同成长!希望开发者少走弯路。
1.社区开发者大赛 QQ 群:568285439
2.社区论坛:http://bbswtc.com
3.社区公众号:SWTC 互动社区、SWTC 社区
4.github:https://github.com/swtcpro
网友评论