基础存证业务接口

存证代理合约

存证代理合约是合约模块的统一入口,在整个络谱区块链中只有一份,通过合约地址调用。

存证合约

存证合约是业务合约,每个存证合约代表一种存证业务。每个存证合约设置一个管理机构账户身份,由管理机构设置谁有权向存证合约中写入存证记录,即设置存证合约的黑白名单。通过存证代理合约和存证合约地址调用。

存证记录合约

存证合约中用于登记存证信息的存证记录,可以被修改,每一次修改记录都保存在区块链上。一个存证合约中有多条存证记录,通过存证合约地址和存证流水号调用。

存证业务接口

设置是否使用白名单规则

接口说明:设置该存证合约使用白名单或黑名单规则,管理该存证合约的合作方身份合约可以调用。只能选择其中一种规则,选择后仍然可以更换,更换后名单是清空的。如果选择白名单,则只有白名单中用户有写入存证权限,下列的白名单相关接口有效;选择黑名单,则只有黑名单中用户没有写入存证权限,下列的黑名单相关接口有效。如不设置,默认使用白名单规则。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_UPDATED

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String setAuthListType
signatureInBase64 String 已签名数据
params[0] String 需要设置黑白名单规则的存证合约的合约地址
params[1] Boolean 如果设置成"true",则使用白名单规则;如果设置成"false",则使用黑名单规则。默认是“true”

接口返回:

名称 类型 描述
detail String txHash

请求示例:

{
  "blockLimit": 854729,
  "method": "setAuthListType ",
  "bizId": "25119881049217",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824 ",
  "signatureInBase64": "HCeEYP3XoMrhE0v6GUpeIbnM686gpvwpHmnkKT2qSPKFVUuK6Voo5VKRyxz7Serhkc6cPBr9cIKkCAPGLfHR2kY=",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    false
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "21cc517f20dcf13c5022bbc512062e6454bc31b5ca3621a5bb9fa17b75a50a5d"
}

新增白名单用户

接口说明:把某个身份合约添加到当前存证合约的白名单内,仅当合约调用方为管理该存证合约的合作方身份合约时才可以调用。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_UPDATED

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String addUserToWhiteList
signatureInBase64 String 已签名数据
params[0] String 要增加白名单用户的存证合约的合约地址
params[1] Integer 要添加的身份合约的账户ID

接口返回:

名称 类型 描述
detail String txHash

请求示例:

{
  "blockLimit": 593186,
  "method": "addUserToWhiteList",
  "bizId": "421402112788194",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824",
  "signatureInBase64": "G5TjF1Xxhy82+jEO/y4jKeQhRIv4n0MBmp9nArM1o0QJL+NF9yWG3HFUlclqL3ZmFOJmhRmPZrw6hcVvpMFAJgk=",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    100000002
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "1d703b3e9981046483ceabdee1923657892bdedf84677f48608fc33693663803"
}

删除白名单用户

接口说明:把某个身份合约从当前存证合约的白名单内删除,仅当合约调用方为管理该存证合约的合作方身份合约时才可以调用。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_UPDATED

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String removeUserFromWhiteList
signatureInBase64 String 已签名数据
params[0] String 要删除白名单用户的存证合约的合约地址
params[1] Integer 要删除的身份合约的账户ID

接口返回:

名称 类型 描述
detail String txHash

请求示例:

{
  "blockLimit": 593461,
  "method": "removeUserFromWhiteList",
  "bizId": "422243456173312",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824",
  "signatureInBase64": "HJ7PXU2zyd+POJ1lfggRwhYY4xpkDhZgkMMjOUqP5lzE0Zyhnnj8zRvlkqgbR5DKxiwHv6NUQ6XPOAaPnrY9vvU=",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    100000003
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "736eb7c946b732af6e0b0e7b2bd540400b00d7f11d651112d8db7d28d87d87f1"
}

新增黑名单用户

接口说明:把某个身份合约添加到当前存证合约的黑名单内,仅当合约调用方为管理该存证合约的合作方身份合约时才可以调用。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_UPDATED

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String addUserToBlackList
signatureInBase64 String 已签名数据
params[0] String 要增加黑名单用户的存证合约的合约地址
params[1] Integer 要添加的身份合约的账户ID

接口返回:

名称 类型 描述
detail String txHash

请求示例:

{
  "blockLimit": 855882,
  "method": "addUserToBlackList",
  "bizId": "27911208832780",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824",
  "signatureInBase64": "G8/Hu4iSPbg+D9J07gym7cRH+e47QuUKPJuyUKSiwHHp3b6xA3yElRaZt8hg/tB1S5PxqAQtACJ6ul2BFpR8Qkw=",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    100000003
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "007fa3285a701c1116f0e5beee3fafaa308d6bb93ea4c2f24b6b53ec0d44ea79"
}

删除黑名单用户

接口说明:把某个身份合约从当前存证合约的黑名单内删除,仅当合约调用方为管理该存证合约的合作方身份合约时才可以调用。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_UPDATED

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String removeUserFromBlackList
signatureInBase64 String 已签名数据
params[0] String 要删除黑名单用户的存证合约的合约地址
params[1] Integer 要删除的身份合约的账户ID

接口返回:

名称 类型 描述
detail String txHash

请求示例:

{
  "blockLimit": 856065,
  "method": "removeUserFromBlackList",
  "bizId": "28357761467358",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824",
  "signatureInBase64": "HLipKI0NUHdppqqK2UdNMTxw4jrduY2uEAhxqpO7b2A2JnBtwdoSXk58smqVR8YISxr/xCCCPlvbFnuzLb6yVhU=",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    100000003
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "abd9c587b1f09b3ef09ab94ae4d2ec4807928367cee114aa3c136f9a504903cc"
}

检查写入存证记录权限

接口说明:检查某个身份合约是否具有往某个存证合约里写入存证记录的权限。

调用类型:只读方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/contract.json

队列事件:无

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
functionName String hasWriteRecordPermission
params[0] String 存证合约地址
params[1] Integer 要检查的身份合约的账户ID

接口返回:

名称 类型 描述
hasPermission Boolean 是否有写入存证记录权限

请求示例:

{
    "contractAddress": "f20b5a8ffbb0caa436dbbf24c6eee3b08736e910",
    "functionName": "hasWriteRecordPermission",
    "params": [
        "9dda24bf4a26334d70bf51a01fe7978295ffad41",
        100000033
    ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": {
    "hasPermission": true
}

写入存证记录

接口说明:拥有当前存证合约的写入存证记录权限的身份合约用户可以调用。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_CREATE

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String createRecord
signatureInBase64 String 已签名数据
params[0] String 写入存证记录的存证合约的合约地址
params[1] String 存证流水号,不能为空,最长48字节
params[2] String 前序存证流水号,可为空,最长48字节
params[3] String 存证信息,最长128字节。需要存证的业务数据经过计算摘要得到,推荐使用SHA-256算法
params[4] String 自定义信息,最长800字节,可选
params[5] String 交易发起方身份合约地址

接口返回:

名称 类型 描述
detail String txHash(存证号)

请求示例:

{
  "blockLimit": 594283,
  "method": "createRecord",
  "bizId": "424774206589462",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824",
  "signatureInBase64": "HCLPhmVqununpONHKw4IpjzlgNznztIZGwA9FhY+A0cg+YiC0SHPDnC9/rmXt77+bnlNnOnHf9kf88mfexQyijA= ",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    "424774206601781",
    "",
    " f2f9184ae540fb779a671dd2dce0e562d919fa28f3b66e25d68ca4fc14b0945b ",
    "{\"fileAddr\":\"[https://www.business.com/file/201700045.pdf\",\"algorithm\":\"SHA256\"}](https://www.business.com/file/201700045.pdf\",\"algorithm\":\"SHA256\"})",
    "45865da5c7013d0e5b5074fc98850ed2c8a725f1"
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "6401a41329fa13c5b0ea469847a3b211e6354c4325c1dea6e3aacc79e82e4674"
}

更新存证记录

接口说明:根据存证流水号更新存证记录。拥有当前存证合约的写入存证记录权限的身份合约账户可以调用。

调用类型:交易方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/sendTx.json

队列事件:EVENT_TX_RECORDED、EVENT_CONTRACT_UPDATE

参数列表:

名称 类型 描述
contractAddress String 存证代理合约的合约地址
bizId String 调用方维护的唯一业务请求ID
blockLimit Integer 确认上链最大块号
method String updateRecord
signatureInBase64 String 已签名数据
params[0] String 更新存证记录的存证合约的合约地址
params[1] String 更新存证记录记录的存证流水号,必须在存证合约中已存在
params[2] String 前序存证流水号,可为空,最长48字节
params[3] String 存证信息,最长128字节。需要存证的业务数据经过计算摘要得到,推荐使用SHA-256算法
params[4] String 自定义信息,最长800字节,可选
params[5] String 交易发起方身份合约地址

接口返回:

名称 类型 描述
detail String txHash(存证号)

请求示例:

{
  "blockLimit": 594321,
  "method": "updateRecord",
  "bizId": "853469752465831",
  "contractAddress": "c2d100f42e4ed3d9cea639ce3db9211cfe3f3824",
  "signatureInBase64": "HLNeyMsyt1RaNKkO/rtrDbnVIXwuLFVLE6Q5qmy87SQ6VIQpnKPd/NGJJ+EJQ3uk04id3Q6dlEeVpabVG5qQ0D8=",
  "params": [
    "61887b928c43e9d8bf324c189a60fa06359a3741",
    "424774206601781",
    "",
    " f2f9184ae540fb779a671dd2dce0e562d919fa28f3b66e25d68ca4fc14b0945b ",
    "{\"fileAddr\":\"[https://www.business.com/file/201700058.pdf\",\"algorithm\":\"SHA256\"}](https://www.business.com/file/201700058.pdf\",\"algorithm\":\"SHA256\"})",
    "45865da5c7013d0e5b5074fc98850ed2c8a725f1"
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": "5b2fd468521a14ac384db165e6c4424f795eaa8852a048c1f9b1de91feeab7ab"
}

根据存证流水号获取存证记录合约的合约地址

接口说明:根据存证流水号获取存证记录合约的合约地址。

调用类型:只读方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/contract.json

队列事件:无

参数列表:

名称 类型 描述
contractAddress String 存证合约的合约地址
functionName String getRecordAddress
params[0] String 存证流水号

接口返回:

名称 类型 描述
record String 存证记录合约的合约地址

请求示例:

{
  "functionName": "getRecordAddress",
  "contractAddress": "61887b928c43e9d8bf324c189a60fa06359a3741",
  "params": [
    "424774206601781"
  ]
}

返回示例:

{
  "code": "SUCCESS",
  "detail": {
    "record": "a4f528f949c1ed39671da722d0324d6e82657bee"
  }
}

获取存证记录合约的信息

接口说明:获取存证记录合约的信息。

调用类型:只读方法

请求方式:POST

请求地址:http://BROP_HOST:PORT/common/contract.json

队列事件:无

参数列表:

名称 类型 描述
contractAddress String 存证记录合约的合约地址
functionName String getData

接口返回:

名称 类型 描述
seqId String 存证流水号
preSeqId String 前序流水号
recordData String 存证信息
customString String 自定义字段

请求示例:

{
  "functionName": "getData",
  "contractAddress": "a4f528f949c1ed39671da722d0324d6e82657bee",
  "params": []
}

返回示例:

{
  "code": "SUCCESS",
  "detail": {
    "preSeqId": "",
    "recordData": "1234565768",
    "seqId": "424774206601781",
    "customString": "asdf"
  }
}

results matching ""

    No results matching ""