![区块链:交易系统开发指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/432/25462432/b_25462432.jpg)
第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=1738887387-EIL4MvW3WJgxKQZjxulIXAOIxcKPnQyN-0-1c5067646a0d40a5610ba7183e66d703)
提交参数详情,如表2-2所示。
表2-2
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1738887387-u6wpRDjjxxcUECvFRkNV0XW81zOzuSy2-0-bf0329f6cda7f409b5c0a1e580efdde6)
提交的数据如下:
{ "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=1738887387-cPoKqOSTtTX59HmjcnakiCMCz6TXwV13-0-5c8b20a781fe848a2453cc4873fa5279)
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=1738887387-RHMjFgf1Q8mKhvnhghaZCEvXuqvBdqiT-0-d0b29ff9727d9629891480fbe5984cbc)
提交参数详情,如表2-5所示。
表2-5
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0002.jpg?sign=1738887387-ydXig2clM0B0YCeaMDm3U0bc5CVqJWIV-0-b05d1cabd0da382053986bd14f1779cf)
提交的数据如下:
{ "method": "getbalance", "params": "[]" }
结果如下:
{ "result": "1.0000000000", }
返回的结果信息如表2-6所示。
表2-6
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0003.jpg?sign=1738887387-1DeKTai13Oa2sCTiQsdWgLwVxCjwx2pV-0-2f43fa1d32f4e977a46278f6df16cfef)
3.交易
接口:http:// + + ":" + pass+ "@" + ip + ":" + port POST
接口参数如表2-7所示。
表2-7
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0001.jpg?sign=1738887387-eYhlS7bdcHTxATgjTFs8PiXHt6xg9CN3-0-7a1a2d7dd55f9bc30c0e9ecc3f86d40e)
提交参数详情,如表2-8所示。
表2-8
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0002.jpg?sign=1738887387-FPOQX4uIzP6rch3kX6Kaom25WtNH3ghl-0-e0d3f03720e3d2c25b29226cf1a3112a)
提交的数据如下:
{ "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=1738887387-aKVsahN204fJUtUrYAQCSn2XF6poA9L3-0-da51ef0b976d7caa8ab9480041385dd6)
4.查询交易信息
接口:http://ip + ":" + port POST
提交参数详情,如表2-10所示。
表2-10
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0030_0001.jpg?sign=1738887387-Y3bDBZHiOLXNmghbLBbaXONWFCQl2LDG-0-4ab2df4727864be0e709551376ac57e0)
提交的数据如下:
{ "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=1738887387-l2BD54cpoM0OGOnpliZ5cwAT0JUlcvz7-0-861e3dd0ea724a505893a34a260adcb4)
5.查询当前区块的交易记录
接口:http://ip + ":" + port POST
提交参数详情,如表2-12所示。
表2-12
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1738887387-g8bTpn4pW0i3ubrcmAcdiSdlLSHwSeT4-0-31c84da89c8911079225644658411414)
提交的数据如下:
{ "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=1738887387-F9hgnHsyWDQzUIXezxDQJt0lJjtsQGuy-0-f723a8c6125ddf677a6a1f734eb841f2)
提交的数据如下:
{ "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=1738887387-7NHuCKawrXpeaOgm2ymTGYgVucDTrsgH-0-715379c6295e4d66c352c270fe2e3cb2)