QTUM量子链
<p>[[toc]]</p>
<h3>修改历史</h3>
<ul>
<li><code>2018-08-03</code> 自定义助记词升级,修改<strong>创建账户</strong> 和<strong>发送交易</strong>,增加<strong>导入私钥</strong> 和<strong>导出私钥</strong>,删除<strong>根据私钥生成地址</strong></li>
<li><code>2018-07-17</code> 增加<strong>检查地址是否合法</strong>的接口</li>
<li><code>2018-07-17</code> 增加<strong>批量查询余额</strong>接口</li>
<li><code>2018-07-04</code> 发送交易增加uuid参数,保证幂等性</li>
<li><code>2018-07-04</code> 创建账户,根据私钥生成地址,发送交易改为强制使用HTTPS,使用443端口(HTTPS默认端口,可以不指定),请求时需要指定<a href="https://www.tapd.cn/21308131/documents/file_list/1121308131001000093">CA根证书</a></li>
</ul>
<h2>1 总体说明</h2>
<p>所有方法均返回JSON数据,所有调用应先检查status code,若不是<strong>200</strong>,则调用出错,返回的HTTP body中包含具体错误信息,如</p>
<pre><code> {
"error" : "some error message"
} </code></pre>
<p>所有方法的参数如果涉及莱特币数量的,请使用最小单位,所有方法返回的结果中若涉及数量,同样也是最小单位</p>
<h2>2 创建账户</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>创建账户</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>https://47.254.35.20/qtum/account</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;"><strong>参数:</strong></th>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ansa</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词a</td>
</tr>
<tr>
<td style="text-align: left;">ansb</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词b</td>
</tr>
<tr>
<td style="text-align: left;">ansc</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词c</td>
</tr>
<tr>
<td style="text-align: left;">time</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>时间戳</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>//POST body
{
"ansa":"22f5e8718e",
"ansb":"b62c9d94d3",
"ansc":"5e681fff9b",
"time":"ff3f4036a1164d1ddbad5b3edf9022addb3e1961a54a922708a6c1ffc49e5489"
}</code></pre>
<p><strong>返回示例</strong></p>
<pre><code>{
"address": "QXmiZ9xZvjUAxKVrory2NjGYDdCeoLYKBf",
"enc": "390B2305251C1F20494B48241F7D167748427248154214713C44113B0E3B6438663808317E0A352E5F3002282E26282C777B5474252223264E6C771A1D6A1F6A"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">string</td>
<td>莱特币地址</td>
</tr>
<tr>
<td style="text-align: left;">enc</td>
<td style="text-align: left;">string</td>
<td>因子B</td>
</tr>
</tbody>
</table>
<h2>3 导入私钥</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>根据私钥,生成对应的地址</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>https://47.254.35.20/qtum/account/import</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ansa</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词a</td>
</tr>
<tr>
<td style="text-align: left;">ansb</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词b</td>
</tr>
<tr>
<td style="text-align: left;">ansc</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词c</td>
</tr>
<tr>
<td style="text-align: left;">time</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>时间戳</td>
</tr>
<tr>
<td style="text-align: left;">priv</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>要导入的私钥</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>//POST body
{
"ansa":"22f5e8718e",
"ansb":"b62c9d94d3",
"ansc":"5e681fff9b",
"time":"ff3f4036a1164d1ddbad5b3edf9022addb3e1961a54a922708a6c1ffc49e5489",
"priv": "04cbb8964895668f3cb72ebb29f2ecea929f9d341815e3aaeaa0ab5fd65d1d8d"
}</code></pre>
<p><strong>返回示例</strong></p>
<pre><code>{
"address": "QXmiZ9xZvjUAxKVrory2NjGYDdCeoLYKBf",
"enc": "31260755032B2A20245451201C4C237B1C467417137542430B46723D42686D680C370B3308352D7D7A047B2E2A2A57545654241F20522355246C6D1B164B1E46"
}
</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
<tr>
<td style="text-align: left;">enc</td>
<td style="text-align: left;">string</td>
<td>因子B</td>
</tr>
</tbody>
</table>
<h2>4 导出私钥</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>导入私钥</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>https://47.254.35.20/qtum/account/dump</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ansa</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词a</td>
</tr>
<tr>
<td style="text-align: left;">ansb</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词b</td>
</tr>
<tr>
<td style="text-align: left;">ansc</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词c</td>
</tr>
<tr>
<td style="text-align: left;">time</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>时间戳</td>
</tr>
<tr>
<td style="text-align: left;">enc</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>因子B</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>//POST body
{
"ansa":"22f5e8718e",
"ansb":"b62c9d94d3",
"ansc":"5e681fff9b",
"time":"ff3f4036a1164d1ddbad5b3edf9022addb3e1961a54a922708a6c1ffc49e5489",
"enc": "31260755032B2A20245451201C4C237B1C467417137542430B46723D42686D680C370B3308352D7D7A047B2E2A2A57545654241F20522355246C6D1B164B1E46"
}</code></pre>
<p><strong>返回示例</strong></p>
<pre><code>{
"privateKey": "04cbb8964895668f3cb72ebb29f2ecea929f9d341815e3aaeaa0ab5fd65d1d8d"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">privateKey</td>
<td style="text-align: left;">string</td>
<td>私钥</td>
</tr>
</tbody>
</table>
<h2>4 查询余额</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询指定地址的余额</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/account/[:address]/balance</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong>
<code>curl 47.254.35.20:8080/qtum/account/QZm2kRp5KEDKbi89FBZ351SBGJ8eY5jGbB/balance</code></p>
<p><strong>返回示例</strong></p>
<pre><code>{
"address": "QZm2kRp5KEDKbi89FBZ351SBGJ8eY5jGbB",
"balance": "50444758344"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
<tr>
<td style="text-align: left;">balance</td>
<td style="text-align: left;">string</td>
<td>余额</td>
</tr>
</tbody>
</table>
<h2>5 查询交易历史</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询指定地址的交易记录</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/account/[:address]/history?page=1&pagesize=10</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
<tr>
<td style="text-align: left;">page</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>页,默认为1</td>
</tr>
<tr>
<td style="text-align: left;">pagesize</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>每页数量,默认为10</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong>
<code>curl 47.254.35.20:8080/qtum/account/QZm2kRp5KEDKbi89FBZ351SBGJ8eY5jGbB/history</code></p>
<p><strong>返回示例</strong></p>
<pre><code>{
"address": "QZm2kRp5KEDKbi89FBZ351SBGJ8eY5jGbB",
"transactions": [
"37f2a58703b6861a3c592c7109e94e7657a7880bf70de16fd7565ecee32cb846",
"6d062e059ea44613af67529d6ccc4ba8c84590aed3666fc23e458cb68c4a1510",
"89305dcb88509fd75fb3411e7c998a76883f022fa4dcc0d8d56582c2af5c5b64"
]
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
<tr>
<td style="text-align: left;">transactions</td>
<td style="text-align: left;">array</td>
<td>交易记录(txid数组)</td>
</tr>
</tbody>
</table>
<h2>6 查询详细交易历史</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询历史记录,除了返回txid外,还附带inputs,outputs,timestamp</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/account/[:address]/history.detail?page=1&pagesize=10</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
<tr>
<td style="text-align: left;">page</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>页,默认为1</td>
</tr>
<tr>
<td style="text-align: left;">pagesize</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>每页数量,默认为10</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong>
<code>curl 47.254.35.20:8080/qtum/account/QjUfeFWsuXY2TzYTRG272pwmK4zvbGjjKc/history.detail</code></p>
<p><strong>返回示例</strong></p>
<pre><code>{
"address": "QjUfeFWsuXY2TzYTRG272pwmK4zvbGjjKc",
"transactions": [
{
"from": [
{
"address": "Qe1mDfqwNLjT4zcWCaZ2LtQ8SETbEiq3uQ",
"value": "5999000000"
}
],
"to": [
{
"address": "QjUfeFWsuXY2TzYTRG272pwmK4zvbGjjKc",
"value": "5998600000"
}
],
"timestamp": "1526361184",
"hash": "cb20c83bb50503c030e931691bbbb700cb0426de51d6b67f3a2dcc26bc826c2f",
"receive": "5998600000"
}
]
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
<tr>
<td style="text-align: left;">transations</td>
<td style="text-align: left;">array</td>
<td>详细交易记录</td>
</tr>
<tr>
<td style="text-align: left;">transactions.from</td>
<td style="text-align: left;">array</td>
<td>此交易引用的未花费交易(utxo)</td>
</tr>
<tr>
<td style="text-align: left;">transactions.to</td>
<td style="text-align: left;">array</td>
<td>此交易的若干接收地址</td>
</tr>
<tr>
<td style="text-align: left;">transactions.receive</td>
<td style="text-align: left;">string</td>
<td>此交易对于查询地址的收支情况</td>
</tr>
<tr>
<td style="text-align: left;">transactions.hash</td>
<td style="text-align: left;">string</td>
<td>此交易的txid</td>
</tr>
<tr>
<td style="text-align: left;">transactions.timestamp</td>
<td style="text-align: left;">unix time</td>
<td>包含此交易的区块的时间戳</td>
</tr>
</tbody>
</table>
<h2>7 发起交易</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>发起一笔交易,自动找零地址为发起交易地址</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>https://47.254.35.20/qtum/transaction</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ansa</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词a</td>
</tr>
<tr>
<td style="text-align: left;">ansb</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词b</td>
</tr>
<tr>
<td style="text-align: left;">ansc</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>自定义助记词c</td>
</tr>
<tr>
<td style="text-align: left;">time</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>时间戳</td>
</tr>
<tr>
<td style="text-align: left;">enc</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>因子B</td>
</tr>
<tr>
<td style="text-align: left;">to</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>目的地址</td>
</tr>
<tr>
<td style="text-align: left;">amount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>转账金额(单位:聪)</td>
</tr>
<tr>
<td style="text-align: left;">fee</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>矿工手续费(单位:聪)</td>
</tr>
<tr>
<td style="text-align: left;">uuid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>通用唯一识别码,请确保每次交易uuid不同</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>curl --cacert ROOT.crt -H "Content-Type:application/json" -X POST –data \
'{"privateKey":"690e38139d5282491f5a678d60242eea78fa138fec8062394c1be1b769f4f0d0", \
"to":"1Ka8aikgJCG7B5QWqHCtsm9CzSQEfKfWq2", "amount":"50000000", "fee":"100000","uuid":"abc"}' \
https://47.254.35.20/qtum/transaction </code></pre>
<p><strong>返回示例</strong></p>
<pre><code> {
"txid":"bf2f5d9e25420b13dd5110532ca5dfb10a9fc576bafa864c6e5807ed05ea68be"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">txid</td>
<td style="text-align: left;">string</td>
<td>交易ID</td>
</tr>
</tbody>
</table>
<h2>8 发送已签名交易</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>发起一笔已经用私钥签名了的交易</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/transaction/sendsigned/[:rawTransaction]</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">rawTransaction</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>已签名交易的hex string</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong>
<code>curl 47.254.35.20:8080/qtum/transaction/sendsigned/789abcdffadf17247</code></p>
<p><strong>返回示例</strong></p>
<pre><code> {
"txid": "bf2f5d9e25420b13dd5110532ca5dfb10a9fc576bafa864c6e5807ed05ea68be"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">txid</td>
<td style="text-align: left;">string</td>
<td>交易ID</td>
</tr>
</tbody>
</table>
<h2>9 查看交易确认次数</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查看一笔交易的确认次数</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/transaction/[:txid]/confirmation</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">txid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>交易ID</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>curl http://47.254.35.20:8080/qtum/transaction/dd5b24cc0802f9935715b3f05030bdc76074837ddc0e9b01e294bedbb557a62f/confirmation </code></pre>
<p><strong>返回示例</strong></p>
<pre><code> {
"number": "1"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">number</td>
<td style="text-align: left;">string</td>
<td>确认次数</td>
</tr>
</tbody>
</table>
<h2>10 查询交易打包信息</h2>
<p><strong>简要描述:</strong></p>
<ul>
<li>查看打包此交易的区块的哈希,number,时间戳和这笔交易的实际手续费</li>
</ul>
<p><strong>请求URL:</strong></p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/transaction/[:txid]/info</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET</li>
</ul>
<p><strong>参数:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">txid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>交易ID</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>curl 47.254.35.20:8080/qtum/transaction/dd5b24cc0802f9935715b3f05030bdc76074837ddc0e9b01e294bedbb557a62f/info</code></pre>
<p><strong>返回示例</strong></p>
<pre><code>{
"blockHash": "00000000000000000011333821d5508f414e4524436c87f1082dc7031fb31723",
"blockNumber": "521871",
"fee": "581782",
"timestamp": "1525847542"
}</code></pre>
<table>
<thead>
<tr>
<th style="text-align: left;"><strong>返回参数说明</strong></th>
<th style="text-align: left;">参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">blockHash</td>
<td style="text-align: left;">stirng</td>
<td>区块哈希</td>
</tr>
<tr>
<td style="text-align: left;">blockNumber</td>
<td style="text-align: left;">string</td>
<td>区块序号</td>
</tr>
<tr>
<td style="text-align: left;">fee</td>
<td style="text-align: left;">string</td>
<td>实际手续费</td>
</tr>
<tr>
<td style="text-align: left;">timestamp</td>
<td style="text-align: left;">unix time</td>
<td>区块时间戳</td>
</tr>
</tbody>
</table>
<h2>11 手续费估计值</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>获取手续费的估计值,这个估计值是前若干个区块中的所有交易的手续费的中位数</li>
<li>此值仅供参考</li>
<li>当节点信息不足时,返回 -1</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/transaction/fee</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<ul>
<li>
<p>None</p>
<p><strong>返回示例</strong></p>
</li>
</ul>
<pre><code> {
"fee": "400000"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">fee</td>
<td style="text-align: left;">string</td>
<td>估计手续费</td>
</tr>
</tbody>
</table>
<h2>12 批量查询余额</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询多个地址的余额</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/balances</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">addr</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">array</td>
<td>地址数组</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>// POST BODY
{
"addrs":["Qbf6sk8kydFLnikXGkSxKLcczNBwVgWwrR", "QPAMw4sggMNUyEuJcYZzLkbbf4JX88ZWn9"]
}</code></pre>
<p><strong>返回示例</strong></p>
<pre><code> [
{
"address": "Qbf6sk8kydFLnikXGkSxKLcczNBwVgWwrR",
"balance": "13732757093679"
},
{
"address": "QPAMw4sggMNUyEuJcYZzLkbbf4JX88ZWn9",
"balance": "9876000"
}
]</code></pre>
<p><strong>返回参数说明</strong> </p>
<p>结果数组</p>
<h2>13 检查地址是否合法</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>检验地址是否正确,如果地址为全小写或者全大写,将会跳过校验和检查</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://47.254.35.20:8080/qtum/account/:address/check</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>GET </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">address</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>地址</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>curl 47.254.35.20:8080/qtum/account/Qbf6sk8kydFLnikXGkSxKLcczNBwVgWwrR/check</code></pre>
<p><strong>返回示例</strong></p>
<pre><code>{
"result": true
}</code></pre>
<table>
<thead>
<tr>
<th style="text-align: left;"><strong>返回参数说明</strong></th>
<th style="text-align: left;">参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">result</td>
<td style="text-align: left;">bool</td>
<td>结果</td>
</tr>
</tbody>
</table>
<h2>14 私钥发起交易</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>发起一笔交易,自动找零地址为发起交易地址</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>https://47.254.35.20/qtum/transaction</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">privateKey</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>私钥</td>
</tr>
<tr>
<td style="text-align: left;">to</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>目的地址</td>
</tr>
<tr>
<td style="text-align: left;">amount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>转账金额(单位:聪)</td>
</tr>
<tr>
<td style="text-align: left;">fee</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>矿工手续费(单位:聪)</td>
</tr>
<tr>
<td style="text-align: left;">uuid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>通用唯一识别码,请确保每次交易uuid不同</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code>curl --cacert ROOT.crt -H "Content-Type:application/json" -X POST –data \
'{"privateKey":"690e38139d5282491f5a678d60242eea78fa138fec8062394c1be1b769f4f0d0", \
"to":"1Ka8aikgJCG7B5QWqHCtsm9CzSQEfKfWq2", "amount":"50000000", "fee":"100000","uuid":"abc"}' \
https://47.254.35.20/qtum/transaction </code></pre>
<p><strong>返回示例</strong></p>
<pre><code> {
"txid":"bf2f5d9e25420b13dd5110532ca5dfb10a9fc576bafa864c6e5807ed05ea68be"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">txid</td>
<td style="text-align: left;">string</td>
<td>交易ID</td>
</tr>
</tbody>
</table>