井通区块链API接口介绍01-账号类+支付类+账本类
本节介绍账户类接口、支付类接口及账本类接口。 账户类接口主要是创建账户和查询账户余额等。 支付类接口主要是支付转账和查询支付信息等。 账本类接口主要是查询最新账本信息及根据账本号或账本哈希查询账本里面的交易等。
几点说明:
1)下面的所有例子都是基于井通区块链API的测试环境,每个例子我都亲自测试过,大家可以执行每个例子的URL来体验接口的输 入和输出。对于GET方法,把链接拷贝到浏览器执行就行。对于POST方法,可以使用postman这个工具去执行,也可以使用chrome 浏览器的restlet 插件。我自己是用的chrome浏览器的restlet插件,所以执行结果是经过格式化的,比较容易阅读。如果直接通过浏览 器执行,返回的结果是原始状态的JSON。
2)创建钱包接口,执行完后要把生成的钱包地址和密钥保存到其它地方,后面需要用到。如果没有保存,只能重新执行,再生成 一个新的钱包了。
3)转账支付接口,也可以执行,源钱包上面有点测试币,大家可以转点到自己的钱包去玩,但是别转多了,建议每人最多转200个 就够用了,留点给别人玩,谢谢了。如果发现转账失败,很可能就是里面的SWTC被转完了,可以通过区块链浏览器查查。
4)可以随时使用测试环境的区块链浏览器查水表。测试环境查水表地址如下: http://139.129.99.224:3001/#!/。
5)由于测试环境的数据被重置过,一些例子里面的测试钱包地址可能需要重新激活。另外,有些例子的返回结果可能与贴图不一 致,主要能表达意思就行了,有些地方有说明,也可能有些地方漏掉了,请大家多注意一下。
一、账号类接口
1、创建钱包 钱包就是区块链系统上的账户,所有创建钱包就是创建账户。这是进入区块链世界的第一道门,有了钱包,就有了区块链世界的身
份证。井通区块链上创建钱包非常简单,调用一个接口就搞定。
接口:/v2/wallet/new,GET方法
例子: https://tapi.jingtum.com/v2/wallet/new
返回结果:
{
"success": true, "status_code": "0", "wallet": {
"secret": "snEyogf7sbLaHFJuDDxaHtqMVskjm",
"address": "jwCPxksQzsfdrn3oo8doqb5YmvxFJsFbda" }
}
注意:井通区块链创建的钱包缺省没有激活,不能正式使用。要激活钱包,需要转入至少25个SWT。
2、查询余额
有了钱包,很自然的就要查询钱包余额,经常看看里面有多少钱。井通区块链可以根据钱包地址查询这个地址所有资产余额,还可 以查询这个地址单个资产余额。
接口:/v2/accounts/{:address}/balances,GET方法 参数:
例子1:https://tapi.jingtum.com/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/balances 返回结果(上面例子返回结果可能和下面的不太一致,因为数据重置了):
这个返回结果是chrome restlet插件的返回结果,如果直接通过浏览器访问,会直接展开所有数据。这是钱包所有资产的余额,上面 balances是一个数组,里面每一行都是一种资产。
返回结果参数说明:
二、支付类接口
3、转账支付 转账支付可以说是区块链系统最为核心和重要的功能了。转账支付就是将Token从一个钱包转到另外一个钱包,实现资产的点对点
转移。
接口:/v2/accounts/{:source_address}/payments,POST方法 接口参数:
例子:https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/payments
POST参数:
"secret": "sha4eGoQujTi9SsRSxGN5PamV3YQ4", "client_id": "fnwtest2018051000001",
"payment": {
"source": "jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF", "destination": "jwCPxksQzsfdrn3oo8doqb5YmvxFJsFbda", "amount": {
"value": "16.00", "currency": "SWT", "issuer": ""
},
"choice": "",
"memos": ["fnw test", "转测试钱包16swt"]
} }
返回结果:
{
"success": true,
"status_code": "0",
"client_id": "fnwtest2018051000001",
"hash": "0A489FF03A4D0C83E1CE2F57256F18D99BA503145D80A73A295B83A379FC93A2", "result": "tesSUCCESS",
"fee": 0.01
}
返回结果参数说明:
4、获得支付信息 获取支付详细信息。需要传入钱包地址和交易哈希。
接口:/v2/accounts/{:address}/payments/{:id},GET方法 参数:
例子:https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/payments/fnwtest2018051000001 返回结果(执行上面链接得到返回结果有些不同,不过结构相同就行):
5、获取支付历史 获取某个钱包地址的支付历史记录。需要传入钱包地址。这个接口和上一节“获取支付信息”,少了交易哈希这个参数,因此得到所
有支付记录。
接口:/v2/accounts/{:address}/payments,GET方法 参数:
例子:https://tapi.jingtum.com/v2/accounts/jwCPxksQzsfdrn3oo8doqb5YmvxFJsFbda/payments 返回结果(执行上面链接得到返回结果有些不同,不过结构相同就行):
6、查询支付选择 查询支付选择可以为点对点交易选择一条最合适的支付路径。注意:支付SWT不需要选择,所以查询SWT的支付选择是不存在的。 接口:/v2/accounts/{:source_address}/payments/choices/{:destination_address}/{:amount},GET方法
参数:
例 子:https://tapi.jingtum.com/v2/accounts/jpLpucnjfX7ksggzc9Qw6hMSm1ATKJe3AF/payments/choices/jwCPxksQzsfdrn3oo8doqb5YmvxFJ sFbda/1.00+GTA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS
返回结果(执行上面链接得到返回结果有些不同,因为数据被重置过):
三、账本类接口
1、获得最新账本号 获得最新账本号是一个非常有用的接口,很多场景下需要用到,现在这一版终于有了。上次发出去的那一版还没有这个功能。
接口:/v2/ledger/index,GET方法 接口参数:无
例子:
http://tapi.jingtum.com/v2/ledger/index
返回结果:
2、通过账本号/区块高度获得某一账本信息及交易信息 接口:/v2/ledger/index/{:index},GET方法
参数:
例子:
https://tapi.jingtum.com/v2/ledger/index/286534
返回结果:
返回结果说明:
3、通过账本hash获得某一账本信息及交易信息 接口:/v2/ledger/hash/{:hash},GET方法
参数:
例子:
https://tapi.jingtum.com/v2/ledger/hash/5E7E2A6F4FC436888790DFD1057BDE61D1E9267B3C9BE4C011D681DC1AC83009
返回结果与上面通过账本号查询的返回结果一致,不再重复。
作为一个开发者,有一个学习的氛围跟一个交流的圈子特别重要,下面是我们的社区交流群,不管你是小白还是大牛欢迎入住,分享经验、讨论技术、社区开发。大家一起交流学习共同成长!希望开发者少走弯路。
1.社区开发者大赛 QQ 群:568285439
2.社区论坛:http://bbswtc.com
3.社区公众号:SWTC 互动社区、SWTC 社区
4.github:https://github.com/swtcpro