API说明 V2.0.4 正式环境地址: https://api.jingtum.com 测试环境地址: https://tapi.jingtum.com =================================== 账号类接口 ----------------------------------- 创建钱包 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/wallet/new,GET方法 例子: http://localhost/v2/wallet/new 结果如下: .. code-block:: json { "success": true, "status_code": 0, "wallet": { "secret": "ssD7KN7xnoznunG4H3TF6weF9kWb4", "address": "jN22GEKA4kha8xGktuo1K4MpMhx6RRahQS" } } 返回的结果信息: +------------------------+------------+----------+----------+ | 参数 | 类型 | 说明 | +========================+============+==========+==========+ | success | Boolean | 请求结果 | +------------------------+------------+----------+----------+ | wallet | Object | 井通钱包 | +---+--------------------+------------+---------------------+ | | secret | String |井通钱包私钥 | +---+--------------------+------------+---------------------+ | |address | String | 井通钱包地址 | +---+---+----------------+------------+---------------------+ 获得账号余额 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/balances,GET方法 接口参数: ==================== ========== =================================== 参数 类型 说明 ==================== ========== =================================== address String 井通钱包地址 ==================== ========== =================================== 可选接口参数: ==================== ========== =================================== 参数 类型 说明 ==================== ========== =================================== currency String 指定返回对应货币的余额 issuer String 指定返回对应银关发行的货币 ==================== ========== =================================== 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/balances 结果如下: .. code-block:: json { "success": true, "status_code": "0", "balances": [ { "value": "300000", "currency": "SWT", "issuer": "", "freezed": "20" }, { "value": "100", "currency": "CNY", "issuer": "jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "freezed": "0.000000" }, { "value": "100", "currency": "AAA", "issuer": "jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "freezed": "0.000000" } ], "sequence": 1 } 返回的结果信息: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | success | Boolean | 请求结果 | +------------------------+------------+----------+---------------------------+ | balances | Array | 余额数组 | +---+--------------------+------------+--------------------------------------+ | | value | String |余额 | +---+--------------------+------------+--------------------------------------+ | | currency | String |货币名称,三个字母或20字节的货币 | +---+---+----------------+------------+--------------------------------------+ | | issuer | String | 货币发行方 | +---+---+----------------+------------+--------------------------------------+ | | freezed | String | 冻结的金额 | +---+---+----------------+------------+--------------------------------------+ | sequence | Integer | 当前交易序列号(用于本地签名) | +---+---+----------------+------------+--------------------------------------+ 支付接口 ----------------------------------- 支付请求 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:source_address}/payments,POST方法 接口参数: ====================== ========== =================================== 参数 类型 说明 ====================== ========== =================================== source_address String 支付方的井通地址 ====================== ========== =================================== 提交参数详情: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | secret | String | 支付方的钱包私钥 | +------------------------+------------+----------+---------------------------+ | client_id | String | 此次请求的交易单号,交易单需要唯一 | +---+--------------------+------------+--------------------------------------+ | payment |Object |支付对象 | +---+--------------------+------------+--------------------------------------+ | | source | String |发起账号 | +---+--------------------+------------+--------------------------------------+ | | destination | String |目标账号 | +---+---+----------------+------------+--------------------------------------+ | | amount | Object | 支付金额 | +---+---+----------------+------------+--------------------------------------+ | | choice | String | 支付选择的key,可选 | +---+---+----------------+------------+--------------------------------------+ | | memos | Array | 支付的备注,String数组,可选 | +---+---+----------------+------------+--------------------------------------+ 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/payments 提交的数据: .. code-block:: json { "secret": "snxVJXMkURjrscL7gfwfWcywYzPkL", "client_id": "109", "payment": { "source": "jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM", "destination": "jD2RbZEpBG3T6iWDPyPiNBvpU8sAhRYbpZ", "amount": { "value": "1.00", "currency": "AAA", "issuer": "jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS" }, "memos": ["hello world", "hello payment"] } } 结果: .. code-block:: json { "success": true, "status_code": "0", "client_id": "1000", "hash": "36BC80F5A451921084BBD5330C6807584CDE3A9A5A24CE85408C9220D46EACB7", "result": "tesSUCCESS", "fee": 0.01" } 结果返回参数: ====================== ========== ================================================================= 参数 类型 说明 ====================== ========== ================================================================= success Boolean 请求结果 client_id String 支付交易单号 hash String 支付交易Hash result String 支付交易的服务器结果,tesSUCCESS表示成功,其他类型详见错误信息 date Integer 交易时间,UNIXTIME fee String 交易费用,井通计价 ====================== ========== ================================================================= 获得支付信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/payments/{:hash},GET方法 接口参数: ====================== ========== ================================================================= 参数 类型 说明 ====================== ========== ================================================================= address String 支付用户的井通地址 id String 支付交易的hash ====================== ========== ================================================================= 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/payments/36BC80F5A451921084BBD5330C6807584CDE3A9A5A24CE85408C9220D46EACB7 结果: .. code-block:: json { "success": true, "status_code": "0", "date": 1555997090, "hash": "36BC80F5A451921084BBD5330C6807584CDE3A9A5A24CE85408C9220D46EACB7", "type": "sent", "fee": "0.01", "result": "tesSUCCESS", "memos": [ "hello world", "hello payment" ], "counterparty": "jD2RbZEpBG3T6iWDPyPiNBvpU8sAhRYbpZ", "amount": { "currency": "AAA", "issuer": "jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "value": "1" }, "effects": [] } 返回的结果信息: ====================== ========== ================================================================= 参数 类型 说明 ====================== ========== ================================================================= success Boolean 请求结果 date Integer 支付时间,UNIXTIME时间 hash String 支付hash type String 支付类型,sent或received fee String 支付费用 result String 支付的服务器结果 memos Array 支付的备注,String数组 counterparty String 交易对家 amount Object 交易金额 effects Array 支付的效果,详见下面交易记录效果 ====================== ========== ================================================================= 获得支付历史 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/payments,GET方法 接口参数: ====================== ========== ================================================================= 参数 类型 说明 ====================== ========== ================================================================= address String 支付相关的井通地址 marker Object 交易记录标记,表示从当当前记录继续向下查找 ====================== ========== ================================================================= 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/payments 结果: .. code-block:: json { "success": true, "status_code": "0", "marker": { "ledger": 3022875, "seq": 0 }, "payments": [ { "date": 1555997600, "hash": "F4E2E07DBC9B8AC8E879AFFBF712F2DEC715D2F1B5A8BF1D646EA457178F1530", "type": "sent", "fee": "0.01", "result": "tesSUCCESS", "memos": [ "hello world", "hello payment" ], "counterparty": "jD2RbZEpBG3T6iWDPyPiNBvpU8sAhRYbpZ", "amount": { "currency": "AAA", "issuer": "jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "value": "1" }, "effects": [] } ] } 返回的结果是下一页的数据,返回的结果信息: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= success Boolean 请求结果 payments Array 支付历史,同交易记录中的信息 ====================== ============ ================================================================= 挂单类接口 ----------------------------------- 提交挂单 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/orders,POST方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address String 用户的井通地址 ====================== ============ ================================================================= 提交参数详情: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | secret | String | 用户的钱包私钥 | +------------------------+------------+----------+---------------------------+ | order | Object | 提交的挂单 | +---+--------------------+------------+--------------------------------------+ | | type | String |挂单的类型,sell或buy | +---+--------------------+------------+--------------------------------------+ | | pair | String |交易的货币对(兼容swt:issuer) | +---+---+----------------+------------+--------------------------------------+ | | amount | String | 挂单的数量 | +---+---+----------------+------------+--------------------------------------+ | | price | String | 挂单的价格 | +---+---+----------------+------------+--------------------------------------+ POST需要提交的参数格式如下: .. code-block:: json { "secret": "snxVJXMkURjrscL7gfwfWcywYzPkL", "order": { "type": "sell", "pair": "SWT/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "100.00", "price": "0.0124" } } 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/orders 结果: .. code-block:: json { "success": true, "status_code": "0", "hash": "3C2E21E02A0D7FBD6D959E79321C3B9ED79C726D6583F4F0BF135620EB0464EB", "result": "tesSUCCESS", "fee": 0.01, "sequence": 4 } 返回的结果信息: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= success Boolean 请求结果 hash String 交易hash result String 交易结果 fee String 交易费用,井通计价 sequence Integer 交易单子序号 ====================== ============ ================================================================= 取消挂单 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/orders/{:order},DELETE方法 DELETE方法请求时需设置Content-Length消息头 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address String 挂单方的井通地址 order String 订单的序号 ====================== ============ ================================================================= 提交参数详情: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= secret String 井通钱包私钥 ====================== ============ ================================================================= DELETE需要提交的参数格式如下: .. code-block:: json { "secret": "snxVJXMkURjrscL7gfwfWcywYzPkL" } 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/orders/4 结果: .. code-block:: json { "success": true, "status_code": "0", "hash": "0236884C7004A8C3BB355213E6093822F78D78D3B699F1A26403156C7875499B", "result": "tesSUCCESS", "fee": 0.01, "sequence": 5 } 返回的结果信息: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= success Boolean 请求结果 hash String 交易hash fee String 交易费用,井通计价 sequence Integer 操作订单序列号 ====================== ============ ================================================================= 获取用户挂单 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/orders,GET方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address String 挂单方的井通地址 ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost /v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/orders 结果: .. code-block:: json { "success": true, "status_code": "0", "orders": [ { "type": "sell", "pair": "SWT/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "100.000000", "price": "0.0124", "sequence": 4 } ] } 返回的结果信息: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | success | Boolean | 请求结果 | +------------------------+------------+----------+---------------------------+ | order | Object | 单子信息 | +---+--------------------+------------+--------------------------------------+ | | type | String |挂单的类型,sell或buy | +---+--------------------+------------+--------------------------------------+ | | pair | String |交易的货币对 | +---+---+----------------+------------+--------------------------------------+ | | amount | String | 挂单的数量 | +---+---+----------------+------------+--------------------------------------+ | | price | String | 挂单的价格 | +---+---+----------------+------------+--------------------------------------+ | | sequence | Integer | 交易序列号 | +---+---+----------------+------------+--------------------------------------+ 获取挂单信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/orders/{:hash},GET方法 通用接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address String 挂单方的井通地址 hash String 挂单交易哈希号 ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/orders/3C2E21E02A0D7FBD6D959E79321C3B9ED79C726D6583F4F0BF135620EB0464EB 结果: .. code-block:: json { "success": true, "status_code": "0", "hash": "3C2E21E02A0D7FBD6D959E79321C3B9ED79C726D6583F4F0BF135620EB0464EB", "fee": "0.01", "action": "sell", "order": { "account": "jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM", "pair": "SWT/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "100", "price": "0.0124", "type": "sell", "sequence": 4 } } 返回的结果信息: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | success | Boolean | 请求结果 | +------------------------+------------+----------+---------------------------+ | hash | String | 交易Hash | +---+--------------------+------------+--------------------------------------+ | fee | String | 交易费用,井通计价 | +---+--------------------+------------+--------------------------------------+ | action | String | 交易的动作类型 | +---+--------------------+------------+--------------------------------------+ | order | Object | 交易单子信息 | +---+--------------------+------------+--------------------------------------+ | | account | String |交易帐号 | +---+--------------------+------------+--------------------------------------+ | | pair | String |交易的货币对 | +---+---+----------------+------------+--------------------------------------+ | | amount | String | 挂单的数量 | +---+---+----------------+------------+--------------------------------------+ | | price | String | 挂单的价格 | +---+---+----------------+------------+--------------------------------------+ | | type | Integer | 交易类型,sell或buy | +---+---+----------------+------------+--------------------------------------+ | | sequence | Integer | 交易序列号 | +---+---+----------------+------------+--------------------------------------+ 获得货币对的挂单列表 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/order_book/{:base}/{:counter},GET方法 通用接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= base String 基准货币(currency+counterparty),兼容swt+counterparty counter String 目标货币(currency+counterparty),兼容swt+counterparty ====================== ============ ================================================================= 可选接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= results_per_page Integer 返回的每页数据量,默认每页买卖单各10项) page Integer 页码,默认从第一页开始 ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost/v2/order_book/AAA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS 结果: .. code-block:: json { "success": true, "status_code": "0", "pair": "AAA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "bids": [], "asks": [ { "price": 0.0124, "order_maker": "jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM", "sequence": 7, "passive": false, "sell": true, "funded": 10 } ] } 返回的结果信息: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | success | Boolean | 调用结果 | +------------------------+------------+----------+---------------------------+ | pair | String | 挂单货币对 | +---+--------------------+------------+--------------------------------------+ | bids/asks | Array | 买入单 | +---+--------------------+------------+--------------------------------------+ | | price | Object |该档的价格 | +---+--------------------+------------+--------------------------------------+ | | funded | Integer |实际中用户可以成交的金额 | +---+---+----------------+------------+--------------------------------------+ | | order_maker | String | 挂单用户 | +---+---+----------------+------------+--------------------------------------+ | | sequence | String | 交易序号 | +---+---+----------------+------------+--------------------------------------+ | | passive | Boolean | 交易是否是被动交易 | +---+---+----------------+------------+--------------------------------------+ 获得货币对的买单列表 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/order_book/bids/{:base}/{:counter},GET方法 通用接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= base String 基准货币(currency+counterparty),兼容swt+counterparty counter String 目标货币(currency+counterparty),兼容swt+counterparty ====================== ============ ================================================================= 可选接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= results_per_page Integer 返回的每页数据量,默认每页买卖单各10项) page Integer 页码,默认从第一页开始 ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost/v2/order_book/bids/AAA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS?results_per_page=1&page=1 结果: .. code-block:: json { "success": true, "status_code": "0", "pair": "AAA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "bids": [ { "price": 0.0125, "order_maker": "jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM", "sequence": 8, "passive": false, "sell": false, "funded": 20 } ] } 返回的结果信息: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | success | Boolean | 调用结果 | +------------------------+------------+----------+---------------------------+ | pair | String | 挂单货币对 | +---+--------------------+------------+--------------------------------------+ | bids/asks | Array | 买入单 | +---+--------------------+------------+--------------------------------------+ | | price | Object |该档的价格 | +---+--------------------+------------+--------------------------------------+ | | funded | Integer |实际中用户可以成交的金额 | +---+---+----------------+------------+--------------------------------------+ | | order_maker | String | 挂单用户 | +---+---+----------------+------------+--------------------------------------+ | | sequence | String | 交易序号 | +---+---+----------------+------------+--------------------------------------+ | | passive | Boolean | 交易是否是被动交易 | +---+---+----------------+------------+--------------------------------------+ 获得货币对的卖单列表 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/order_book/asks/{:base}/{:counter},GET方法 通用接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= base String 基准货币(currency+counterparty),兼容swt+counterparty counter String 目标货币(currency+counterparty),兼容swt+counterparty ====================== ============ ================================================================= 可选接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= results_per_page Integer 返回的每页数据量,默认每页买卖单各10项) page Integer 页码,默认从第一页开始 ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost/v2/order_book/asks/AAA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/USD?results_per_page=1&page=1 结果: .. code-block:: json { "success": true, "status_code": "0", "pair": "AAA+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY+jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "asks": [ { "price": 0.0125, "order_maker": "jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM", "sequence": 9, "passive": false, "sell": true, "funded": 30 } ] } 交易记录接口 ----------------------------------- 查询交易信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口1:/v2/accounts/{:address}/transactions/{:id},GET方法 接口2:/v2/transactions/{:id}, GET方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address String 井通钱包地址 id String 交易资源号或者交易hash ====================== ============ ================================================================= 说明: 查询交易记录可通过交易hash直接查询, 也可通过钱包地址和hash查询, 两者区别在于加钱包地址的可以判断该交易是否属于该地址。 例子: .. code-block:: json http://localhost/v2/accounts/jQNdYXxgNHY49oxDL8mrjr7J6k7tdNy1kM/transactions/3905D77CF864A9CBC70945FCFD458A6DC821DF861296C1B5F05B3BFFD6C81451 结果: .. code-block:: json { "success": true, "status_code": "0", "transaction": { "date": 1555989600, "hash": "3905D77CF864A9CBC70945FCFD458A6DC821DF861296C1B5F05B3BFFD6C81451", "type": "received", "fee": "0.00001", "result": "tesSUCCESS", "memos": [], "counterparty": "jL8L5f56zjFfmBBq19nvDTuVRfAQ7n19aJ", "amount": { "currency": "AAA", "issuer": "jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "value": "100" }, "effects": [], "ledger": 3022077 } } 返回的结果信息: +------------------------+------------+----------+---------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===========================+ | success | Boolean | 请求结果 | +------------------------+------------+----------+---------------------------+ | transaction | Object | 具体的交易信息 | +---+--------------------+------------+--------------------------------------+ | | date | Integer |交易时间,UNIXTIME | +---+--------------------+------------+--------------------------------------+ | | hash | Object |交易hash | +---+---+----------------+------------+--------------------------------------+ | | type | Object | 交易类型 | +---+---+----------------+------------+--------------------------------------+ | | fee | Object | 交易费用,井通计价 | +---+---+----------------+------------+--------------------------------------+ | | result | Object | 交易结果 | +---+---+----------------+------------+--------------------------------------+ | | counterparty | Object | 交易对家 | +---+---+----------------+------------+--------------------------------------+ | | amount | Object | 交易金额 | +---+---+----------------+------------+--------------------------------------+ | | effects | Object | 交易效果,详见下面分析 | +---+---+----------------+------------+--------------------------------------+ 查询交易记录 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/transactions,GET方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address String 支付相关的井通地址 ====================== ============ ================================================================= 可选接口参数: +------------------------+------------+----------+-----------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+=============================+ |results_per_page | Integer | 返回的每页数据量,默认每页10项 | +------------------------+------------+----------+-----------------------------+ | marker | Object |交易记录标记,表示从当前记录继续向下查找| +---+--------------------+------------+----------------------------------------+ | | ledger | Integer |账本号 | +---+--------------------+------------+----------------------------------------+ | | seq |Integer |上一次查询返回的最后一条交易号 | +---+---+----------------+------------+----------------------------------------+ 例子: .. code-block:: json http://localhost/v2/accounts/jHZ5pAKGcpCdvU8N177eePYtMY4ZtC85o6/transactions?results_per_page=1&page=2&marker={ledger:3023160,seq:0} 结果: .. code-block:: json { "success": true, "status_code": "0", "marker": { "ledger": 3023110, "seq": 0 }, "transactions": [ { "date": 1556000430, "hash": "5C6917554D44A4B9C76A3576E3A97DBD5154B8E239FA6F90582615F0533737C5", "type": "offernew", "fee": "0.01", "result": "tesSUCCESS", "memos": [], "offertype": "buy", "seq": 8, "effects": [ { "effect": "offer_cancelled", "hash": "0139A5C6E82ECFF4F23C2523DE05D950AD7199C9A2C57A7CB84276961347D1BA", "type": "sell", "seq": 7, "price": "0.0124", "deleted": true, "pair": "AAA:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "10" }, { "effect": "offer_created", "type": "buy", "seq": 8, "price": "0.0125", "pair": "AAA:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "20" } ], "pair": "AAA:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS/CNY:jBciDE8Q3uJjf111VeiUNM775AMKHEbBLS", "amount": "20", "price": "0.0125" } ] } 返回的结果信息: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |success | Boolean | 调用结果 | +------------------------+------------+----------+-----------------------------------+ | marker | Object | 交易记录标记 | +---+--------------------+------------+----------------------------------------------+ | transactions |Array | 具体的交易信息数组 | +---+--------------------+------------+----------------------------------------------+ | | date | Integer |交易时间,UNIXTIME | +---+--------------------+------------+----------------------------------------------+ | | hash |String |交易hash | +---+---+----------------+------------+----------------------------------------------+ | | type |String |交易类型 | +---+---+----------------+------------+----------------------------------------------+ | | fee |String |交易费用,井通计价 | +---+---+----------------+------------+----------------------------------------------+ | |result |String |交易结果 | +---+---+----------------+------------+----------------------------------------------+ | | memos |String |交易备注 | +---+---+----------------+------------+----------------------------------------------+ | | counterparty |String |交易对家,支付交易才有 | +---+---+----------------+------------+----------------------------------------------+ | | amount |String |交易金额/挂单数量,支付交易或者挂单交易才有 | +---+---+----------------+------------+----------------------------------------------+ | | offertype |String |挂单类型,sell或者buy,挂单交易才有 | +---+---+----------------+------------+----------------------------------------------+ | | pair |String |交易的货币对,挂单交易才有 | +---+---+----------------+------------+----------------------------------------------+ | | price |String |挂单的价格,挂单交易才有 | +---+---+----------------+------------+----------------------------------------------+ | | effects |Object |交易效果,详见如下 | +---+---+----------------+------------+----------------------------------------------+ 交易记录信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 用户提交的交易类型主要有Payment、OfferCreate、OfferCancel和RelationSet; 交易信息存储在系统中,查询交易信息时,系统解析交易信息,将交易信息解析为主要有如下信息: date 交易时间UNIXTIME hash 交易hash fee 交易费用 result 交易结果 client_resource_id 交易资源号 memos 交易的备注信息 type 交易类型 type有如下几种: 1. sent,用户进行支付操作,在交易信息中包含的信息有: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |counterparty | String | 支付对家,即接收方 | +------------------------+------------+----------+-----------------------------------+ | amount | Object | 交易记录标记 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +---+--------------------+------------+----------------------------------------------+ | effects |Array |[],空 | +---+---+----------------+------------+----------------------------------------------+ 2. received,用户接受支付,在交易信息中包含的信息有: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |counterparty | String | 支付对家,即接收方 | +------------------------+------------+----------+-----------------------------------+ | amount | Object | 交易记录标记 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +---+--------------------+------------+----------------------------------------------+ | effects |Array |[],空 | +---+---+----------------+------------+----------------------------------------------+ 3. convert,用户进行兑换操作,在交易信息中包含的信息有: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ | spent | Object | 兑换支付的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | amount | Object | 交易记录标记 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | effects |Array |[],空 | +---+---+----------------+------------+----------------------------------------------+ 4. offernew,用户进行挂单操作,在交易信息中包含的信息有: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= offertype String 挂单类型,sell或buy pair String 交易的货币对 amount String 挂单的数量 price String 挂单的价格 effects Array 详见下面的effects解释 ====================== ============ ================================================================= 5. offercancel,用户进行取消挂单操作,在交易信息中包含的信息有: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= type String 挂单的类型,sell或buy pair String 交易的货币对 amount String 挂单的数量 price String 挂单的价格 effects Array 详见下面的effects解释 ====================== ============ ================================================================= 6. offereffect,挂单成交情况,即被动成交的情况,在交易信息中包含的信息有: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= effects Array 详见下面的effects解释 ====================== ============ ================================================================= 交易效果effects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ effects是每个用户交易记录信息里面的交易效果,是个JSON数组,数字可以包含多项,每项内容都包含效果类型effect字段,根据effect的不同里面的内容也不同 : 1. offer_funded,交易实际成交;交易提示信息建议:交易成交,您以XXX价格买了/卖了XXX卖了/买了XXX,价格是XXX;其中包含的信息有: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |effect |String | offer_funded | +------------------------+------------+----------+-----------------------------------+ | type | String | 交易类型,sell或buy | +---+--------------------+------------+----------------------------------------------+ | pair |String | 交易的货币对 | +---+--------------------+------------+----------------------------------------------+ | amount |String | 挂单的数量 | +---+--------------------+------------+----------------------------------------------+ | got |Object | 用户获得的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | paid | Object |用户付出的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | price |String |价格,4位小数 | +---+---+----------------+------------+----------------------------------------------+ | seq |Integer |挂单序号,表示被成交的单子 | +---+---+----------------+------------+----------------------------------------------+ | counterparty |Object |对家信息 | +---+---+----------------+------------+----------------------------------------------+ | |account |String |对家账号 | +---+---+----------------+------------+----------------------------------------------+ | | seq |Integer |对家单子序号 | +---+---+----------------+------------+----------------------------------------------+ | | hash |String |对家交易hash | +---+---+----------------+------------+----------------------------------------------+ 2. offer_partially_funded,交易部分成交;交易提示信息建议:交易部分成交,您以XXX价格买了/卖了XXX卖了/买了XXX,价格是XXX,剩余挂单由于金额不足被取消(可选,根据cancelled),还剩XXX单子(可选,根据remaining);其中包含的信息有: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |effect |String | offer_partially_funded | +------------------------+------------+----------+-----------------------------------+ | type | String | 交易类型,sold或bought | +---+--------------------+------------+----------------------------------------------+ | got |Object | 用户获得的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | paid | Object |用户付出的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | price |String |价格,4位小数 | +---+---+----------------+------------+----------------------------------------------+ | seq |Integer |挂单序号,表示被成交的单子 | +---+---+----------------+------------+----------------------------------------------+ | cancelled |Boolean |剩余的单子是否被取消了,可选 | +---+---+----------------+------------+----------------------------------------------+ | remaining |Boolean |是否有剩余的单子,可选 | +---+---+----------------+------------+----------------------------------------------+ | pair |String | 交易的货币对,remaining为true才有 | +---+--------------------+------------+----------------------------------------------+ | amount |String | 挂单的数量,remaining为true才有 | +---+--------------------+------------+----------------------------------------------+ | price |String |挂单的价格,remaining为true才有 | +---+---+----------------+------------+----------------------------------------------+ | counterparty |Object |对家信息 | +---+---+----------------+------------+----------------------------------------------+ | |account |String |对家账号 | +---+---+----------------+------------+----------------------------------------------+ | | seq |Integer |对家单子序号 | +---+---+----------------+------------+----------------------------------------------+ | | hash |String |对家交易hash | +---+---+----------------+------------+----------------------------------------------+ 3. offer_cancelled,被关联交易取消单子,交易单子被取消;交易提示信息建议:由于缺少金额单子XXX被取消;其中包含的信息有: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= effect String offer_cancelled type String 交易类型,sell或buy pair String 交易的货币对 amount String 挂单的数量 price String 挂单的价格 seq Integer 被取消单子的序号 hash String 被取消单子的hash deleted Boolean 单子是否被删除,取消单子为true ====================== ============ ================================================================= 4. offer_created,交易单子创建;交易提示信息建议:您创建了一个买/卖单,以XXX交易XXX;其中包含的信息有: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= effect String offer_created type String 交易类型,sell或buy pair String 交易的货币对 amount String 挂单的数量 price String 挂单的价格 seq Integer 新建的单子序号 ====================== ============ ================================================================= 5. offer_bought,挂单买到/卖出,成交的单子信息;交易提示信息建议:您以XXX价格买了/卖了XXX卖了/买了XXX;其中包含的信息有: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |effect |String | offer_bought | +------------------------+------------+----------+-----------------------------------+ | type | String | 交易类型,sell或buy | +---+--------------------+------------+----------------------------------------------+ | got |Object | 用户获得的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | paid | Object |用户付出的金额 | +---+--------------------+------------+----------------------------------------------+ | | value | String |金额 | +---+--------------------+------------+----------------------------------------------+ | | currency |String |货币 | +---+---+----------------+------------+----------------------------------------------+ | | issuer | String |货币发行方,SWT为空 | +------------------------+------------+----------+-----------------------------------+ | price |String |价格,4位小数 | +---+---+----------------+------------+----------------------------------------------+ | pair |String | 交易的货币对 | +---+--------------------+------------+----------------------------------------------+ | amount |String | 挂单的数量 | +---+--------------------+------------+----------------------------------------------+ | counterparty |Object |对家信息 | +---+---+----------------+------------+----------------------------------------------+ | |account |String |对家账号 | +---+---+----------------+------------+----------------------------------------------+ | | seq |Integer |对家单子序号 | +---+---+----------------+------------+----------------------------------------------+ | | hash |String |对家交易hash | +---+---+----------------+------------+----------------------------------------------+ 智能合约 ----------------------------------- 部署合约 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/contract/deploy,POST方法 智能合约测试地址:http://tapi1.jingtum.com/v2 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address string 井通钱包地址 ====================== ============ ================================================================= 提交参数详情: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= secret String 用户的钱包私钥 amount Integer 支付金额 payload String 智能合约代码 ====================== ============ ================================================================= POST需要提交的参数格式如下: .. code-block:: json { "secret": "snUaJxp2k4WFt5LCCtEx2zjThQhpT", "amount": 10, "payload": "result={}; function Init(t) result=scGetAccountInfo(t) return result end; function foo(t) a={} result=scGetAccountInfo(t) return result end" } 例子: .. code-block:: json http://tapi1.jingtum.com/v2/accounts/jf96oSdxU7kwfCHF2sjm9GmcvhFBcfN8Py/contract/deploy 结果: .. code-block:: json { "success": true, "status_code": "0", "ContractState": "jHDqbmoyhFw2MnuNeX2fhjwVECAdgTiAjB", "engine_result": "tesSUCCESS", "engine_result_code": 0, "engine_result_message": "The transaction was applied. Only final in a validated ledger.", "tx_blob": "12001E22000000002400000001202400000000614000000000989680684000000000002710732102013E3FDABB9FCC24B4C207AA808C863CC06A5E89F030F9AE0C3ECA505BC22B3A74473045022100A90AF352FA44272A9D735AA7ABD3C19894FE85F3FD24331D7C6511C51424A37702206C3DDC0567074FF8207F576B9475F4945D6F46C54EA50231B9CF1D8A381332F87F92726573756C743D7B7D3B202066756E6374696F6E20496E69742874292020726573756C743D73634765744163636F756E74496E666F287429202072657475726E20726573756C742020656E643B202066756E6374696F6E20666F6F28742920613D7B7D20726573756C743D73634765744163636F756E74496E666F287429202072657475726E20726573756C742020656E64811443762420DF114F9D4C9C82BC8906EB9667FA2F4AFAEB7012226A73715273394244436A795475525745505A6B33794861344D466D52693944383334E1F1", "tx_json": { "Account": "jf96oSdxU7kwfCHF2sjm9GmcvhFBcfN8Py", "Amount": "10000000", "Args": [ { "Arg": { "Parameter": "6A73715273394244436A795475525745505A6B33794861344D466D52693944383334" } } ], "Fee": "10000", "Flags": 0, "Method": 0, "Payload": "726573756C743D7B7D3B202066756E6374696F6E20496E69742874292020726573756C743D73634765744163636F756E74496E666F287429202072657475726E20726573756C742020656E643B202066756E6374696F6E20666F6F28742920613D7B7D20726573756C743D73634765744163636F756E74496E666F287429202072657475726E20726573756C742020656E64", "Sequence": 1, "SigningPubKey": "02013E3FDABB9FCC24B4C207AA808C863CC06A5E89F030F9AE0C3ECA505BC22B3A", "TransactionType": "ConfigContract", "TxnSignature": "3045022100A90AF352FA44272A9D735AA7ABD3C19894FE85F3FD24331D7C6511C51424A37702206C3DDC0567074FF8207F576B9475F4945D6F46C54EA50231B9CF1D8A381332F8", "hash": "ED18B99B5073835F4057F2B1998E4DF3EAB9150797059738300DCD091DDA67F7" } } 返回的结果信息: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |success |Boolean | 请求结果 | +------------------------+------------+----------+-----------------------------------+ | ContractState | String | 生成的合约地址 | +---+--------------------+------------+----------------------------------------------+ | engine_result |Object | 合约结果 | +---+--------------------+------------+----------------------------------------------+ | engine_result_code | String |合约结果码 | +---+--------------------+------------+----------------------------------------------+ | engine_result_message |String |合约结果说明 | +---+---+----------------+------------+----------------------------------------------+ | tx_blob | String |请求合约的blob | +------------------------+------------+----------+-----------------------------------+ | tx_json | Object |请求信息 | +---+--------------------+------------+----------------------------------------------+ | | Account | String |请求的井通地址 | +---+--------------------+------------+----------------------------------------------+ | | Amount |String |支付金额 | +---+---+----------------+------------+----------------------------------------------+ | | Fee | String |交易费用,井通计价 | +------------------------+------------+----------+-----------------------------------+ | |Flags |String |交易标识 | +---+---+----------------+------------+----------------------------------------------+ | |Method |String | 交易方法:0表示部署,1表示调用 | +---+--------------------+------------+----------------------------------------------+ | |Payload |String | 16进制智能合约代码 | +---+--------------------+------------+----------------------------------------------+ | |Sequence |String |单子号 | +---+---+----------------+------------+----------------------------------------------+ | |SigningPubKey |String |签名公钥 | +---+---+----------------+------------+----------------------------------------------+ | |Timestamp |Integer |交易时间,UNIXTIME | +---+---+----------------+------------+----------------------------------------------+ | | TransactionType |String |交易类型 | +---+---+----------------+------------+----------------------------------------------+ | |TxnSignature |String |交易签名 | +---+---+----------------+------------+----------------------------------------------+ | | hash |String |交易hash | +---+---+----------------+------------+----------------------------------------------+ 调用合约 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/accounts/{:address}/contract/call,POST方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= address string 井通钱包地址 ====================== ============ ================================================================= 提交参数详情: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= secret String 用户的钱包私钥 destination String 合约所在地址 params Array 合约参数 ====================== ============ ================================================================= POST需要提交的参数格式如下: .. code-block:: json { "secret": "snUaJxp2k4WFt5LCCtEx2zjThQhpT", "destination": "jHDqbmoyhFw2MnuNeX2fhjwVECAdgTiAjB", "params": ["jsqRs9BDCjyTuRWEPZk3yHa4MFmRi9D834"] } 例子: .. code-block:: json http://localhost/v2/accounts/jf96oSdxU7kwfCHF2sjm9GmcvhFBcfN8Py/contract/call 结果: .. code-block:: json { "success": true, "status_code": "0", "ContractState": "{ "Account" : "jsqRs9BDCjyTuRWEPZk3yHa4MFmRi9D834", "Balance" : "3000000000000", "Flags" : 0, "LedgerEntryType" : "AccountRoot", "OwnerCount" : 0, "PreviousTxnID" : "38BC4FCE15251FE6653C66A7396FA515D6E848A0E9730BE61C0F65E6A18A9D0C", "PreviousTxnLgrSeq" : 2159165, "Sequence" : 1, "index" : "70792A2F04C2C5AA1DFDD126DDEF1A7B3550A62C0AA28984662D87B02A4883A8" }", "engine_result": "tesSUCCESS", "engine_result_code": 0, "engine_result_message": "The transaction was applied. Only final in a validated ledger.", "tx_blob": "12001E22000000002400000002202400000001684000000000002710732102013E3FDABB9FCC24B4C207AA808C863CC06A5E89F030F9AE0C3ECA505BC22B3A74473045022100DF68F03F5D6C2C013FDDC70D78B83AF8ECF5A92C11B62008C7B2E81FCF0415E202203C12C57E42C5CB70CE3A213E957269CA4967F0C0AD955FF827C223FC68E53273701103666F6F811443762420DF114F9D4C9C82BC8906EB9667FA2F4A8314B1EF92AB29F58C569EEF413EEE6AA01C5497365FFAEB7012226A73715273394244436A795475525745505A6B33794861344D466D52693944383334E1F1", "tx_json": { "Account": "jf96oSdxU7kwfCHF2sjm9GmcvhFBcfN8Py", "Args": [ { "Arg": { "Parameter": "6A73715273394244436A795475525745505A6B33794861344D466D52693944383334" } } ], "ContractMethod": "666F6F", "Destination": "jHDqbmoyhFw2MnuNeX2fhjwVECAdgTiAjB", "Fee": "10000", "Flags": 0, "Method": 1, "Sequence": 2, "SigningPubKey": "02013E3FDABB9FCC24B4C207AA808C863CC06A5E89F030F9AE0C3ECA505BC22B3A", "TransactionType": "ConfigContract", "TxnSignature": "3045022100DF68F03F5D6C2C013FDDC70D78B83AF8ECF5A92C11B62008C7B2E81FCF0415E202203C12C57E42C5CB70CE3A213E957269CA4967F0C0AD955FF827C223FC68E53273", "hash": "AE0784B8E5A50D541887CF6BCD7DF591452D2B93B1A473D0E0E02A5B51E95927" } } 返回的结果信息: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |success |Boolean | 请求结果 | +------------------------+------------+----------+-----------------------------------+ | ContractState | Object | 调用方信息 | +---+--------------------+------------+----------------------------------------------+ | engine_result |String | 合约结果 | +---+--------------------+------------+----------------------------------------------+ | engine_result_code | String |合约结果码 | +---+--------------------+------------+----------------------------------------------+ | engine_result_message |String |合约结果说明 | +---+---+----------------+------------+----------------------------------------------+ | tx_blob | String |请求合约的blob | +------------------------+------------+----------+-----------------------------------+ | tx_json | Object |请求信息 | +---+--------------------+------------+----------------------------------------------+ | | Account | String |请求的井通地址 | +---+--------------------+------------+----------------------------------------------+ | | Args |Array |合约传入的参数 | +---+---+----------------+------------+----------------------------------------------+ | | ContractMethod | String |合约方法 | +------------------------+------------+----------+-----------------------------------+ | |Destination |String |调用的合约地址 | +---+---+----------------+------------+----------------------------------------------+ | | Fee | String |交易费用,井通计价 | +------------------------+------------+----------+-----------------------------------+ | |Flags |String |交易标识 | +---+---+----------------+------------+----------------------------------------------+ | |Method |String | 交易方法:0表示部署,1表示调用 | +---+--------------------+------------+----------------------------------------------+ | |Sequence |String |单子号 | +---+---+----------------+------------+----------------------------------------------+ | |SigningPubKey |String |签名公钥 | +---+---+----------------+------------+----------------------------------------------+ | |Timestamp |Integer |交易时间,UNIXTIME | +---+---+----------------+------------+----------------------------------------------+ | | TransactionType |String |交易类型 | +---+---+----------------+------------+----------------------------------------------+ | |TxnSignature |String |交易签名 | +---+---+----------------+------------+----------------------------------------------+ | | hash |String |交易hash | +---+---+----------------+------------+----------------------------------------------+ 账本 ----------------------------------- 获得最新账本号 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/ledger/index, GET方法 接口参数:无 例子: .. code-block:: json http://localhost/v2/ledger/index 结果: .. code-block:: json { "success": true, "status_code": "0", "ledger_hash": "B6EC1E9526DBEB2C746DE76366FBF82F9890BA6813B5AEDAD7A27A0B18226B45", "ledger_index": 9590468 } 返回的结果信息: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= success Boolean 请求结果 ledger_hash String 账本hash ledger_index Integer 账本号/区块高度 ====================== ============ ================================================================= 通过账本号获得某一账本信息及交易信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/ledger/index/{:index}, GET方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= index string 账本号/区块高度 ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost/v2/ledger/index/9590468 结果: .. code-block:: json { "success": true, "status_code": "0", "accepted": true, "accout_hash": "DA4D9D7626DAACA4E42C7155E75D3873F492D3DB47B0359F42E336D710C1878B", "close_time": 579062540, "close_time_human": "2018-May-08 02:42:20", "close_time_resolution": 10, "closed": true, "hash": "B6EC1E9526DBEB2C746DE76366FBF82F9890BA6813B5AEDAD7A27A0B18226B45", "ledger_hash": "B6EC1E9526DBEB2C746DE76366FBF82F9890BA6813B5AEDAD7A27A0B18226B45", "ledger_index": "9590468", "parent_hash": "042F30BB6FC77424D5A49B12E3F60C2309F350C9B95622E76FFF307B916BACE8", "seqNum": "9590468", "totalCoins": "599999999999460713", "total_coins": "599999999999460713", "transaction_hash": "55B92B8C95B1C4AF8F46A65084F70A049565B3926E6E95410ED53000BE6DEBAB", "transactions": [ "432709B5DAA873132819DED7F71B6AF3E89E05AE35268DC7AE13BAB1CF685FCC" ] } 返回的结果信息: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= success Boolean 请求结果 accepted Boolean 区块是否已经产生 account_hash String 状态hash树根 close_time Integer 关闭时间 close_time_human String 关闭时间 close_time_resolution Integer 关闭周期 closed Boolean 账本是否已经关闭 hash String 账本hash ledger_hash String 账本hash ledger_index String 账本高度/区块高度 parent_hash String 上一区块hash值 seqNum String 账本高度/区块高度 totalCoins String swt总量 total_coins String swt总量 transaction_hash String 交易hash树根 transactions Array 该账本里的交易列表 ====================== ============ ================================================================= 通过账本hash获得某一账本信息及交易信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/ledger/hash/{:hash}, GET方法 接口参数: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= hash string 账本hash ====================== ============ ================================================================= 例子: .. code-block:: json http://localhost/v2/ledger/hash/C08847C320D4F9E136BFCBC58D1F39C630C0F5421A06C739AF30BAF05F94714F 结果: .. code-block:: json { "success": true, "status_code": "0", "accepted": true, "account_hash": "DA4D9D7626DAACA4E42C7155E75D3873F492D3DB47B0359F42E336D710C1878B", "close_time": 579062540, "close_time_human": "2018-May-08 02:42:20", "close_time_resolution": 10, "closed": true, "hash": "B6EC1E9526DBEB2C746DE76366FBF82F9890BA6813B5AEDAD7A27A0B18226B45", "ledger_hash": "B6EC1E9526DBEB2C746DE76366FBF82F9890BA6813B5AEDAD7A27A0B18226B45", "ledger_index": "9590468", "parent_hash": "9590468", "parent_hash": "042F30BB6FC77424D5A49B12E3F60C2309F350C9B95622E76FFF307B916BACE8", "seqNum": "9590468", "totalCoins": "599999999999460713", "total_coins": "599999999999460713", "transaction_hash": "55B92B8C95B1C4AF8F46A65084F70A049565B3926E6E95410ED53000BE6DEBAB", "transactions": [ "432709B5DAA873132819DED7F71B6AF3E89E05AE35268DC7AE13BAB1CF685FCC" ] } 返回的结果信息: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= success Boolean 请求结果 accepted Boolean 区块是否已经产生 account_hash String 状态hash树根 close_time Integer 关闭时间 close_time_human String 关闭时间 close_time_resolution Integer 关闭周期 closed Boolean 账本是否已经关闭 hash String 账本hash ledger_hash String 账本hash ledger_index String 账本高度/区块高度 parent_hash String 上一区块hash值 seqNum String 账本高度/区块高度 totalCoins String swt总量 total_coins String swt总量 transaction_hash String 交易hash树根 transactions Array 该账本里的交易列表 ====================== ============ ================================================================= 本地签名 ----------------------------------- 提交本地签名 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接口:/v2/blob,POST方法 提交参数详情: ====================== ============ ================================================================= 参数 类型 说明 ====================== ============ ================================================================= blob String 签名后的交易信息 ====================== ============ ================================================================= POST需要提交的参数格式如下: .. code-block:: json { "blob": "1200002200000000240000028461400000000007A12068400000000000000A73210224445F6980BBC7F34F5042893C419E536468F92A9034177C0CB786CC7836025B74473045022100FC7EA9B7200CA4D3F2C4948E86140F14D5C1FA1CE68682288B51928A7C7256ED02204D3993571B4EEA50A64A3CDB2A38D61EA28F46C3563CF64B48A211E44456738D81147A44B90BCADB1F585D590DC31AB83245E049BB668314B9DFBBDC029B81C608497CE3D61C70D79BCCA955" } 例子: .. code-block:: json http://localhost/v2/blob 结果: .. code-block:: json { "success": true, "status_code": "0", "engine_result": "tesSUCCESS", "engine_result_code": 0, "eengine_result_message": "The transaction was applied. Only final in a validated ledger.", "tx_blob": "1200002200000000240000028461400000000007A12068400000000000000A73210224445F6980BBC7F34F5042893C419E536468F92A9034177C0CB786CC7836025B74473045022100FC7EA9B7200CA4D3F2C4948E86140F14D5C1FA1CE68682288B51928A7C7256ED02204D3993571B4EEA50A64A3CDB2A38D61EA28F46C3563CF64B48A211E44456738D81147A44B90BCADB1F585D590DC31AB83245E049BB668314B9DFBBDC029B81C608497CE3D61C70D79BCCA955", "tx_json": { "Account": "jU9VmMHKk1jakMKpjGhWYibnmz5sDw3ZNt", "Amount": "500000", "Destination": "jHAFp8CrBM48QJyqB8V7NWH9XBsHRQcUu8", "Fee": "10", "Flags": 0, "Sequence": 644, "SigningPubKey": "02FE64E0C20F0058F22F3742EDC15F49F318C04F88B130742C68BAF3B1C89FD167", "TransactionType": "Payment", "TxnSignature": "3045022100948A033830881A3BCF90EBCF79CAD2000149CA347BF3C19997083DD247FBB45D02203977E0AB7B59F3982719F2A38C6363649620CF4F441C8FA7E4FC3CDFAEFA879C", "hash": "E663D510536DCE4DEE48B1C6F958B102386E462F80CAA77720921341AFD0A3DC" } } 返回的结果信息: +------------------------+------------+----------+-----------------------------------+ | 参数 | 类型 | 说明 | +========================+============+==========+===================================+ |success |Boolean | 请求结果 | +------------------------+------------+----------+-----------------------------------+ | engine_result |Object | 交易结果 | +---+--------------------+------------+----------------------------------------------+ | engine_result_code | String |交易结果码 | +---+--------------------+------------+----------------------------------------------+ | engine_result_message |String |交易结果说明 | +---+---+----------------+------------+----------------------------------------------+ | tx_blob | String |请求交易的blob | +------------------------+------------+----------+-----------------------------------+ | tx_json | Object |请求信息 | +---+--------------------+------------+----------------------------------------------+ | | Account | String |请求的井通地址 | +---+--------------------+------------+----------------------------------------------+ | | Amount |String |支付金额*1000000 | +---+---+----------------+------------+----------------------------------------------+ | | Fee | String |交易费用,井通计价*1000000 | +------------------------+------------+----------+-----------------------------------+ | |Flags |String |交易标识 | +---+---+----------------+------------+----------------------------------------------+ | |Sequence |String |单子号 | +---+---+----------------+------------+----------------------------------------------+ | |SigningPubKey |String |签名公钥 | +---+---+----------------+------------+----------------------------------------------+ | | TransactionType |String |交易类型 | +---+---+----------------+------------+----------------------------------------------+ | |TxnSignature |String |交易签名 | +---+---+----------------+------------+----------------------------------------------+ | | hash |String |交易hash | +---+---+----------------+------------+----------------------------------------------+ 订阅功能 ----------------------------------- 为了减少前端软件的复杂度,井通标准接口(REST API)提供井通地址的websocket长连接服务。前端软件可以通过websocket连接向标准接口订阅和井通地址相关的交易信息。任何和该地址相关的交易信息将会通过相应的websocket连接传出。 REST API订阅后台是API一个服务地址,测试环境的接口是wss://tapi.jingtum.com:5443/v2 连接服务 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 连接Websocket服务之后,后台返回订阅ID,如下: .. code-block:: json { "type": "connection", "success": true, "id": "03afb5a3-0bdb-4a6b-bc6a-4ff72cce05bc" } 发起订阅 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 客户端在连接上服务之后,通过发送订阅请求进行订阅,订阅请求如下: .. code-block:: json { "command": "subscribe", "type": "account", "account": "jDUjqoDZLhzx4DCf6pvSivjkjgtRESY62c" } 订阅请求中,必须将订阅用户的地址和类型一起提交上来,参数type表示所订阅的类型,包含3种:account(订阅某个账号的交易记录)、transactions(订阅所有交易记录)、ledger(订阅账本消息)。 订阅成功之后,返回: .. code-block:: json { "account": "jDUjqoDZLhzx4DCf6pvSivjkjgtRESY62c", "success": true, "command": "subscribe", "type": "account", } 当请求的JSON格式不对时,失败返回 .. code-block:: json { "success": false, "error": "xxx" } 当请求的参数有问题时,返回: .. code-block:: json { "account": "jDUjqoDZLhzx4DCf6pvSivjkjgtRESY62c", "success": false, "all": true, "command": "subscribe", "type": "account", "error": "XXX" } error包括缺少account,type,account格式不对,type格式不对等,分别是: 1.missing account 2.account is not valid jingtum address 3.invalid type 取消订阅 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 客户端在连接上服务之后,通过发送取消订阅请求进行取消订阅,取消订阅请求如下: .. code-block:: json { "command": "unsubscribe", "account": "jDUjqoDZLhzx4DCf6pvSivjkjgtRESY62c", "type": "account", } 取消订阅成功时候,返回: .. code-block:: json { "command": "unsubscribe", "account": "jDUjqoDZLhzx4DCf6pvSivjkjgtRESY62c", "success": true, "type": "account" } 当请求的JSON格式有问题时,返回: .. code-block:: json { "success": false, "error": "xxx" } 当请求的参数不正确时,返回: .. code-block:: json { "account": "jDUjqoDZLhzx4DCf6pvSivjkjgtRESYdfad62c", "success": false, "command": "unsubscribe", "type": "account", "error": "XXX" } 取消订阅,参数不正确主要是account缺失或者格式不正确: a)account is missing b)Invalid type c)等 接收消息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 用户在做完异步操作之后,且订阅了用户的交易消息,用户可以收到如下的交易信息: .. code-block:: json { "account": "jsGn5UAxwTuYfN5aa6TBC2KZyDDoFJfM8b", "type": "Payment", "success": true, "transaction": { "date": 1449484040, "hash": "599424E57016194C987F3F8A5F9723251C1458E7F33C4D88BC7624088238313F", "type": "sent", "fee": "0.000012", "result": "tesSUCCESS", "counterparty": "jfEPgtxzezSPievdVNpdyEJndkQki2xEZ6", "amount": { "value": "0.1", "currency": "CNY", "issuer": "j3nH2JYBPupQwHLz5UDSD2i7i4nnSsVWb5" }, "effects": [ ] } } 基本格式为account: 帐号,type: 交易类型,transaction: 交易信息,交易类型和交易信息里面的内容和API里面的信息一致。 在用户被动成交时,用户也会收到交易相关的信息。 当交易失败时,会有如下的格式的消息: .. code-block:: json { "account": "jsGn5UAxwTuYfN5aa6TBC2KZyDDoFJfM8b", "type": "Payment", "success": false, "transaction": { "result": "tecNO_DST_INSUF_SWT", "message": "xxx" } } 通过success可以判断返回的交易结果是成功的还是失败的,其他的失败记录均即时反馈回给用户,无需在订阅中获得。 关闭订阅 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 通过发送如下命令,关闭订阅 .. code-block:: json { "command": "close" } 关闭订阅之后,后台返回订阅关闭结果 .. code-block:: json { "command": "close", "success": true } 错误信息 ----------------------------------- 客户端错误 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ClientError,此错误主要是客户端请求参数错误,包括井通地址格式不对,私钥格式不对,货币格式不对等以及根据每个接口提交的参数格式不对等导致的错误; 网络错误 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NetworkError,此错误主要是网络错误,包括链接井通网络没有连上,请求服务超时等; 交易错误 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TransactionError,此错误主要是重复资源号的错误,即DuplicateTransactionError; 服务端错误 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ServerError,此错误主要是后台程序错误,包括代码BUG、代码实现问题等; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ============ =========================================================================================== 编码 说明 ============ =========================================================================================== 0 success 1000 client error 1001 Invalid parameter: address 1002 Invalid parameter: secret 1003 Invalid parameter: currency 1004 Invalid parameter: issuer 1005 Invalid parameter: order 1006 Invalid parameter: order.type 1007 Invalid parameter: order.price 1008 Invalid parameter: order.sequence 1009 Invalid parameter: hash 1010 not an order transaction 1011 Transaction specified did not affect the given account 1012 Invalid parameter: base 1013 Invalid parameter: counter 1014 Invalid parameter: destination_address 1015 Invalid parameter: amount 1016 Invalid parameter: payment 1017 Invalid parameter: payment.source 1018 Invalid parameter: payment.destination 1019 Invalid parameter: payment.amount 1020 Invalid parameter: memos,it must be an array 1021 Invalid parameter: choice,it must be a string 1022 Invalid parameter: client_id,must be a number 1023 Invalid parameter: client_id, already exits 1024 Invalid parameter: choice, not exist 1025 Not a payment transaction 1026 Invalid parameter:results_per_page 1027 Invalid parameter:page 1028 Invalid parameter:results_per_page, it mast be a number and not less than 10 1029 Invalid parameter: order.pair 1030 Invalid parameter: order.amount 1031 Missing parameters 1032 Invalid parameter: method, it must be 0 or 1 1033 Invalid parameter: payload, it must be string 1034 Invalid parameter: amount,it must be a number greater than zero 1035 Invalid parameter: params,it must be an array 2000 Server error 3000 Transaction error 3001 Could not generate wallet 4000 Network error 4001 Remote is disconnected 4002 Time out 4003 Bad gateway ============ ===========================================================================================