达世币全节点


NEM新经币

<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.39.97/nem/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.39.97/nem/account</code></p> <p><strong>返回示例</strong></p> <pre><code>{ "address": "NAMUHQ65DO7XI6MT7NGPWRZJ6LMYMYPVLGVHKDM3", "privateKey": "4185d75cc3a666a3c443bc1cc49aad399a55414211b43ee7bb7030aff8dbc57e" }</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.39.97/nem/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.39.97/nem/account/getaddress/4185d75cc3a666a3c443bc1cc49aad399a55414211b43ee7bb7030aff8dbc57e</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ "address": "NAMUHQ65DO7XI6MT7NGPWRZJ6LMYMYPVLGVHKDM3", "privateKey": "4185d75cc3a666a3c443bc1cc49aad399a55414211b43ee7bb7030aff8dbc57e" }</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.39.97:8080/nem/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></p> <pre><code>curl http://47.254.39.97:8080/nem/account/NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F/balance </code></pre> <p><strong>返回示例</strong></p> <pre><code>{ "address": "NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F", "balance": "8529260.055629" //单位就是XEM,不用转换 }</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.39.97:8080/nem/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.39.97:8080/nem/account/NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F/history</code></p> <p><strong>返回示例</strong></p> <pre><code>{ "address": "NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F", "transactions": [ "52445713cd474f2973ba5c0672f5f0c8d2a5941a9036cb0c311eb466e5befc70", "bc4eede422cb7060567d543669443185642bb87433dcd1fc5857437456e7df40", "4cc0f258426260b9f70cfb6a89c08535c59735489998569411154e5a5b7e58b6", "26faf9ee7a7566f5c63830c9734dc59ea4306ff83bea9350cf4b0009b08b623c", "2a3e5a0fe8e1a89f17401fa2314ee7937021c181253a2080552c6b6c76c9a9a1", "10ba97bb5aa79e4e79b18d03a5e697d0b6c8e4b17d0e70bc8162924afa002630", "01284cbc7b4102846e9fbb75345b969431e7aacaa63e29270cdb991f11764006", "513012c76e187ed8f9628b0ed404ba5f0a4ea26634447bbf880fed349782b5bb", "42eab2c93ece408e753d5e09e9d0cefa91bb34d45d1e151d0516a49507bae64f", "7e7c1444fc7087ba0b6a8277fa0026362f704f6c6deddb7055ffabcdb4d875f8" ] }</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.39.97:8080/nem/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.39.97:8080/nem/account/NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F/history.detail?pagesize=2</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ "address": "NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F", "transactions": [ { "blockNumber": "45772", "timestamp": "1430433028", "hash": "52445713cd474f2973ba5c0672f5f0c8d2a5941a9036cb0c311eb466e5befc70", "from": "NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F", "to": "NDUET7TER2TDYEU3PEVBHB2JLIBYEWAAZFBA2VG5", "value": "256", "fee": "2" }, { "blockNumber": "45761", "timestamp": "1430432517", "hash": "bc4eede422cb7060567d543669443185642bb87433dcd1fc5857437456e7df40", "from": "NBPJFPRLOSWYLKD42LKGEM47XHIMY7JLUOLGWQT5", "to": "NBMD4IIR3W4SFSYWWSHVZV3WTKAOAZ5RF5R2QJ7F", "value": "961.54886", //单位为XEM "fee": "2" //单位也为XEM } ] }</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>7 发起交易</h2> <p><strong>简要描述:</strong> </p> <ul> <li>发起一笔交易</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>https://47.254.39.97/nem/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>转账金额,不用转换单位,转1.012个XEM就传入&quot;1.012&quot;(string)</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> 新经币的手续费是有计算公式的,具体为fee = Math.floor(Math.max(1, x / 10000)) * 0.05,x为要转的金额,这里不用传入fee,后台会根据amount自动计算</p> <p><strong>调用示例</strong></p> <pre><code>curl --cacert ROOT.crt -H "Content-Type:application/json" -X POST –data \ '{"privateKey": "c062a03ab040baf419480003c2c76f1257d308f4bd3a155d48c97cca5c58a3f2", \ "to": "NDEYHB5KLBW3NFYBA4V2CQZIDZVJQJFI4IDYQ5RK", "amount":"1.01","uuid":"abc"}' https://47.254.39.97/nem/transaction </code></pre> <p><strong>返回示例</strong></p> <pre><code> { "transactionHash": "972b58d8331ad4bca2d6fd565ce1754bd4c35be40d29940c1b3cc5d4270be803" }</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> <h2>8 发送已签名交易</h2> <p><strong>简要描述:</strong> </p> <ul> <li>发送一笔已经用私钥签名了的交易</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.39.97:8080/nem/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 ,新经币这里必须是JSON对象</td> </tr> </tbody> </table> <p><strong>调用示例</strong> <code>curl http://47.254.39.97:8080/nem/transaction/sendsigned/789abcd</code></p> <p><strong>返回示例</strong></p> <pre><code> { "transactionHash": "972b58d8331ad4bca2d6fd565ce1754bd4c35be40d29940c1b3cc5d4270be803" }</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> <h2>9 查看交易确认次数</h2> <p><strong>简要描述:</strong> </p> <ul> <li>查看一笔交易的确认次数</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.39.97:8080/nem/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.39.97:8080/nem/transaction/74d205d40fb51b45f714c2d6c831fc0978be04befe8b2226135163b63a5de30a/confirmation </code></pre> <p><strong>返回示例</strong></p> <pre><code> { "number": "123456" }</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.39.97:8080/nem/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.39.97:8080/nem/transaction/74d205d40fb51b45f714c2d6c831fc0978be04befe8b2226135163b63a5de30a/info</code></p> <p><strong>返回示例</strong></p> <pre><code>{ "blockNumber": "1694519", "timestamp": "1530171923", "hash": "74d205d40fb51b45f714c2d6c831fc0978be04befe8b2226135163b63a5de30a", "from": "NCKZD7JGDLNDIVVPH6U2PG2QKD3PX3FX4CPZMF2A", "to": "NBOLBHVPAR5HASD77LV6HQQ5A2264SE75KBGQBWA", "value": "0.05", "fee": "0.05" }</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;">status</td> <td style="text-align: left;">string</td> <td>交易执行状态,为“success”或者“fail”</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> 新经币的手续费是有计算公式的,具体为fee = Math.floor(Math.max(1, x / 10000)) * 0.05,x为要转的金额,发起交易不用传入fee,后台会根据amount自动计算</p> <h2>12 批量查询余额</h2> <p><strong>简要描述:</strong> </p> <ul> <li>查询多个地址的余额</li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://47.254.39.97:8080/nem/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":["NA5PJRJJ7JPQECVRN2ACWLV6RCRF32SIDGO4BJIM", "NDN7E7722XCLWITY5ZABVXRLQAQUWIMARNJZYODJ"] }</code></pre> <p><strong>返回示例</strong></p> <pre><code>[ { "address": "NA5PJRJJ7JPQECVRN2ACWLV6RCRF32SIDGO4BJIM", "balance": "0" }, { "address": "NDN7E7722XCLWITY5ZABVXRLQAQUWIMARNJZYODJ", "balance": "0" } ]</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.39.97:8080/nem/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.39.97:8080/nem/account/NA5PJRJJ7JPQECVRN2ACWLV6RCRF32SIDGO4BJIM/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