![区块链:交易系统开发指南](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=1738865517-Ow0lzY4vo95WUQWHSRH658t7fCj6Ehgy-0-1d1edbb490e401638a7a1a683e0d58c4)
提交参数详情,如表2-2所示。
表2-2
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1738865517-np4TxvfGQfg0vfCUd3ok3a47qQRNvP1a-0-82ccb5a59f8ddd5a6018ece0d0bafb14)
提交的数据如下:
{ "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=1738865517-gKEs0KQ2c2m8Bv1vChmpThNg6CYjtIBg-0-bde022855aff7eb1ea95fd8434da3050)
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=1738865517-PcClVaEVsDFBgXtzDlFDsAvOU4TCCrLT-0-400e2c29137ae665a1accc8812b015f8)
提交参数详情,如表2-5所示。
表2-5
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0002.jpg?sign=1738865517-38XySyYnjxFU0ZtAcw3F6E93anpTdsKt-0-bf3093ea938194413500266a8098628f)
提交的数据如下:
{ "method": "getbalance", "params": "[]" }
结果如下:
{ "result": "1.0000000000", }
返回的结果信息如表2-6所示。
表2-6
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0003.jpg?sign=1738865517-y4rHvqwvUaa7v5TpWj7vapAIgmmqIgMd-0-79177a866c2ff33257204e3388803771)
3.交易
接口:http:// + + ":" + pass+ "@" + ip + ":" + port POST
接口参数如表2-7所示。
表2-7
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0001.jpg?sign=1738865517-eOLZAwrJEqvf4nJp6pkZb82ZWDrHPxpK-0-ee317d863d54c01dbe6c53cc3136733e)
提交参数详情,如表2-8所示。
表2-8
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0002.jpg?sign=1738865517-2czNkQg36VIxgU8oNs5UgT72eyvMuNx7-0-0af82051adbf76f09415d2e2d3fc8daf)
提交的数据如下:
{ "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=1738865517-928avqYuGBEqQbCpMTkChFb0eehpk1YS-0-c890d346c9fcf141f18e11e2b7dc0508)
4.查询交易信息
接口:http://ip + ":" + port POST
提交参数详情,如表2-10所示。
表2-10
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0030_0001.jpg?sign=1738865517-e7HjAVFyOcZZntJrZEyIgpewo9erNf52-0-a0ec1d340aaa7182e2761f15141c5466)
提交的数据如下:
{ "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=1738865517-ib9o2iKHllyxSTNvaJyLIzejyKOQ6YoG-0-5e748a80401880623bff8b88677c2228)
5.查询当前区块的交易记录
接口:http://ip + ":" + port POST
提交参数详情,如表2-12所示。
表2-12
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1738865517-Yd4ikVD8UxW36muoADapHalquNowMWGb-0-9c879ba99a65f5a81d934e330dec8b2d)
提交的数据如下:
{ "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=1738865517-iNsnZrvPJUU7QinWPtwyjHWqgrWKUHPh-0-4cb4caa5c2a42467d2748d29a1b6122f)
提交的数据如下:
{ "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=1738865517-7UNQC1suOvmIZGRaFrqPJGCdP25sMrnQ-0-01caeed9658aa7b48101bd1f21bd7ecb)