- 区块链:交易系统开发指南
- 武源文 柏罡 温江凌
- 775字
- 2020-08-27 23:27:03
第2章 公有链及其API接口
2.1 BTC
2.1.1 BTC公有链的特点
在最早的区块链1.0时代,没有账户的概念,用户余额是从各自在区块链上所有未花费交易输出(UTXO)计算得来的。采用PoW共识机制,依赖机器进行哈希运算来获取记账权,无法避免矿池算力集中的问题。
2.1.2 BTC公有链API接口
BTC公有链的主要接口有创建钱包账户、查询账户余额、交易、查询交易信息、查询当前区块交易记录、查询区块信息。下面通过JSONRpc请求方式进行讲解。
1.创建钱包账户
接口:http:// + access_key+ ":" + secret_key+ "@" + ip + ":" + port POST
接口参数如表2-1所示。
表2-1
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0001.jpg?sign=1739594047-jiH7tcjMNl4Hso13939pZmBCSV1HIM02-0-54799d6dbec7b964b40b5addc4d64e53)
提交参数详情,如表2-2所示。
表2-2
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1739594047-BhoRs9FCJYXiBSzIYcMf9HOGdZdT0C2V-0-dd58b8e1ec63d5c3b4196497ac981250)
提交的数据如下:
{ "method": "getnewaddress", "params": "[weiqingwei@126.com]" }
结果如下:
{ "result": "1D49jJv3o2xvVv4DLxV9N7tEPUY4RcYDTy", }
返回的结果信息如表2-3所示。
表2-3
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0003.jpg?sign=1739594047-qVUF0tUwBW0R2r17rqnxaLVG1rM8DgDd-0-e82773b2c3c9a70c562ec320029d7c2b)
2.查询账户余额
接口:http:// + username+ ":" + pass+ "@" + ip + ":" + port POST
接口参数如表2-4所示。
表2-4
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0001.jpg?sign=1739594047-0XJ1jYO8ZC7k7kE5KQUqxf5e3bGxh0YE-0-c745bb5159452b35cb7bcc2a68cc3f87)
提交参数详情,如表2-5所示。
表2-5
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0002.jpg?sign=1739594047-0Jaj3qtLmhf0avimeUlCzIPT1xhYx99T-0-33695316c2a8cb22521d30d6ed7e8f18)
提交的数据如下:
{ "method": "getbalance", "params": "[]" }
结果如下:
{ "result": "1.0000000000", }
返回的结果信息如表2-6所示。
表2-6
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0003.jpg?sign=1739594047-S3bLg0sO8yqrZ2XlSxJxGxddxbAuKgHz-0-293c710f61941795ecb4b1173a349059)
3.交易
接口:http:// + + ":" + pass+ "@" + ip + ":" + port POST
接口参数如表2-7所示。
表2-7
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0001.jpg?sign=1739594047-zLuf1x9WOQwqIu1zWrCcGrRqS31ZhemO-0-208c0d67b0169dd5b2a5c1e908268936)
提交参数详情,如表2-8所示。
表2-8
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0002.jpg?sign=1739594047-nm4BfUl2wH8AuCPF2Y5G1Wnxul0z0bHO-0-ad61c1bdfa3db938a3b2fef6034c7b1b)
提交的数据如下:
{ "method": "sendtoaddress", "params": "["1D49jJv3o2xvVv4DLxV9N7tEPUY4RcYDTy",1.0000000000]" }
结果如下:
{ "result": "1C3111148F01A21A5BA1B50E30D716ED1CAB4F7C5 1A36D1D106590B351A5E77C" }
返回的结果信息如表2-9所示。
表2-9
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0003.jpg?sign=1739594047-cV3nE2WVXXehIG2x9DNhVg1TCOTizj2t-0-fa6cd7043750d075b5af5926e641e668)
4.查询交易信息
接口:http://ip + ":" + port POST
提交参数详情,如表2-10所示。
表2-10
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0030_0001.jpg?sign=1739594047-zUR1JLb5PkMLmUkKOg11ZEUY6dW0hGKn-0-7238ec53a21b4fd70b0078c3f868b9e6)
提交的数据如下:
{ "method": "gettransaction", "params": "[1C3111148F01A21A5BA1B50E30D716ED1CAB4F7C5 1A36D1D106590B351A5E77C]" }
结果如下:
{ "amount": 0, "fee": 0, "blockindex": 179123, "details": [{ "fee": 0, "amount": 0.01000000, "blockindex": 179123, "category": "receive", "confirmations": 0, "address": "1APSgU92VV77GB2YMNNMMYz7Sock5gMgV1", "txid": "5031738bc1f797e5e0f8b782989111d751064 96c5dedea50d96e2ed1dc88190d", "block": 1327599863, "blockhash": "000000000000079bae4b877ad3810f03db249 a6f239c2b69c18d44c141c470ee" }, { "fee": 0, "amount": 0.00100000, "blockindex": 179123, "category": "send", "confirmations": 0, "address": "15CDCKBLsvX3nZ3krMYNse6FkRcuMD1rmU", "txid": "5031738bc1f797e5e0f8b782989111d75106 496c5dedea50d96e2ed1dc88190d", "block": 1327599863, "blockhash": "000000000000079bae4b877ad3810f03d b249a6f239c2b69c18d44c141c470ee" } ], "confirmations": 15767, "txid": "5031738bc1f797e5e0f8b782989111d751 06496c5dedea50d96e2ed1dc88190d", "block": 1327599863, "blockhash": "000000000000079bae4b877ad3810f03d b249a6f239c2b69c18d44c141c470ee" }
返回的结果信息如表2-11所示。
表2-11
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0031_0001.jpg?sign=1739594047-i3QN1CYr7vCmoXOkvQEfrXc9Qy4gwNvm-0-1beee51ffbe06cb84f36c7f355a1a451)
5.查询当前区块的交易记录
接口:http://ip + ":" + port POST
提交参数详情,如表2-12所示。
表2-12
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1739594047-x5G64UBkKO0tKHnNrb7uDnAoybTPYXXo-0-08e6ef6349badcb286e0c47e4b4e855f)
提交的数据如下:
{ "method": "gettransaction", "params": "[00000000000003438e8c67500f34dd32bb1b f0d251a5c230c407641961c85b41]" }
结果如下:
{ "lastblock": "00000000000009133d70c6282279bfc5fadfea07 e27543445a199fe6ef84b51b", "transactions": [{ "fee": 0.01000000, "amount": 1, "blockindex": 171984, "category": "receive", "confirmations": 0, "address": "1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq", "txid": "90992bc8ebff9774cfc91738863602010dab 9ab2f5b0841cc4922786a2029725", "block": 1323486876, "blockhash": "00000000000003438e8c67500f34dd32bb1b f0d251a5c230c407641961c85b41", "account": "My Wallet" }] }
返回的结果信息:类似于交易接口,这里不再赘述。
6.查询区块信息
接口:http://ip + ":" + port POST
提交参数详情,如表2-13所示。
表2-13
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0032_0001.jpg?sign=1739594047-XfY5HTJkvDU4VExdwQ8FlbZl6QTLx8e7-0-02e562ab8001eb9b061d6dd1ac1732a5)
提交的数据如下:
{ "tx": [ "4a5e1e4baab89f3a32518a88c31bc87f618f7667 3e2cc77ab2127b7afdeda33b" ], "time": 1231006505, "height": 0, "nonce": 2083236893, "hash": "000000000019d6689c085ae165831e934ff76 3ae46a2a6c172b3f1b60a8ce26f", "bits": 486604799, "difficulty": 1, "merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f7667 3e2cc77ab2127b7afdeda33b", "version": 1, "size": 285 }
返回的结果信息如表2-14所示。
表2-14
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0033_0001.jpg?sign=1739594047-IDbR9bwEMYPIIYzkLBToX183eSsOUm3P-0-26bf296afc7ed837c41f64e09af7eee6)