达世币全节点


小蚁链

<p>[[toc]]</p> <h3>修改历史</h3> <ul> <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> <h2>2 创建账户</h2> <p><strong>简要描述:</strong> </p> <ul> <li>创建账户</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>https://47.254.31.29/neo/account</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET </li> </ul> <p><strong>参数:</strong> </p> <ul> <li>None</li> </ul> <p><strong>调用示例</strong> <code>curl --cacert ROOT.crt https://47.254.31.29/neo/account</code></p> <p><strong>返回示例</strong></p> <pre><code>{ "privateKey": "b684723eaacdee0d8eefb3c084358604bbe91d709dc4f3fea794c570068a6e36", "address": "ATvWXBnFNk72gdJJVUpAVtdkqfzcrjxVZT" }</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;">privateKey</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>https://47.254.31.29/neo/account/getaddress/[:privateKey]</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;">privateKey</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 --cacert ROOT.crt https://47.254.31.29/neo/account/getaddress/b684723eaacdee0d8eefb3c084358604bbe91d709dc4f3fea794c570068a6e36</code></pre> <p><strong>返回示例</strong></p> <pre><code> { "address": "ATvWXBnFNk72gdJJVUpAVtdkqfzcrjxVZT", "privateKey": "b684723eaacdee0d8eefb3c084358604bbe91d709dc4f3fea794c570068a6e36" }</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;">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.31.29:8080/neo/account/[:address]/balance</code> <strong>请求方式:</strong></li> <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 http://47.254.31.29:8080/neo/account/AQoWQepNMtiYcvawH5M6GCM7Zw6j24c7RE/balance </code></pre> <p><strong>返回示例</strong></p> <pre><code>{ "address": "AQoWQepNMtiYcvawH5M6GCM7Zw6j24c7RE", "balances": [ { "name": "NEO", "balance": "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;">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;">array</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.31.29:8080/neo/account/[:address]/history?page=1&amp;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://47.254.31.29:8080/neo/account/AQoWQepNMtiYcvawH5M6GCM7Zw6j24c7RE/history</code></p> <p><strong>返回示例</strong></p> <pre><code>{ "address": "AQoWQepNMtiYcvawH5M6GCM7Zw6j24c7RE", "transactions": [ "0x752a8b25790fc3294fac6eedbc3e6e8e8e201e3e52b6da70fade4e08a832452a" ] }</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>6 查询详细交易历史</h2> <p><strong>简要描述:</strong> </p> <ul> <li>查询指定地址的详细交易记录,除了交易ID,还附带from,to,value,timestamp</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.31.29:8080/neo/account/[:address]/history.detail?page=1&amp;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://47.254.31.29:8080/neo/account/0xeca692E0E5E118705988E499F09b4B579edDa0e6/history.detail</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ "address": "ARBrk6BkcEVqaQ86uLRg3ZRXXLKMxhtzhR", "transactions": [ { "hash": "0x57cd1dfc262f5eafd858fb635a551e1086b57f437a9f95df2c52dde053b3c676", "timestamp": "1500702814", "from": [ { "address": "AM2maBhfz1NMsXzECkTe5YZ14oSDmB5skA", "coinName": "量子股份", "amount": "396" }, { "address": "ARBrk6BkcEVqaQ86uLRg3ZRXXLKMxhtzhR", "coinName": "量子积分", "amount": "4700" } ], "to": [ { "address": "ARBrk6BkcEVqaQ86uLRg3ZRXXLKMxhtzhR", "coinName": "量子股份", "amount": "396" }, { "address": "AM2maBhfz1NMsXzECkTe5YZ14oSDmB5skA", "coinName": "量子积分", "amount": "3960" }, { "address": "ARBrk6BkcEVqaQ86uLRg3ZRXXLKMxhtzhR", "coinName": "量子积分", "amount": "740" } ], "blockNumber": "1173427", "blockHash": "0x8e0b5a68d90e97fb5bfced4e0f559336c1e643e36f5b521dd39f62893941989a" } ] }</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> </tbody> </table> <h2>7 发起交易</h2> <p><strong>简要描述:</strong> </p> <ul> <li>发起一笔交易</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>https://47.254.31.29/neo/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>手续费,默认为0,为0也可以成功被打包</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": "8276250b42354f24549216e8b43239dbaec3e7814dbe08889f8f878636785614", \ "to": "AQoWQepNMtiYcvawH5M6GCM7Zw6j24c7RE", "amount":"1","uuid":"abc" }' \ https://47.254.31.29/neo/transaction </code></pre> <p><strong>返回示例</strong></p> <pre><code>{ "txid": "0x752a8b25790fc3294fac6eedbc3e6e8e8e201e3e52b6da70fade4e08a832452a" }</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.31.29:8080/neo/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://47.254.31.29:8080/neo/transaction/sendsigned/789abcd</code></p> <p><strong>返回示例</strong></p> <pre><code> { "txid": "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;">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.31.29:8080/neo/transaction/[:hash]/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;">hash</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>transactionHash</td> </tr> </tbody> </table> <p><strong>调用示例</strong></p> <pre><code>curl http://47.254.31.29:8080/neo/transaction/0x752a8b25790fc3294fac6eedbc3e6e8e8e201e3e52b6da70fade4e08a832452a/confirmation </code></pre> <p><strong>返回示例</strong></p> <pre><code> { "number": "186" }</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>查询一个交易的信息</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.31.29:8080/neo/transaction/[:txhash]/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;">txhash</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>交易哈希</td> </tr> </tbody> </table> <p><strong>调用示例</strong> <code>curl http://47.254.31.29:8080/neo/transaction/0x752a8b25790fc3294fac6eedbc3e6e8e8e201e3e52b6da70fade4e08a832452a/info</code></p> <p><strong>返回示例</strong></p> <pre><code>{ "blockHash": "0x5b49995e8c6b3a6a0ef55f51d12d41f83cb1d0234fc482e5c2e3e61388d799a8", "blockNumber": "2329153", "from": [ { "address": "AceZkysXecdCihzf3GVY9vaiN6JT9tJsLB", "coinName": "NEO", "amount": "1" } ], "to": [ { "address": "AQoWQepNMtiYcvawH5M6GCM7Zw6j24c7RE", "coinName": "NEO", "amount": "1" } ], "fee": "0", "type": "ContractTransaction", "timestamp": "1527647659" }</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;">blockHash</td> <td style="text-align: left;">string</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;">from</td> <td style="text-align: left;">string</td> <td>交易发起地址</td> </tr> <tr> <td style="text-align: left;">to</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;">uinx time</td> <td>交易所在区块的时间戳</td> </tr> </tbody> </table> <h2>11 批量查询余额</h2> <p><strong>简要描述:</strong> </p> <ul> <li>查询多个地址的余额</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.31.29:8080/neo/account/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":["AN3HYvW47LYzyXCxXPbJoNjeY6ztoRiaJc", "AJhtnr7JBPPHbSLzBTNhCNi42LGEJaZDVE"] }</code></pre> <p><strong>返回示例</strong></p> <pre><code>[ { "address": "AN3HYvW47LYzyXCxXPbJoNjeY6ztoRiaJc", "balances": [ { "name": "NEO", "balance": "228" }, { "name": "NeoGas", "balance": "124.04875475" } ] }, { "address": "AJhtnr7JBPPHbSLzBTNhCNi42LGEJaZDVE", "balances": [ { "name": "NEO", "balance": "0" } ] } ]</code></pre> <p><strong>返回参数说明</strong> </p> <p>结果数组</p> <h2>12 检查地址是否合法</h2> <p><strong>简要描述:</strong> </p> <ul> <li>检验地址是否正确,如果地址为全小写或者全大写,将会跳过校验和检查</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.31.29:8080/neo/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.31.29:8080/neo/account/AN3HYvW47LYzyXCxXPbJoNjeY6ztoRiaJc/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>

页面列表

ITEM_HTML