京东区块链浏览器API文档参考 V_1.3

1 API调用说明

该文档内的所有api的调用成功和失败均按照以下规则

1.1 成功

{
  "data": ...,
  "success": true
}

说明

- success 值为 true 表明api调用成功
- data 为返回的数据,具体数据类型参考具体的api说明

1.2 失败

{
  "error": {
    "errorCode": 5000,
    "errorMessage": "未预期的异常! --Unsupported access ledger[6Gw3cK4uazegy4HjoaM81ck9NgYLNoKyBMb7a1TK1jt3d] !"
  },
  "success": false
}

说明

- success 值为 false 表明api调用成功
- errorCode 为异常代码
- errorMessage 为错误提示

2 账本

2.1 获取账本总数

GET /ledgers/count

参数

请求实例

http://localhost/ledgers/count

返回实例

{
  "data": 2,
  "success": true
}

说明

名称 说明
data 账本总数

2.2 获取账本列表

GET /ledgers?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
query start_index 查询账本的起始序号,默认为0 数字
query count 查询返回账本的数量限制,默认最大限制为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers?fromIndex=0&count=-1

返回实例

{
  "data": [
    {
      "value": "657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs"
    }
  ],
  "success": true
}

说明

名称 说明
data 账本哈希列表
value 账户哈希

2.3 获取账本详细信息

GET /ledgers/{ledger}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs

返回实例

{
  "data": {
    "hash": {
      "value": "657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs"
    },
    "latestBlockHash": {
      "value": "67XsKWgqZTBz1NsytKGpyNWHMbMRENWcBj8PEDYQnWiDL"
    },
    "latestBlockHeight": 66
  },
  "success": true
}

说明

名称 说明
data 账本信息
hash.value 账本哈希
latestBlockHash.value 最新区块哈希
latestBlockHeight 账本高度

2.4 获取账本成员总数

GET /ledgers/{ledger}/participants/count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/participants/count

返回实例

{
  "data": 4,
  "success": true
}

说明

名称 说明
data 账本成员总数

2.5 获取账本成员列表

GET /ledgers/{ledger}/participants?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
query start_index 查询成员起始序号,默认为0 数字
query count 查询成员返回数量,默认最大返回100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/participants?fromIndex=0&count=-1

返回实例

{
  "data": [
    {
      "address": "5SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522",
      "name": "jd.com",
      "id": 0,
      "pubKey": {
        "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
      }
    },
    {
      "address": "5SmA98VknTbZ1Z7fmbNPHBuN2pbD89ogy8Ha",
      "name": "at.com",
      "id": 1,
      "pubKey": {
        "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
      }
    },
    {
      "address": "5SmMWsqV2kbgrRMjyQFtSq1wvYuPzeRVepHG",
      "name": "bt.com",
      "id": 2,
      "pubKey": {
        "value": "mb4AtiGAH7vtPufMDuap2oca2Ww9X6KTkp59Eh5nZjXA5H"
      }
    },
    {
      "address": "5Sm5QFyvN1dVB4GHFxWhDCp8vsJbNkdx31Ds",
      "name": "xt.com",
      "id": 3,
      "pubKey": {
        "value": "mb7pGhmmjqYUhxrJJ57C1YxXr9h1AWXv8QVosETyuLhVvH"
      }
    }
  ],
  "success": true
}

说明

名称 说明
id 成员唯一标识
name 成员名称
address 成员地址
pubKey.value 成员公钥

3 区块

3.1 获取最新区块

GET /ledgers/{ledger}/blocks/latest

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/latest

返回实例

{
  "data": {
    "ledgerHash": {
      "value": "657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs"
    },
    "previousHash": {
      "value": "6EJZnMc9464DCSU2kgi96RyngEv8YeEfVoJNhH3yZ2v5T"
    },
    "transactionSetHash": {
      "value": "6LmZtDpMM7xE8FPChACEmLj1PLhfaoVM2rEHRsrV3ohPN"
    },
    "userAccountSetHash": {
      "value": "67jx7SctrwdSczxxuYjwBocA8fER7V8qcRZUzWamSav5p"
    },
    "contractAccountSetHash": {
      "value": "67ftaBhPDez24NEB9wiiTM3SNcn1XFz5rb7boYhpbbLXN"
    },
    "adminAccountHash": {
      "value": "69KEFp9m5iFyAiyGmJ2qPcVxuT79gMChMf9JkStBZe8aa"
    },
    "dataAccountSetHash": {
      "value": "6LB9gosVWEPG3uvWXkxTcWq22mcwMHVehbiXkavFtr5fZ"
    },
    "hash": {
      "value": "67XsKWgqZTBz1NsytKGpyNWHMbMRENWcBj8PEDYQnWiDL"
    },
    "height": 66
  },
  "success": true
}

说明

名称 说明
hash 区块哈希
ledgerHash 账本哈希
previousHash 前置区块哈希
transactionSetHash 交易集哈希
userAccountSetHash 用户集哈希
contractAccountSetHash 合约集哈希
adminAccountHash 管理员集哈希
dataAccountSetHash 数据账户集哈希

3.2 根据区块哈希获取区块详细信息

GET /ledgers/{ledger}/blocks/hash/{block_hash}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path block_hash 区块哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/hash/67XsKWgqZTBz1NsytKGpyNWHMbMRENWcBj8PEDYQnWiDL

返回实例

参考

3.3 根据区块高度获取区块详细信息

GET /ledgers/{ledger}/blocks/height/{block_height}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path block_height 区块高度 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/height/66

返回实例

参考

3.4 根据哈希查询区块总数

  GET /ledgers/{ledger}/blocks/count/search?keyword={keyword}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
query keyword 区块哈希的全部或者一部分 string

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/count/search?keyword=6D5M

返回实例

{
  "data": 26,
  "success": true
}

说明

名称 说明
data 查询到的区块总数

3.5 根据哈希查询区块

  GET /ledgers/{ledger}/blocks/search?keyword={keyword}&fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
query keyword 区块哈希的全部或者一部分 string
query start_index 查询区块结果起始序号,默认为0 string
query count 查询区块结果返回数量,默认最大值为100,小于0或大于100均返回最大可返回结果集 string

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/search?keyword=6D5M&fromIndex=0&count=-1

返回实例

{
  "data": {
    "blocks": [
      {
        "hash": "6D5MJZnybT69bXET5QdCZdLGT16rZBJEjxLkANmDuykcb"
      }
    ]
  },
  "success": true
}

说明

名称 说明
blocks 查询到的区块列表
hash 区块哈希值
height 区块高度
txCount 区块内交易数量

4 交易

4.1 获取账本交易总数

GET /ledgers/{ledger}/txs/count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/txs/count
返回实例
{
  "data": 688,
  "success": true
}

说明

名称 说明
data 交易数量

4.2 根据区块高度查询区块内的交易数量

GET /ledgers/{ledger}/blocks/height/{block_height}/txs/additional-count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path block_height 区块高度 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/height/66/txs/additional-count
 
http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/hash/6D5MJZnybT69bXET5QdCZdLGT16rZBJEjxLkANmDuykcb/txs/additional-count

返回实例

{
  "data": 86,
  "success": true
}

说明

名称 说明
data 交易数量

4.3 根据区块哈希查询区块内的交易数量

GET /ledgers/{ledger}/blocks/hash/{block_hash}/txs/additional-count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path block_hash 区块哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/hash/6D5MJZnybT69bXET5QdCZdLGT16rZBJEjxLkANmDuykcb/txs/additional-count

返回实例

{
  "data": 86,
  "success": true
}

说明

名称 说明
data 交易数量

4.4 获取指定高度的区块交易列表

GET /ledgers/{ledger}/blocks/height/{height}/txs?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path height 区块高度 数字
query start_index 查询交易的起始序号,默认为0 数字
query count 查询返回交易的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/height/66/txs?fromIndex=0&count=-1

返回实例

{
  "data": [
    {
      "blockHeight": 1,
      "executionState": "SUCCESS",
      "transactionContent": {
        "ledgerHash": {
          "value": "657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs"
        },
        "operations": [
          {
            "userID": {
              "address": {
                "value": "5SmBgzsrnY6u9Y7DgSSkXfTkCgp83hiFin3v"
              },
              "pubKey": {
                "value": "mb5kukaqjWtXyAerfHU1JDtVwabSeBU5c3khMZbNh7R8VJ"
              }
            }
          },
          {
            "accountID": {
              "address": {
                "value": "5SmA98VknTbZ1Z7fmbNPHBuN2pbD89ogy8Ha"
              },
              "pubKey": {
                "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
              }
            }
          },
          {
            "contractID": {
              "address": {
                "value": "5SmA98VknTbZ1Z7fmbNPHBuN2pbD89ogy8Ha"
              },
              "pubKey": {
                "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
              }
            },
            "chainCode": "----------"
          },
          {
            "contractAddress": {
              "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
            },
            "event": "----------",
            "args": "----------"
          },
          {
            "writeSet": [{
              "key": "jdchain",
              "value": {
                "type": "TEXT",
                "value": {
                  "value": "----------"
                }
              },
              "expectedVersion": 0
            }],
            "accountAddress": {
              "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
            }
          }
        ],
        "hash": {
          "value": "6BLtM1agb7ERKoN5AJgZKiTjzdS7BpjgzQNYK8ZeDqotA"
        }
      },
      "endpointSignatures": [
        {
          "digest": {
            "value": "42pbfM5YKnf39Gitr4UsjTCzhhnJjwNyi8MnLFYgP4VKewTLzHitzArHEMrCt3hZYUe5ex9XvqtmiCoWpeAbdc31F"
          },
          "pubKey": {
            "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
          }
        }
      ],
      "nodeSignatures": [
        {
          "digest": {
            "value": "66SQ95SbDaApAJhN2NsFx5sfAQTxsWhMW26D5iPqXc1jZU9rJEhRnqT1nzt62ZAcCvsfrjEsay3MxqXYA5tWPoA2U"
          },
          "pubKey": {
            "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
          }
        }
      ]
    }
  ],
  "success": true
}

说明

名称 说明
executionState 交易执行结果
transactionContent.hash 交易的哈希
transactionContent.operations 交易的操作列表
endpointSignatures 终端签名列表
nodeSignatures 节点的签名列表

4.5 获取指定哈希的区块的交易列表

GET /ledgers/{ledger}/blocks/hash/{block_hash}/txs?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path block_hash 区块哈希 字符串
query start_index 查询交易的起始序号,默认为0 数字
query count 查询返回交易的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/blocks/hash/6D5MJZnybT69bXET5QdCZdLGT16rZBJEjxLkANmDuykcb/txs?fromIndex=0&count=-1

返回实例

参考

4.6 获取交易详细信息

GET /ledgers/{ledger}/txs/hash/{tx_hash}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path tx_hash 交易哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/txs/hash/6BLtM1agb7ERKoN5AJgZKiTjzdS7BpjgzQNYK8ZeDqotA

返回实例

{
  "data": {
    "blockHeight": 1,
    "executionState": "SUCCESS",
    "transactionContent": {
      "ledgerHash": {
        "value": "657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs"
      },
      "operations": [
        {
          "userID": {
            "address": {
              "value": "5SmBgzsrnY6u9Y7DgSSkXfTkCgp83hiFin3v"
            },
            "pubKey": {
              "value": "mb5kukaqjWtXyAerfHU1JDtVwabSeBU5c3khMZbNh7R8VJ"
            }
          }
        },
        {
          "accountID": {
            "address": {
              "value": "5SmA98VknTbZ1Z7fmbNPHBuN2pbD89ogy8Ha"
            },
            "pubKey": {
              "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
            }
          }
        },
        {
          "contractID": {
            "address": {
              "value": "5SmA98VknTbZ1Z7fmbNPHBuN2pbD89ogy8Ha"
            },
            "pubKey": {
              "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
            }
          },
          "chainCode": "----------"
        },
        {
          "contractAddress": {
            "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
          },
          "event": "----------",
          "args": "----------"
        },
        {
          "writeSet": [{
            "key": "jdchain",
            "value": {
              "type": "TEXT",
              "value": {
                "value": "----------"
              }
            },
            "expectedVersion": 0
          }],
          "accountAddress": {
            "value": "mbC8hzmYBz2SsLLqwoBXAJiGeHrCnByBEvcaUZWscAiPqR"
          }
        }
      ],
      "hash": {
        "value": "6BLtM1agb7ERKoN5AJgZKiTjzdS7BpjgzQNYK8ZeDqotA"
      }
    },
    "endpointSignatures": [
      {
        "digest": {
          "value": "42pbfM5YKnf39Gitr4UsjTCzhhnJjwNyi8MnLFYgP4VKewTLzHitzArHEMrCt3hZYUe5ex9XvqtmiCoWpeAbdc31F"
        },
        "pubKey": {
          "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
        }
      }
    ],
    "nodeSignatures": [
      {
        "digest": {
          "value": "66SQ95SbDaApAJhN2NsFx5sfAQTxsWhMW26D5iPqXc1jZU9rJEhRnqT1nzt62ZAcCvsfrjEsay3MxqXYA5tWPoA2U"
        },
        "pubKey": {
          "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
        }
      }
    ]
  },
  "success": true
}

说明

参考

4.7 根据哈希查询交易总数

  GET /ledgers/{ledgers}/txs/count/search?keyword={keyword}

参数

请求类型 名称 是否必需 说明 数据类型
path ledgers 所要搜索的账本范围,需要完整的账本哈希 string
query keyword 交易哈希,签名者公钥,或者节点公钥的全部或者部分的 string

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/txs/search?keyword=6BLt

返回实例

{
  "data": 36,
  "success": true
}

说明

名称 说明
data 指定交易数量

4.8 根据哈希查询交易

  GET /ledgers/{ledgers}/txs/search?keyword={keyword}&fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledgers 所要搜索的账本范围,需要完整的账本哈希 string
query keyword 交易哈希,签名者公钥,或者节点公钥的全部或者部分的 string
query start_index 查询交易的起始序号,默认为0 数字
query count 查询返回交易的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/txs/search?keyword=6BLt

返回

{
  "data": {
    "txs": [
      {
        "hash": "6L3ehswCmC1jqBfvGJP9vaPx8qxkLsieu2aRgYepmkiw3"
      }
    ]
  },
  "success": true
}

5 用户

5.1 获取用户总数

GET /ledgers/{ledger}/users/count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/users/count

返回实例

{
  "data": 4,
  "success": true
}

说明

名称 说明
data 用户总数

5.2 获取用户列表

GET /ledgers/{ledger}/users?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
query start_index 查询用户的起始序号,默认为0 数字
query count 查询返回用户的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/users?fromIndex=0&count=-1

返回实例

{
  "data":[{
    "address": {
      "value": "5SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522"
    },
    "pubKey": {
      "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
    },
    "rootHash": {
      "value": "5SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522"
    }
  }],
  "success": true
}

说明

名称 说明
address.value 用户地址
pubKey.value 用户公钥

5.3 获取用户详细信息

GET /ledgers/{ledger}/users/address/{address}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path address 用户地址 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/users/address/55SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522

返回实例

{
  "data": {
    "address": {
      "value": "5SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522"
    },
    "pubKey": {
      "value": "mb5kbwzACnhK9P1dVxgMPB2ySJLFyJKQbHpH7T9oRK3LpS"
    },
    "rootHash": {
      "value": "5SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522"
    }
  },
  "success": true
}

说明

名称 说明
address.value 用户地址
pubKey.value 用户公钥
rootHash.value 用户根Hash

5.4 用户查询数量

  GET /ledgers/{ledger}/users/count/search?keyword={keyword}

说明

用户有公钥和地址两个属性,可以通过公钥或者地址查找特定用户数量,也可以返回全部用户的数量

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
query keyword 用户的公钥或者地址的全部或者部分 string
query start_index 查询用户的起始序号,默认为0 数字
query count 查询返回用户的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/users/count/search?keyword=5Sm

返回实例

{
  "data": 4,
  "success": true
}

说明

名称 说明
data 用户数量

5.5 用户查询

  GET /ledgers/{ledger}/users/search?keyword={keyword}&fromIndex={start_index}&count={count}

说明

用户有公钥和地址两个属性,可以通过公钥或者地址查找特定用户,也可以返回全部用户的列表

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
query keyword 用户的公钥或者地址的全部或者部分 string
query start_index 查询用户的起始序号,默认为0 数字
query count 查询返回用户的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/users/search?keyword=5Sm&fromIndex=0&count=-1

返回实例

{
  "data": {
    "users": [
      {
        "address": {
          "value": "5SmAGKgmXyj5VsVvJgHbYCJ67iTizwSkNpw1"
        },
        "pubKey": {
          "value": "mb97eG4bba2EjrgjXYiD9chAstjg4HaNuV5xgCtSHc5TeB"
        },
        "rootHash": {
          "value": "5SmFzgFtHtpbJwMCsmWTwjNGTk6SeMKU1522"
        }
      }
    ]
  },
  "success": true
}

说明

名称 说明
address.value 用户地址
pubKey.value 用户公钥
rootHash.value 用户根Hash

6 数据账户

6.1 获取账户列表

GET /ledgers/{ledger}/accounts?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
query start_index 查询数据账户的起始序号,默认为0 数字
query count 查询返回数据账户的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts?fromIndex=0&count=-1

返回实例

{
  "data":[{
    "address": {
      "value": "5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa"
    },
    "rootHash": {
      "value": "6GiAH2PBRLnoE724ia83bKVijkKsNuNU5danA4AAi5qMM"
    },
    "pubKey": {
      "value": "mavweXqvKGUAJzSxE9S15pV7c7qe9bgUn5R1HwpqmXVTUs"
    }
  }],
  "success": true
}

说明

名称 说明
address.value 账户地址
pubKey.value 账户公钥
rootHash.value 默克尔树根哈希

6.2 获取账户详细信息

GET /ledgers/{ledger}/accounts/address/{address}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path address 账户地址 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/address/5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa

返回实例

{
  "data": {
    "address": {
      "value": "5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa"
    },
    "rootHash": {
      "value": "6GiAH2PBRLnoE724ia83bKVijkKsNuNU5danA4AAi5qMM"
    },
    "pubKey": {
      "value": "mavweXqvKGUAJzSxE9S15pV7c7qe9bgUn5R1HwpqmXVTUs"
    }
  },
  "success": true
}

说明

名称 说明
address.value 账户地址
pubKey.value 账户公钥
rootHash.value 默克尔树根哈希

6.3 获取账户总数

GET /ledgers/{ledger}/accounts/count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/count

返回实例

{
  "data": 18,
  "success": true
}

说明

名称 说明
data 账户数量

6.4 查询数据账户匹配的数量

GET /ledgers/{ledger}/accounts/count/search?keyword={keyword}

说明

通过账户的公钥和地址的全部或者部分查询特定账户的总数量,也可以通过KV值的Key来查询含有该Key的账户的总数量

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 字符串
query keyword 数据账户的公钥或者地址的全部或者部分,或者是KV值的key 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/count/search?keyword=jd

返回实例

{
  "data": 2,
  "success": true
}

说明

名称 说明
data 账户数量

6.5 查询数据账户

  GET /ledgers/{ledger}/accounts/search?keyword={keyword}&fromIndex={start_index}&count={count}

说明

通过账户的公钥和地址的全部或者部分查询特定账户,也可以通过KV值的Key来查询含有该Key的账户

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
query keyword 数据账户的公钥或者地址的全部或者部分,或者是KV值的key string
query start_index 查询数据账户的起始序号,默认为0 数字
query count 查询返回数据账户的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/search?keyword=5Sm5V&fromIndex=0&count=-1

返回实例

{
  "data": {
    "accounts": [
      {
        "address": {
          "value": "5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa"
        },
        "rootHash": {
          "value": "6GiAH2PBRLnoE724ia83bKVijkKsNuNU5danA4AAi5qMM"
        },
        "pubKey": {
          "value": "mavweXqvKGUAJzSxE9S15pV7c7qe9bgUn5R1HwpqmXVTUs"
        }
      }
    ]
  },
  "success": true
}

说明

名称 说明
address.value 账户地址
pubKey.value 账户公钥
rootHash.value 数据账户根Hash

6.6 获取某数据账户KV总数

  GET /ledgers/{ledger}/accounts/address/{address}/entries/count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path address 账户地址 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/address/5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa/entries/count

返回实例

{
  "data": 66,
  "success": true
}

说明

名称 说明
data KV总数

6.7 获取某数据账户KV详情

  GET/POST /ledgers/{ledger}/accounts/address/{address}/entries?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path address 账户地址 字符串
form keys key详细内容列表 字符串
query start_index 查询数据账户对应KV的起始序号,默认为0 数字
query count 查询返回数据账户对应KV的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

keys说明: 1)keys使用表单方式提交,且keys为需要查询Key的列表,列表中每个Key都需要为完整Key 2)Key提交方式使用GET或POST均可

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/address/5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa/entries

说明:表单提交参数为keys={"jd", "jdchain"}

返回实例

{
  "data": [
  {
    "key": "jd",
    "version": 0,
    "type": "TEXT",
    "value": "www.jd.com"
  },
  {
    "key": "jdchain",
    "version": 0,
    "type": "TEXT",
    "value": "www.blockchain.com"
  }],
  "success": true
}

说明

名称 说明
key
version 版本号
type value类型
value

6.8 查询某数据账户键数量

  GET /ledgers/{ledger}/accounts/address/{address}/keys/count/search?keyword={keyword}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
path address 所要搜索的数据账户地址,需要完整的数据账户地址 string
query keyword 键的部分字符,空表示全部 string

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/address/5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa/keys/count/search?keyword=j

返回实例

{
  "data": 66,
  "success": true
}

说明

名称 说明
data 条件查询键总数

6.9 查询某数据账户键

  GET /ledgers/{ledger}/accounts/address/{address}/keys/search?keyword={keyword}&fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
path address 所要搜索的数据账户地址,需要完整的数据账户地址 string
query keyword 键的部分字符,空表示全部 string
query start_index 查询数据账户对应Key的起始序号,默认为0 数字
query count 查询返回数据账户对应Key的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/accounts/address/5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa/keys/search?keyword=j&fromIndex=0&count=-1

返回实例

{
  "data": [
  {
    "key": "jd"
  },
  {
    "key": "jdchain"
  }],
  "success": true
}

说明

名称 说明
key

7 搜索

7.1 搜索区块链

  GET /ledgers/{ledger}/all/search?keyword={keyword}&fromIndex={start_index}&count={count}

说明

通过关键字搜索区块数据,支持区块哈希,交易哈希,用户公钥和地址,合约公钥和地址,数据账户哈希和地址的搜索

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本,需要完整的账本哈希 string
query keyword 关键字 string
query start_index 查询匹配结果的起始序号,默认为0 数字
query count 查询匹配结果的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/all/search?keyword=5Sm5V&fromIndex=0&count=-1

返回实例

{
  "message": "OK",
  "code": 0,
  "data": {
    "blocks": ...,
    "txs": ...,
    "users": ...,
    "accounts": ...,
    "contracts": ...,
  },
  "success": true
}

说明

名称 说明
blocks 参考
txs 参考
users 参考
accounts 参考
contracts 参考

8 合约

8.1 获取合约列表

GET /ledgers/{ledger}/contracts?fromIndex={start_index}&count={count}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
query start_index 查询合约的起始序号,默认为0 数字
query count 查询返回合约的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/contracts?fromIndex=0&count=-1

返回实例

{
  "data": [{
    "address": {
      "value": "5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa"
    },
    "rootHash": {
      "value": "6GiAH2PBRLnoE724ia83bKVijkKsNuNU5danA4AAi5qMM"
    },
    "pubKey": {
      "value": "mavweXqvKGUAJzSxE9S15pV7c7qe9bgUn5R1HwpqmXVTUs"
    }
  }],
  "success": true
}

说明

名称 说明
address.value 账户地址
pubKey.value 账户公钥
rootHash.value 默克尔树根哈希

8.2 获取合约详细信息

GET /ledgers/{ledger}/contracts/address/{address}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串
path address 合约地址 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/contracts/address/5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa

返回实例

{
  "data": {
    "address": {
      "value": "5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa"
    },
    "rootHash": {
      "value": "6GiAH2PBRLnoE724ia83bKVijkKsNuNU5danA4AAi5qMM"
    },
    "pubKey": {
      "value": "mavweXqvKGUAJzSxE9S15pV7c7qe9bgUn5R1HwpqmXVTUs"
    }
  },
  "success": true
}

说明

名称 说明
address.value 账户地址
pubKey.value 账户公钥
rootHash.value 默克尔树根哈希

8.3 获取合约总数

GET /ledgers/{ledger}/contracts/count

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 账本哈希 字符串

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/contracts/count

返回实例

{
  "data": 27,
  "success": true
}

说明

名称 说明
data 合约数量

8.4 查询指定合约数量

GET /ledgers/{ledger}/contracts/count/search?keyword={keyword}

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本范围,需要完整的账本哈希 string
query keyword 合约的公钥或者地址的全部或者一部分 string

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/contracts/count/search?keyword=5Sm2

返回实例

{
  "data": 2,
  "success": true
}

说明

名称 说明
data 合约数量

8.5 合约查询

  GET /ledgers/{ledger}/contracts/search?keyword={keyword}&fromIndex={start_index}&count={count}

说明

合约有公钥和地址两个属性,可以通过合约的这两个属性查询特定合约,也可以返回一个当前所有合约的列表

参数

请求类型 名称 是否必需 说明 数据类型
path ledger 所要搜索的账本范围,需要完整的账本哈希 string
query keyword 合约的公钥或者地址的全部或者一部分 string
query start_index 查询合约的起始序号,默认为0 数字
query count 查询返回合约的数量,默认最大返回值为100,小于0或大于100均返回最大可返回结果集 数字

请求实例

http://localhost/ledgers/657TQAw6ssVoeKniWGwbovk7njvCTvikPambM9eBv6ezs/contracts/earch?keyword=5Sm2&fromIndex=0&count=-1

返回

{
  "data": {
    "contracts": [
      {
        "address": {
          "value": "5Sm4gWXrNpDWW9Boi4xZCzZMHboRvEDm29Fa"
        },
        "rootHash": {
          "value": "6GiAH2PBRLnoE724ia83bKVijkKsNuNU5danA4AAi5qMM"
        },
        "pubKey": {
          "value": "mavweXqvKGUAJzSxE9S15pV7c7qe9bgUn5R1HwpqmXVTUs"
        }
      }
    ]
  },
  "success": true
}

说明

名称 说明
address.value 合约地址
pubKey.value 合约公钥
rootHash 合约根Hash