- 区块链:交易系统开发指南
- 武源文 柏罡 温江凌
- 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=1739359599-CgEWVJKgkKJzbYWtDScBCvg7v41sSzEP-0-a04cd2df559251973c9472a31e96ec34)
提交参数详情,如表2-2所示。
表2-2
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1739359599-AYsGOHEaYqGCNRVzLydyOIbXIFJvzerN-0-c18f6570548abe28694aa558f0bb7665)
提交的数据如下:
{ "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=1739359599-qbeEGXptPz1D4CT8qY5KMpypEXbBPuPU-0-d2ee8e8ed4e32fbacec5daf7a649a293)
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=1739359599-ogVcB1gSIGtu77QbcZQ7aTAHb3lfAEK5-0-8f9907252391878c3e988219e370d9bd)
提交参数详情,如表2-5所示。
表2-5
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0002.jpg?sign=1739359599-jcuxe4TwJUyhao8swubqRXmK5PkHLiWL-0-7a80b830598c90dca26e7cb3653438d9)
提交的数据如下:
{ "method": "getbalance", "params": "[]" }
结果如下:
{ "result": "1.0000000000", }
返回的结果信息如表2-6所示。
表2-6
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0003.jpg?sign=1739359599-Gye69NdyQBnsb6mUEmQmIn00fL3DfA28-0-962fb283d66aa1f2e3df325b4137bedd)
3.交易
接口:http:// + + ":" + pass+ "@" + ip + ":" + port POST
接口参数如表2-7所示。
表2-7
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0001.jpg?sign=1739359599-pOSWtNJgkP3QvQc8PbW2M5QH1STuGYar-0-06b45f2a519d9db60a21ad2cef4cf6e7)
提交参数详情,如表2-8所示。
表2-8
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0002.jpg?sign=1739359599-ZpnHPiexqOfVZsrIOSNsyAWmYAtjqnXy-0-6f59ccaa7fb70b446ab5e7c66a2befca)
提交的数据如下:
{ "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=1739359599-hLKtxE2PCXEO8asbRlmvVrLS4lMSF6ng-0-92e3217e2c1bd4474535851e3584105b)
4.查询交易信息
接口:http://ip + ":" + port POST
提交参数详情,如表2-10所示。
表2-10
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0030_0001.jpg?sign=1739359599-zE83yfrSWdCoDjkRVCHquZMCS88neLqz-0-75098073e1a423908cbc65fb3ad9ea29)
提交的数据如下:
{ "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=1739359599-BzaA9tMl5IivLollMlyymF264JdVlivv-0-c63e3e17b2270f34f46b8ec06baa8d15)
5.查询当前区块的交易记录
接口:http://ip + ":" + port POST
提交参数详情,如表2-12所示。
表2-12
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1739359599-2tiWqlegavVyg4YO9KZ97ONllzazfhES-0-ebe89dd4a76706acface3e2df3e28551)
提交的数据如下:
{ "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=1739359599-Lei5P7BrkDCKkuRyg8RnEdEKlR6LnxPp-0-1d3a534cc8203060dc231924b42b8282)
提交的数据如下:
{ "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=1739359599-QEfu43aU1r6hE5GCw1wf3O8XtO1Omd1S-0-06ed00818c1e16efa3515767462fe17b)