![区块链:交易系统开发指南](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=1739277934-Dx5as21KHzly2SnQNkJqMUOytQWiwaig-0-cfadcb271d2f0ab638179d1b795ea015)
提交参数详情,如表2-2所示。
表2-2
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1739277934-XWzpmwBS44GXEJTJOYA5vpCTFpWU6mwQ-0-f54c0f8affe49b779baf7bd6cb9ca823)
提交的数据如下:
{ "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=1739277934-cf9qkQbjGojVbWStpgoLclikxumc196Z-0-4761209c5b4751735fa248081f81e781)
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=1739277934-uFEGpGfwbTHquGBkFtWG5up3fkDdPMgV-0-61681afecd33f8a98a41d998890e9ba8)
提交参数详情,如表2-5所示。
表2-5
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0002.jpg?sign=1739277934-KWygjQhs5E6EL4QN684DDWtc3UJ3xXm6-0-6badc554a292efa176a4339e0195fdd3)
提交的数据如下:
{ "method": "getbalance", "params": "[]" }
结果如下:
{ "result": "1.0000000000", }
返回的结果信息如表2-6所示。
表2-6
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0028_0003.jpg?sign=1739277934-GzMTSpZSnxzY6Mi0EGCUdCv3t39eAcIr-0-977cc6d3f29160781321e86486dbe66f)
3.交易
接口:http:// + + ":" + pass+ "@" + ip + ":" + port POST
接口参数如表2-7所示。
表2-7
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0001.jpg?sign=1739277934-Zm1r3kT3Ijs7DR7QY76MVAnAJWWWFGOi-0-6c9b845221507e02fc0864504f56f898)
提交参数详情,如表2-8所示。
表2-8
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0029_0002.jpg?sign=1739277934-dnN8p8i6pVibQqJCmzSWw8vsITW2wPIa-0-b173fe2232b287132bcfcba0e026f86e)
提交的数据如下:
{ "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=1739277934-zFgkZaij0Sk2m4ebrv4seFCEkVLdyoQ6-0-2b0d2a9cc9d201f308090c66088465a1)
4.查询交易信息
接口:http://ip + ":" + port POST
提交参数详情,如表2-10所示。
表2-10
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0030_0001.jpg?sign=1739277934-nXKBtRGhxptXReHadVKnYhsDcYVslks9-0-3fc493c60493956b645c9a127243a15d)
提交的数据如下:
{ "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=1739277934-7kyvMUyBs33YDWrzqIJklwIdS0sDxSuR-0-0195743a238e6357680f6e7537d5120c)
5.查询当前区块的交易记录
接口:http://ip + ":" + port POST
提交参数详情,如表2-12所示。
表2-12
![](https://epubservercos.yuewen.com/50AAF4/13916125803779206/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1739277934-WffdMrLen8Uwej4aSHkbUlELZ6SXXgoB-0-6e2314f8e6251b57fb87a1e0fdd72205)
提交的数据如下:
{ "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=1739277934-gI7MKhJ2FfJCuTegbuQnPV2PeMgx9Whj-0-1f222ceb1118b41a259a3a71bf53c43b)
提交的数据如下:
{ "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=1739277934-ywHI02fF8ynm4Fa1R6adHKgAXlJnClyk-0-1dc5d526933a47838f18c7c18c59a61f)