eth_api
<h2>1 总体说明</h2>
<p>所有方法均返回JSON数据,则调用出错,返回的HTTP body中包含具体错误信息,如</p>
<pre><code> {
"error" : "some error message"
} </code></pre>
<h2>2 查询余额</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询指定地址的余额</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://localhost:8080/ethereum/account/[:address]/balance/[:lastnumber?]</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;">lastnumber</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 http://localhost:8080/ethereum/account/0x1dbe35dB279c0e0Ce0d0e1b92173d2216606d763/balance
curl http://localhost:8080/ethereum/account/0x1dbe35dB279c0e0Ce0d0e1b92173d2216606d763/balance/540000 </code></pre>
<p><strong>返回示例</strong></p>
<pre><code> {
"address": "0x1dbe35dB279c0e0Ce0d0e1b92173d2216606d763",
"balance": "123"
}</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>3 查询交易记录</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询指定地址的历史交易记录</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://localhost:8080/ethereum/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 http://localhost:8080/ethereum/account/0x1dbe35dB279c0e0Ce0d0e1b92173d2216606d763/history</code></p>
<p><strong>返回示例</strong></p>
<pre><code> {
"address": "0x1dbe35dB279c0e0Ce0d0e1b92173d2216606d763",
"transactions": [
"0x972b58d8331ad4bca2d6fd565ce1754bd4c35be40d29940c1b3cc5d4270be803",
"0x4c07834618eb6b45107981f239a2858194b9649c97ff420c52bf5c2ea7ef6f1b"
]
}</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>交易ID</td>
</tr>
</tbody>
</table>
<h2>4 查询详细交易历史</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>查询指定地址的详细交易记录,除了交易ID,还附带from,to,value,timestamp</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://localhost:8080/ethereum/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></p>
<pre><code>curl http://localhost:8080/ethereum/account/0xeca692E0E5E118705988E499F09b4B579edDa0e6/history.detail</code></pre>
<p><strong>返回示例</strong></p>
<pre><code> {
"address" : "0xeca692E0E5E118705988E499F09b4B579edDa0e6",
"transactions" : [
{
"from" : "0xeca692e0e5e118705988e499f09b4b579edda0e6",
"to" : "0x0d0707963952f2fba59dd06f2b425ace40b492fe",
"value" : "107080370000000000",
"hash" : "0x972b58d8331ad4bca2d6fd565ce1754bd4c35be40d29940c1b3cc5d4270be803",
"timestamp":"1524456115"
},
{
"from" : "0xd10a67dc1322a7dc13bffe704d2de7fb97e3598b",
"to" : "0xeca692e0e5e118705988e499f09b4b579edda0e6",
"value" : "31000000000000000",
"hash" : "0x4c07834618eb6b45107981f239a2858194b9649c97ff420c52bf5c2ea7ef6f1b",
"timestamp":"1515792141"
},
{
"from" : "0x5baeac0a0417a05733884852aa068b706967e790",
"to" : "0xeca692e0e5e118705988e499f09b4b579edda0e6",
"value" : "59619930000000000",
"hash" : "0x9e4080772d7b4b2f2a1325bdf02e29a33754cbda300c477469de35fe627df080",
"timestamp":"1515733229"
}
]
} </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>交易记录</td>
</tr>
<tr>
<td style="text-align: left;">transactions.from</td>
<td style="text-align: left;">string</td>
<td>交易发起者</td>
</tr>
<tr>
<td style="text-align: left;">transactions.to</td>
<td style="text-align: left;">string</td>
<td>交易目标</td>
</tr>
<tr>
<td style="text-align: left;">transactions.value</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>交易ID</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>5 发送已签名交易即广播交易</h2>
<p><strong>简要描述:</strong> </p>
<ul>
<li>发送一笔已经用私钥签名了的交易</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://localhost:8080/ethereum/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 http://localhost:8080/ethereum/transaction/sendsigned/789abcd</code></p>
<p><strong>返回示例</strong></p>
<pre><code> {
"transactionHash": "0x972b58d8331ad4bca2d6fd565ce1754bd4c35be40d29940c1b3cc5d4270be803"
}</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;">transactionHash</td>
<td style="text-align: left;">string</td>
<td>交易ID</td>
</tr>
</tbody>
</table>