4 底层链锚定

通过该接口由骨干链或子链底层数据锚定至主链,确保数据不可篡改。

4.1 链基础信息同步

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 子链AC号
name String(128) 链名称
chainType String 链架构类型,10000:星火·链网、10001:Fabric、10002:Ethereum 10003:BubiChain、10004:Quorum,10005:Xuperchain,10006:cita , 10007:FISCO
time Long 链申请时间/建设时间 (Unix时间戳 毫秒)
backBoneNodeBid String(64) 申请子链的骨干节点BID,bid不带ACSN
industryType String(1) 所属行业类型值,见行业类型10
trafficWarning Long 节点网络流量告警值,单位字节
trafficOverload Long 节点网络流量过载值,单位字节
consensus String(128) 区块链共识机制, 如 POW 或 DPOS 或 DPOS + PBFT (自定义填写)
genesisBid String(128) 创世账户地址
genesisInitValue String(30) 创世账户初始化TOKEN数
baseReserve String(30) 账户最小TOKEN保留数
gasPrice String(30) 最小TOKEN单价
firstReward String(30) 首次出块奖励数
introduce String 区块链介绍
version String(16) 区块链版本号
ledgerDB String(128) 支持的账本数据库类型名称(全小写,英文逗号间隔)
topTps Integer 理论tps峰值
organization String(256) 链的运营机构名称
explorerUrl String(256) 区块链浏览器地址,如:https://explorer.bif.cn
defaultDbType String(20) 链上默认账本数据库类型,(规则:全小写,英文逗号间隔,比如leveldb)
location Object 链的运营机构地理位置
location.latitude String(16) 地理位置纬度
location.longitude String(16) 地理位置经度
location.province String(32) 省、直辖市、自治区,比如:陕西省
location.city String(32) 城市,比如:西安市
location.district String(32) 区、市、县,比如:雁塔区

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/info/syn
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTk0NDQ4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.MxWdV-mwCScUq8QwmTXTaxKli8jvXq1sNVvAYQWWsSo",
   "params": {
    "ACSN": "acc1",
    "name": "营口行业链",
    "chainType" : "10000",
    "time" : 1593338217000,
    "backBoneNodeBid" : "did:bid:hHTsFXTTqQfVH1oThGEKf6iwCK2c31Bes",
    "industryType" : "A",
    "trafficWarning" : 4096,
    "trafficOverload" : 8192,
    "consensus" : "DPOS+PBFT",
    "genesisBid": "did:bid:hHTsFXTTqQfVH1oThGEKf6iwCK2c31Bes",
    "genesisInitValue": 100000000,
    "baseReserve": 10000000,
    "gasPrice": 1000,
    "firstReward": 100000000,
    "introduce": "",
    "version": "1",
    "ledgerDB": "rocksdb,tidb,mysql",
    "topTps": 1000,
    "organization": "信通院",
    "explorerUrl": "https://explore.bif.com",
    "defaultDbType": "",
    "location": {
        "latitude": "29.5",
        "longitude": "113.4",
        "province": "辽宁省",
        "city": "营口市",
        "district": "渝中区"
    }
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": 0,
    "message": "成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.2 链个性化信息同步

接口说明:

用于骨干链、异构链数据上报到主链(要求有变动时将数据同步上来)

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 子链AC号
chainType String(10) 链架构类型,10000:星火·链网、10001:Fabric、10002:Ethereum、 10003:BubiChain、10004:Quorum,10005:Xuperchain,10006:cita , 10007:FISCO
dataType Integer 提交的数据类型,用于区分异构链同步数据,具体使用请按照示例进行
dataList List 数据数组 (最大100)
dataList.key String(64) 数据唯一值,用于更新value
dataList.value Object 数据对象,具体使用请按照示例进行

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

1) Xuperchain链同步数据

1.1)同步总览数据

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc5",
        "chainType": "10005", // Xuperchain
        "dataType": 1, // 同步总览数据
        "dataList": [{
            "key": "aaa1",
            "value": {
                "chainType": "xuperchain",
                "chainCnt": 1,
                "nodeCnt": 1,
                "contractCnt": 10,
                "blockHeight": 1,
                "createdTime": 1593338217000,
                "consensus": ""
            }
        }]
    }
}

1.2)同步权限管理数据

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10005",
        "dataType": 2,
        "dataList": [{
            "key": "",
            "value": {
                "maxBlockSize": "", // 块大小最大值
                "reward": "", // 出块奖励
                "declineRate": "", // 奖励衰退率
                "blockGap": "", // 出块时间间隔
                "turnGap": "", // 提案节点轮换间隔
                "voteCost": "", // 投票单元成本
                "gas": "", // GAS成本
                "initNodeAddr": "", // 初始提案节点地址
            }
        }]
    }
}

1.3)同步平行链列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10005",
        "dataType": 3,
        "dataList": [{
            "key": "",
            "value": {
                "chainID": 123, // chainID
                "chainName": "", // 平行链名称
                "owner": 1, // 创建者
                "fee": 2, // 创建花费utxo
                "hasGrp": 2, // 是否有群组
                "statue": 0, // 平行链状态
                "blockHeight": 1, // 区块高度
                "lastModifyTime": date, // 最新修改时间
                "createdTime": data, // 创建时间
            }
        }]
    }
}

1.4)同步平行链群组节点白名单列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10005",
        "dataType": 4,
        "dataList": [{
            "key": "",
            "value": {
                "nodeId": "", // node id
                "nodeName": "", // 节点名
                "host": "", // 域名
                "port": 4004, // 端口
            }
        }]
    }
}

1.5)同步合约账号列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10005",
        "dataType": 5,
        "dataList": [{
            "key": "",
            "value": {
                "id": "", // account id
                "accountName": "", // 账号名
                "privType": "", // 合约权限类型 签名阈值、AKSet签名
                "akCnt": "", // AK数量
                "deployContractCnt": "", // 部署合约量
                "InvokeContractCnt": "", // 调用合约量
                "createdTime": date, // 创建时间
                "akSet": "", // 基础AK集
            }
        }]
    }
}

1.6)同步背书权重列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10005",
        "dataType": 6,
        "dataList": [{
            "key": "",
            "value": {
                "address": "", // 地址
                "weight": 0.1, // 权重
            }
        }]
    }
}

1.7)同步集合列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10005",
        "dataType": 6,
        "dataList": [{
            "key": "",
            "value": {
                "AKSetName": "", // AKSet名称
        		"addresses": "adress1,adress2", // 地址列表
            }
        }]
    }
}

2) Cita链同步数据

2.1)同步总览数据

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10006",
        "dataType": 1,
        "dataList": [{
          "key":"",
          "value":{
            "chainType": "CITA", // 区块链类型
                "accountCnt": 1, //账号数量
                "nodeCnt": 1, //节点数量
                "contractCnt": 1, //合约数量
                "blockHeight": 1, // 区块高度
                "createdTime": 1593338217000, //"2020-06-28 17:56:57",子链建设时间
                "consensus": "" // 共识机制
            }
        }]
    }
}

2.2)同步详细配置

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10006",
        "dataType": 2,
        "dataList": [{
            "key": "",
            "value": {
                "host": "www.cita.chain", //域名
                "isAward": false, // 出块激励选择开关(关)
                "isInvokeContractCheck": false, // 合约调用权限检查开关(关)
                "isTxCheck": false, // 发送交易权限检查开关(关)
                "isCreateContactCheck": false, // 创建合约权限检查开关(关)
                "token": "", // 通证
                "consensusList": [{
                    "consensus": "ip:port"
                }]
            }
        }]
    }
}

2.3)同步高阶服务

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10006",
        "dataType": 3,
        "dataList": [{
            "key": "",
            "value": {
                "supportSM": 0, // 国密支持   返回0即不支持该服务,返回1即支持该服务
                "supportMigrate": 0, //数据迁移   节点容量超过X%时启动,返回0即不支持该服务,返回1-100即支持该服务,且节点容量超过该百分比时启动数据迁移
                "supportSGX": 0, //SGX安全防护   返回0即不支持该服务,返回1即支持该服务
                "supportOracle": 0 // 预言机    返回0即不支持该服务,返回1即支持该服务
            }
        }]
    }
}

2.4)同步账号统计:

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10006",
        "dataType": 4,
        "dataList": [{
            "key": "",
            "value": {
                "accountCnt": 10, // 账号总数
                "externalAccountCnt": 10, // 外部账号数
                "contractAccountCnt": 10, // 合约账号数
                "grpCnt": 2 // 账号组数
            }
        }]
    }
}

3) Fisco链同步数据

3.1)同步总览数据

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10007",
        "dataType": 1,
        "dataList": [{
            "key": "",
            "value": {
                "chainType": "FISCO BCOS", // 区块链类型
                "grpCnt": 1, //群组数量
                "nodeCnt": 1, //节点数量
                "contractCnt": 1, //合约数量
                "blockHeight": 1, // 区块高度
                "createdTime": 1593338217000, //"2020-06-28 17:56:57",子链建设时间
                "consensus": "" // 共识机制
            }
        }]
    }
}

2.2)同步详细配置

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10007",
        "dataType": 2,
        "dataList": [{
            "key": "",
            "value": {
                "threshold": 100, //委员投票阈值
                "account": "委员账户", //委员账户
                "ticketCnt": 1 // 委员票数
            }
        }]
    }
}

2.3)同步高阶服务

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10007",
        "dataType": 3,
        "dataList": [{
            "key": "",
            "value": {
                "supportSM": 0, // 国密支持   返回0即不支持该服务,返回1即支持该服务
                "supportMigrate": 0, //数据迁移   节点容量超过X%时启动,返回0即不支持该服务,返回1-100即支持该服务,且节点容量超过该百分比时启动数据迁移
                "supportSGX": 0, //SGX安全防护   返回0即不支持该服务,返回1即支持该服务
                "supportOracle": 0 // 预言机    返回0即不支持该服务,返回1即支持该服务
            }
        }]
    }
}

2.4)同步群组列表:

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10007",
        "dataType": 4,
        "dataList": [{
            "key": "",
            "value": {
                "grpName": "群组1", //群组名称
                "crtCnt": 1, //证书数
                "conNodeCnt": 1, //共识节点数
                "absNodeCnt": 1, // 观察者节点数
                "contractCnt": 1, //合约部署数
                "createTime": 1593338217000, //创建时间 
                "lastModifyTime": 1593338217000, //最近修改时间 
                "grpId": 1, //群组ID
                "consensus": "", //共识机制
                "maxTxCnt": 1, //最大交易量
                "delay": 100, //打包延时,单位是毫秒
                "periodBlockCnt": 1, //共识周期出块数
                "periodConNodeCnt": 1, //每周共识节点数
                "syncPolicy": "", //区块同步策略
                "consensusNode": "", // 共识节点
                "abserveNode": "", //观察节点
                "blockHeight": 1 //区块高度
            }
        }]
    }
}

2.5)同步群组列表:

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10007",
        "dataType": 5,
        "dataList": [{
            "key": "",
            "value": {
                "certName": "证书1", // 证书名称
                "certType": 1, //证书类型  0:委员会证书、1:SDK证书、2:机构证书、3:节点证书、4:其他证书
                "certIssuer": "", // 证书签发者
                "status": 1, //  证书状态 
                "time": "YYYY.MM.DD-YYYY.MM.DD" //  生效时间  返回示例:YYYY.MM.DD-YYYY.MM.DD
            }
        }]
    }
}

4) Fabric链同步数据

4.1)同步总览数据

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 1,
        "dataList": [{
          "key":"",
          "value":{
            "chainType": "Fabric", // 区块链类型
                "channelCnt": 1, // 通道数量
                "orgCnt": 1, // 组织数量
                "nodeCnt": 1, //节点数量
                "chainCodeCnt": 1, // 链码数量
                "blockHeight": 1, // 区块高度
                "createdTime": 1593338217000, //"2020-06-28 17:56:57",子链建设时间
                "consensus": "" // 共识机制
          }
        }]
    }
}

4.2)同步共识节点列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 2,
        "dataList": [{
          "key":"",
          "value":{
            "host": "", // 域名
                "address": "", //接口
                "consensus" : "", // 所属共识 例"Raft"、"PBFT"
                "certStatus" : "",  //证书状态 返回0即无效,返回1即有效
          }
        }]
    }
}

4.3)同步策略列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 3,
        "dataList": [{
          "key":"",
          "value":{
            "policyName": "", // 策略名
                "policyType": "", //策略类别 返回1即背书策略,返回2即投票策略,返回3即其他策略
                "policyDetail" : "", // 具体策略集
                "purpose" : ""  // 策略应用对象 返回1即成员,返回2即链码,返回3即其他
          }
        }]
    }
}

4.4)同步通道列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 4,
        "dataList": [{
          "key":"",
          "value":{
                "channelID": 123, // channelID
                "name": "", // 通道名称
                "orderOrgCnt": 1, // 排序组织数
                "orderNodeCnt" : 2, // 排序节点数 例"Raft"、"PBFT"
                "peerOrgCnt" : 2,  // peer组织数
                "peerNodeCnt" : 2,  // peer节点数
                "chainCodeDeployCnt" : 100,  // 链码部署数
                "blockHeight": 1111, // 区块高度
                "statue": 0, // 通道状态
                "hashWidth": 1, // 区块数据哈希结构宽度
                "hashAlgorithm": "", // 哈希算法
                "delay": 0.1, // 打包延时 ms 
                "maxSize": 22, // 打包最大字节数
                "maxTxCnt": 12, // 打包最大交易数
                "defaultMaxSize": 1234 // 推荐打包最大字节数
            }
        }]
    }
}

4.5)同步排序组织列表:

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 5,
        "dataList": [{
          "key":"",
          "value":{
                "channel": "", // channel id
                "channelName": "", // 所属通道名称
                "orgName" : "", // 组织名称
                "orgType" : "",  // 组织类型
                "nodeType" : "", // 节点类型
                "nodeName" : "", // 节点名
                "host": "", // 域名
                "port": 4004 // 端口
            }
        }]
    }
}

4.6)同步Peer组织列表:

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 6,
        "dataList": [{
          "key":"",
          "value":{
                "channel": "", // channel id
                "channelName": "", // 所属通道名称
                "orgName" : "", // 组织名称
                "nodeType" : "", // 节点类型
                "nodeName" : "", // 节点名
                "host": "", // 域名
                "port": 4004 // 端口
            }
        }]
    }
}

4.7)同步组织列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 7,
        "dataList": [{
          "key":"",
          "value":{
                "orgId": "", // org id
                "orgName": "", // 组织名称
                "host": "", // 域名
                "orgType" : "", // 组织类型
                "nodeCnt" : 10, // 节点数量
                "channel" : "", // 加入通道
                "consortuim" : "", // 加入联盟
                "anchor" : "" // 锚节点
            }
        }]
    }
}

4.8)同步组织节点列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 8,
        "dataList": [{
          "key":"",
          "value":{
                "orgId": "", // org id
                "orgName": "", // 组织名称
                "nodeName" : "", // 节点名称
                "host": "", // 域名,包含端口
                "nodeType" : "", // 节点类型
                "channel" : "" // 加入通道
            }
        }]
    }
}

4.9)同步组织证书列表

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 9,
        "dataList": [{
          "key":"",
          "value":{
                "orgId": "", // org id
                "orgName": "", // 组织名称
                "certId" : "", // 证书ID
                "certIdentification": "", // 证书标识
                "certType" : 1, // 证书类型,1管理员证书,2组织证书,3用户证书,4节点证书
                "validTime" : "", // 有效时间
                "statue" : "", // 状态
            }
        }]
    }
}

4.10)同步高阶服务

http请求方式:POST
https://{url}/v1/chain/isomerism/data/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
    "params": {
        "ACSN": "acc1",
        "chainType": "10001",
        "dataType": 10,
        "dataList": [{
          "key":"",
          "value":{
                "supportSM": 0, // 国密支持   返回0即不支持该服务,返回1即支持该服务
                "supportMigrate": 0, //数据迁移   节点容量超过X%时启动,返回0即不支持该服务,返回1-100即支持该服务,且节点容量超过该百分比时启动数据迁移
                "supportSGX": 0, //SGX安全防护   返回0即不支持该服务,返回1即支持该服务
                "supportOracle": 0 // 预言机    返回0即不支持该服务,返回1即支持该服务
            }
        }]
    }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.3 链状态信息同步

骨干节点将子链的动态信息同步到主链,需要两步操作:4.3.1获取链动态信息同步交易blob;4.3.2链动态信息同步提交。要求每隔5分钟同步一次数据。

4.3.1 获取子链状态信息同步blob

接口说明:

子链状态信息同步时需要将信息同步到链上

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 链AC号
gatewayAddress String(64) 数据网关地址(在平台链详情中查看该地址),如:did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA
blockHeight Long 区块高度
validationNodeCount Long 参与共识的节点数量
totalNodeCount Long 节点总数量
systemContractCount Long 系统合约数量
normalContractCount Long 普通合约数量
serviceNodeCount Long 业务节点个数
txNumber Long 总交易数
accountCount Long 总账户数
tps Long 平均tps
extra String 额外字段

返回数据:

字段名 类型 描述
blobId String blodId
txHash String 交易hash
blob String blod串

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/status/syn/blob
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTcxMjg0LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.9tTPWasYgCs1yC3qYJYSjCGvd9Syl1mr6G2EVrKeq2E",
  "params": {
    "ACSN": "by01",
    "gatewayAddress": "did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA",
    "blockHeight": 50003,
    "txNumber": 200000,
    "tps": 101,
    "validationNodeCount":0,
    "totalNodeCount": 0,
    "systemContractCount": 0,
    "normalContractCount": 0,
    "serviceNodeCount": 0,
    "accountCount": 0,
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
  "errorCode": 0,
  "message": "操作成功",
  "data": {
    "blobId": "15",
    "txHash": "d60c15bacbb7f98f00921d5ad17d49fafe0c65ea706d5d4ced25e490ac35e9e0",
    "blob": "0A286469643A6269643A65663477776B727A53564650545A4A627257433439446B416554535169377241101E228304080712286469643A6269643A656662384568753953475643546D32426276705069516A7A4E576F344C51414152D4030A286469643A6269643A6566427070397753676564315A5A72437566426D36374A4C55635255396375321AA7037B226D6574686F64223A227375626D6974426C6F636B486561646572222C22706172616D73223A7B22626C6F636B486561646572223A7B226163636F756E745F747265655F68617368223A22222C22636C6F73655F74696D65223A2231353933333338343030303032303030222C22636F6E73656E7375735F76616C75655F68617368223A22222C22666565735F68617368223A22222C2268617368223A2235323134303538363966626533633132396237383434383232333566616365633435656438653432313666633834653962623665336136386661653430636232222C2270726576696F75735F68617368223A2231323334363966626533633132396237383434383232333566616365633435656438653233313435363537646161313233343131326136386661653430636232222C22736571223A223938222C2274785F636F756E74223A223132222C2276616C696461746F72735F68617368223A22696E7465726E616C436861696E496432222C2276657273696F6E223A22227D2C22636861696E436F6465223A2262793031222C2264796E616D6963496E666F223A7B7D7D7D3080EAADE907"
  }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.3.2 子链的状态信息提交(上链)

接口说明:

对blob数据进行签名(参考 签名算法 章节),并提交至主链执行上链操作,用于链的状态信息同步提交至主链并上链备案。

请求参数:

字段名 类型 是否必填 描述
blobId String(20) Blob序号,通过获取交易Blob接口获取
signerList List 签名者列表(注意:需要数据网关签名)
signerList.signBlob String(128) 签名串(数据网关签名)
signerList.publicKey String(128) 签名者公钥(数据网关公钥)

返回数据:

字段名 类型 描述
txHash String 链上交易hash

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/status/syn/submit
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
  "params": {
    "blobId": "1",
    "signerList": [{
      "signBlob": "BDE955FF0A0F52A39E95815962836D13172D6EF92C55A72A97ECCF2CE882E2E2EAC73FA1A624D73C959E18126B4A35947375621D819F539DDC0692EEF0F4D702",
      "publicKey": "b06566086febd16adf6553cc9c000dba5f9f410d34f8541392303561dddc045b15ef4c"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功",
      "data": {
      "txHash": "083b797ea00204d2c17a9e1bd77cab11385f475da756f76a96b922e4c7b8f7c7"
    }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.4 链节点信息同步

骨干节点将链的信息同步到主链,需要两步操作:4.4.1获取链节点信息同步交易blob;4.4.2链节点信息同步提交。节点有新增和修改时需要同步至主链。

4.4.1 获取链节点信息同步blob

接口说明:

节点信息同步时需要将信息同步到链上

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) AC号
gatewayAddress String(64) 数据网关地址(在平台链详情中查看该地址),如:did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA
nodeList List 节点对象集合
nodeList.nodeAddress String(128) 节点地址(BID格式,即对子链原节点地址映射为BID格式),例如壹诺区块链华东节点地址:adxSdh5znTeNgjLNoX1e4CuHJoC9hDUbgMrtf,需要映射一个新的BID格式: did:bid:ynjr:ef6bRF4FDPzjvatNmFu6YAvegBtcv86r
nodeList.name String(128) 节点名称
nodeList.createTime Long 节点申请时间 (Unix时间戳 毫秒)
nodeList.bindNodeBid String(64) 所属骨干节点bid
nodeList.owner String(64) 该节点归属的企业bid
nodeList.location Object 节点地理位置
nodeList.location.district String(32) 区域编码(比如:810008,通过4.13接口获取区域信息 需要获取到县级的编号 )
nodeList.type Integer 节点类型:0 业务节点(目前仅支持 业务节点,后续扩展其他类型)
nodeList.p2pAddress String(64) 节点间p2p通信地址,如:172.10.3.1:49900
nodeList.serverType Integer 服务器类型: 0自建服务器,1云服务
nodeList.hostIp String 节点公网IP,没有公网IP填内网IP
nodeList.cloudName Integer 云类型,0非公有云,1阿里云,2百度云、3金山云、4华为云、5亚马逊云、6微软云、7腾讯云、8京东云、9物理机、100其他云
nodeList.extra String 扩展字段
nodeList.extra.nodeType Integer 节点类型:0 共识节点 1 观察者节点,当子链架构为cita、fiscobcos时必填
nodeList.extra.group String 群组id,当子链架构为fiscobcos、fabric时必填

返回数据:

字段名 类型 描述
blobId String blodId
txHash String 交易hash
blob String blod串

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/nodeInfo/syn/blob
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTcxMjg0LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.9tTPWasYgCs1yC3qYJYSjCGvd9Syl1mr6G2EVrKeq2E",
  "params": {
    "ACSN": "ynjr",
    "gatewayAddress": "did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA",
    "nodeList": [{
      "nodeAddress": "did:bid:ynjr:ef6bRF4FDPzjvatNmFu6YAvegBtcv86r",
      "name": "业务节点1",
      "createTime": 1593338217000,
      "bindNodeBid": "did:bid:WWBVgCnREaLjegUvkpeiY8BaiAojvcv1b",
      "owner": "did:bid:WWBVgCnREaLjegUvkpeiY8BaiAojvcv11",
      "location": {
        "district": "810008"
      },
      "type": 1,
      "p2pAddress": "127.0.0.1:18001",
      "serverType": 0,
      "hostIp": "192.168.1.12",
      "cloudName": 1
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
  "errorCode": 0,
  "message": "操作成功",
  "data": {
    "blobId": "15",
    "txHash": "d60c15bacbb7f98f00921d5ad17d49fafe0c65ea706d5d4ced25e490ac35e9e0",
    "blob": "0A286469643A6269643A65663477776B727A53564650545A4A627257433439446B416554535169377241101E228304080712286469643A6269643A656662384568753953475643546D32426276705069516A7A4E576F344C51414152D4030A286469643A6269643A6566427070397753676564315A5A72437566426D36374A4C55635255396375321AA7037B226D6574686F64223A227375626D6974426C6F636B486561646572222C22706172616D73223A7B22626C6F636B486561646572223A7B226163636F756E745F747265655F68617368223A22222C22636C6F73655F74696D65223A2231353933333338343030303032303030222C22636F6E73656E7375735F76616C75655F68617368223A22222C22666565735F68617368223A22222C2268617368223A2235323134303538363966626533633132396237383434383232333566616365633435656438653432313666633834653962623665336136386661653430636232222C2270726576696F75735F68617368223A2231323334363966626533633132396237383434383232333566616365633435656438653233313435363537646161313233343131326136386661653430636232222C22736571223A223938222C2274785F636F756E74223A223132222C2276616C696461746F72735F68617368223A22696E7465726E616C436861696E496432222C2276657273696F6E223A22227D2C22636861696E436F6465223A2262793031222C2264796E616D6963496E666F223A7B7D7D7D3080EAADE907"
  }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.4.2 子链节点信息提交(上链)

接口说明:

对blob数据进行签名(参考 签名算法 章节),并提交至主链执行上链操作,用于节点信息同步提交至主链并上链备案。

请求参数:

字段名 类型 是否必填 描述
blobId String(20) Blob序号,通过获取交易Blob接口获取
signerList List 签名者列表(注意:需要数据网关签名)
signerList.signBlob String(128) 签名串(数据网关签名)
signerList.publicKey String(128) 签名者公钥(数据网关公钥)

返回数据:

字段名 类型 描述
txHash String 链上交易hash

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/nodeInfo/syn/submit
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
  "params": {
    "blobId": "1",
    "signerList": [{
      "signBlob": "BDE955FF0A0F52A39E95815962836D13172D6EF92C55A72A97ECCF2CE882E2E2EAC73FA1A624D73C959E18126B4A35947375621D819F539DDC0692EEF0F4D702",
      "publicKey": "b06566086febd16adf6553cc9c000dba5f9f410d34f8541392303561dddc045b15ef4c"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功",
      "data": {
      "txHash": "083b797ea00204d2c17a9e1bd77cab11385f475da756f76a96b922e4c7b8f7c7"
    }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.5 链节点运行状态同步

接口说明:

骨干节点将链下节点运行状态到主链。(每隔5分钟同步一次)

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) AC号
nodeRunningList List 运行状态信息对象
nodeRunningList.nodeAddress String(64) 节点地址(BID格式,即对子链原节点地址映射为BID格式),例如壹诺区块链华东节点地址:adxSdh5znTeNgjLNoX1e4CuHJoC9hDUbgMrtf,需要映射一个新的BID格式: did:bid:ynjr:ef6bRF4FDPzjvatNmFu6YAvegBtcv86r
nodeRunningList.status Integer 节点运行状况,1:正常, 2:故障
nodeRunningList.delay Long 节点响应时延, 单位毫秒
nodeRunningList.upTraffic Long 上行流量, 单位字节
nodeRunningList.downTraffic Long 下行流量, 单位字节
nodeRunningList.latestBlockHeight Long 最新区块高度
nodeRunningList.latestBlockHash String(128) 最新区块哈希
nodeRunningList.latestTxNum Long 最新交易总量
nodeRunningList.latestAccountNum Long 最新账户总数
nodeRunningList.unblockedTxNum Long 实时未打包交易数
nodeRunningList.cpuUsage Integer 节点处理器使用率,为百分数整数,如78%请填写78
nodeRunningList.memoryUsage Integer 节点内存使用率,为百分数整数,如78%请填写78
nodeRunningList.diskUsage Integer 节点磁盘使用率,为百分数整数,如78%请填写78
nodeRunningList.memoryUsed Long 节点内存占用,单位字节,比如:占用3G,请填写 3221225472
nodeRunningList.diskUsed Long 节点磁盘占用总大小,单位字节,比如:占用3G,请填写3221225472
nodeRunningList.ledgerDBUsed Long 节点的账本数据库磁盘占用大小,单位字节,比如:占用3G,请填写 3221225472
nodeRunningList.accountDBUsed Long 节点的账户数据库磁盘占用大小,单位字节,比如:占用3G,请填写 3221225472
nodeRunningList.kvDBUsed Long 节点的kv数据库磁盘占用大小,单位字节,比如:占用3G,请填写 3221225472
nodeRunningList.loadavg Long 一分钟内的系统平均负载值,由于原始值为保留2位小数的浮点值,这里扩大100提供整数,如,原始值是20.88 请填写 2088
nodeRunningList.diskRead Long 磁盘实时读取速度,单位字节每秒,如:3M/s 请填写 3145728
nodeRunningList.diskWrite Long 磁盘实时写入速度,单位字节每秒,如:3M/s 请填写 3145728
nodeRunningList.tcpCount Integer tcp链接总数
nodeRunningList.time Long 节点状态上报的时间戳,目前节点每分钟上报一次信息
nodeRunningList.extra String 额外数据,(数据格式JSON字符串)
nodeRunningList.extra.group String 群组,当子链架构为xuperchain时必填
nodeRunningList.nodeFaultList List 节点故障数据,节点运行状况发生变化时必填,如正常状态更新为故障状态,需要提供故障产生记录,如故障状态更新为正常状态,需要提供故障恢复记录,列表为同步时间间隔内的增量记录
nodeRunningList.nodeFaultList.id String(32) 上报数据索引号(子链上唯一,建议用UUID再进行MD5运算生成的字符串)
nodeRunningList.nodeFaultList.time Long 故障发生时间(Unix时间戳 毫秒)
nodeRunningList.nodeFaultList.type Integer 标示产生或者恢复日志,1:产生, 2:恢复
nodeRunningList.nodeFaultList.faultType Integer 故障类型,1:区块停止产生, 2:节点已宕机
nodeRunningList.nodeFaultList.faultLevel Integer 故障等级,1:严重 2:一般 3:轻微,

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/nodeRunningStatus/syn
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTEzODE4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.kqeuSumhvdHLnrvw0WkWxrY3Cy6bThVKBmv7h2-a1po",
  "params": {
    "ACSN": "ynjr",
    "nodeRunningList": [{
      "nodeAddress": "did:bid:ynjr:ef6bRF4FDPzjvatNmFu6YAvegBtcv86r",
      "status": 1,
      "delay": 300,
      "upTraffic": 10000,
      "downTraffic": 1000,
      "latestBlockHeight": 1000,
      "latestBlockHash": "71a4abdc812bb6d94c56e3a2a849250747a76dbab5559f6fc89338876d4b879f",
      "latestTxNum": 1000,
      "latestAccountNum": 1000,
      "unblockedTxNum": 1000,
      "cpuUsage": 10,
      "memoryUsage": 30,
      "diskUsage": 5,
      "memoryUsed": 1048576,
      "diskUsed": 104857600,
      "ledgerDBUsed": 1024,
      "accountDBUsed": 100,
      "kvDBUsed": 1024,
      "loadavg": 70,
      "diskRead": 1024,
      "diskWrite": 1024,
      "tcpCount": 10,
      "time": 1593338217000,
      "extra": "{}",
      "nodeFaultList": [{
            "id": "c4ca4238a0b923820dcc509a6f75849b",
            "time": 1593338217000,
            "type": 2,
            "faultType": 1,
            "faultLevel": 2
        }]
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.6 链的区块信息同步

骨干节点将链的区块信息同步到主链锚定,需要两步操作:4.6.1获取链的区块信息同步blob ;4.6.2链的区块信息提交(上链)。(要求每隔5分钟同步一次数据。)

4.6.1 获取链的区块信息同步blob

接口说明:

获取链的区块信息同步blob

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) AC号
gatewayAddress String(64) 数据网关地址(在平台链详情中查看该地址),如:did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA
blockList List 区块头信息列表
blockList.height Long 区块高度
blockList.nodeAddress String(64) 出块节点地址(BID格式,即对子链原节点地址映射为BID格式),例如壹诺区块链华东节点地址:adxSdh5znTeNgjLNoX1e4CuHJoC9hDUbgMrtf,需要映射一个新的BID格式: did:bid:ynjr:ef6bRF4FDPzjvatNmFu6YAvegBtcv86r
blockList.nodeName String(128) 出块节点名称
blockList.txNum Long 区块交易数
blockList.preBlockHash String(64) 上一个区块hash
blockList.blockHash String(64) 区块hash
blockList.time Long 区块生成时间(Unix时间戳 毫秒)
blockList.size Long 区块大小,单位字节
blockList.internalChainId String(128) 标记链内子链id,用于兼容channel字段(Fabric链)、chainID字段(XuperChain链)、grpId字段(FISCO BCOS链)等,需要全局唯一且不可修改,默认为空字符串
blockList.extra Object 扩展字段
blockList.extra.channelName String 通道名称,当子链架构为fabric时必填
blockList.extra.chainName String 平行链名称,当子链架构为xuperchain时必填

返回数据:

字段名 类型 描述
blobId String blodId
txHash String 链上交易hash
blod String blod串

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/block/syn/blob

{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTcxMjg0LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.9tTPWasYgCs1yC3qYJYSjCGvd9Syl1mr6G2EVrKeq2E",
  "params": {
    "ACSN": "ynjr",
    "gatewayAddress": "did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA",
    "blockList": [{
      "height": 98,
      "nodeAddress": "did:bid:ynjr:ef6bRF4FDPzjvatNmFu6YAvegBtcv86r",
      "nodeName": "节点2",
      "txNum": 12,
      "preBlockHash": "123469fbe3c129b784482235facec45ed8e23145657daa1234112a68fae40cb2",
      "blockHash": "521405869fbe3c129b784482235facec45ed8e4216fc84e9bb6e3a68fae40cb2",
      "time": 1593338400002,
      "size": 1282,
      "internalChainId":"internalChainId2",
      "extra":"extra2"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
  "errorCode": 0,
  "message": "操作成功",
  "data": {
    "blobId": "15",
    "txHash": "d60c15bacbb7f98f00921d5ad17d49fafe0c65ea706d5d4ced25e490ac35e9e0",
    "blob": "0A286469643A6269643A65663477776B727A53564650545A4A627257433439446B416554535169377241101E228304080712286469643A6269643A656662384568753953475643546D32426276705069516A7A4E576F344C51414152D4030A286469643A6269643A6566427070397753676564315A5A72437566426D36374A4C55635255396375321AA7037B226D6574686F64223A227375626D6974426C6F636B486561646572222C22706172616D73223A7B22626C6F636B486561646572223A7B226163636F756E745F747265655F68617368223A22222C22636C6F73655F74696D65223A2231353933333338343030303032303030222C22636F6E73656E7375735F76616C75655F68617368223A22222C22666565735F68617368223A22222C2268617368223A2235323134303538363966626533633132396237383434383232333566616365633435656438653432313666633834653962623665336136386661653430636232222C2270726576696F75735F68617368223A2231323334363966626533633132396237383434383232333566616365633435656438653233313435363537646161313233343131326136386661653430636232222C22736571223A223938222C2274785F636F756E74223A223132222C2276616C696461746F72735F68617368223A22696E7465726E616C436861696E496432222C2276657273696F6E223A22227D2C22636861696E436F6465223A2262793031222C2264796E616D6963496E666F223A7B7D7D7D3080EAADE907"
  }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.6.2 链的区块信息提交(上链)

接口说明:

对blob数据进行签名(参考 签名算法 章节),并提交至主链执行上链操作,用于子链的区块信息提交至主链并上链存储

请求参数:

字段名 类型 是否必填 描述
blobId String(20) blobId(4.6.1返回blobId)
signerList List 签名者列表(注意:需要数据网关签名)
signerList.signBlob String(128) 签名串(数据网关签名)
signerList.publicKey String(128) 签名者公钥(数据网关公钥)

返回数据:

字段名 类型 描述
txHash String 链上交易hash

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/block/syn/submit
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
  "params": {
    "blobId": "3",
    "signerList": [{
      "signBlob": "4D47D46AA467C8DF8FD1D60374D9D2378AC536612C3B84E1AC9BA4EA55E10810482EC634EADED63A389F82573AB1E055698189F7497DF23C5E32CF26A7D8270F",
      "publicKey": "b06566086febd16adf6553cc9c000dba5f9f410d34f8541392303561dddc045b15ef4c"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功",
      "data": {
      "txHash": "083b797ea00204d2c17a9e1bd77cab11385f475da756f76a96b922e4c7b8f7c7"
    }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.7 交易信息同步

接口说明:

用于将子链的交易上报到主链(要求每隔5分钟同步一次,将5分钟内的交易都同步上来)

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) AC号
txList List 交易列表
txList.hash String(64) 交易hash
txList.content String 交易内容 JSON字符串 或者交易内容hash
txList.time Long 交易时间(Unix时间戳 毫秒)
txList.height Long 交易高度
txList.status String(2) 交易状态,0成功,1失败
txList.txSign String(65535) 交易签名
txList.contractBid String(128) 合约地址,合约调用交易为调用的合约地址,非合约调用交易留空
txList.size Long 交易大小,单位字节
txList.internalChainId String(128) 链内子链id,默认留空。如Fabric链填写channel,XuperChain链填写chainID,FISCO链填写grpId
txList.extra String 额外数据

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/tx/syn

{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTEzODE4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.kqeuSumhvdHLnrvw0WkWxrY3Cy6bThVKBmv7h2-a1po",
  "params": {
    "ACSN":"by01",
    "txList": [{
      "hash": "71a4abdc812bb6d94c56e3a2a849250747a76dbab5559f6fc89338876d4b879f",
      "content": "a6f9f1e8a18674ac915932e1d700b12b676d22b542f952d0d0f96517f9f5f806",
      "time": 1593338217000,
      "height": 10,
      "status":"0",
      "txSign":"{sign:1234}",
      "contractBid":"0",
      "size":100,
      "internalChainId": "",
      "extra": "123"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.8 合约信息同步

骨干节点将合约信息同步到主链,便于备案审查。需要两步操作:4.8.1获取合约信息同步blob ;4.8.2合约信息同步提交(上链)。要求每隔5分钟同步一次数据。

4.8.1 获取合约信息同步blob

接口说明:

获取合约信息同步blob。

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 链AC号
gatewayAddress String(64) 数据网关地址(在平台链详情中查看该地址),如:did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA
smartContractList List 合约列表
smartContractList.ownerAddress String(64) 合约拥有人BID(BID格式)
smartContractLis.contractAddress String(64) 合约地址(BID格式,即对子链原合约地址映射为BID格式),例如原合约地址:adxSBrVVtaWZVuGxGGPZCmyna7C6dKo3WVXd4,需要映射一个新的BID格式: did:bid:ynjr:did:bid:efv7DynieC5sF1UoKAthKTfUCkuzaBfR
smartContractList.time Long 合约创建时间(Unix时间戳 毫秒)
smartContractList.name String(128) 合约名称
smartContractList.contractType Integer 合约类型,0 :普通合约, 1:主子链管理系统合约, 2:DPOS系统合约 3:部署系统合约 4:认证系统合约 5:隐私保护系统合约 6:跨链系统合约 7:BID注册合约
smartContractList.industryType String(2) 行业类型,参考 10证件及行业类型
smartContractList.payload String() 合约代码
smartContractList.vm String(16) 合约引擎
smartContractList.internalChainId String(128) 标记链内子链id,如Fabric链填写channel,XuperChain链填写chainID,FISCO链填写grpId等,需要全局唯一且不可修改,默认为空字符串
smartContractList.version String(16) 合约版本
smartContractList.extra String 扩展字段,json字符串
smartContractList.extra.identification String 链码标识,当子链架构为fabric时必填
smartContractList.extra.nodeCnt Long 安装节点数,当子链架构为fabric时必填
smartContractList.extra.channelCnt Long 部署通道数,当子链架构为fabric时必填
smartContractList.extra.address String 合约地址,当子链架构为xuperchain时必填
smartContractList.extra.creator String 合约创建账号,当子链架构为xuperchain时必填
smartContractList.extra.type String 合约类型, wasm合约、native合约,当子链架构为xuperchain时必填
smartContractList.extra.chainName String 平行链名称,当子链架构为xuperchain时必填

返回数据:

字段名 类型 描述
blobId String blodId
txHash String 交易hash
blob String blob串

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/contract/syn/blob
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTcxMjg0LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.9tTPWasYgCs1yC3qYJYSjCGvd9Syl1mr6G2EVrKeq2E",
  "params": {
    "ACSN": "ynjr",
    "gatewayAddress": "did:bid:efb8Ehu9SGVCTm2BbvpPiQjzNWo4LQAA",
    "smartContractList": [{
      "ownerAddress":"did:bid:efPGyex2nVvTJZPg8RzdtzEqF5UWCzdL22",
      "contractAddress": "did:bid:ynjr:efv7DynieC5sF1UoKAthKTfUCkuzaBfR",
      "time": 1593338217002,
      "name": "部署系统合约2",
      "contractType": 2,
      "industryType": "A",
      "payload": "'use strict'; function init(){return;}  function main(){return;}",
      "vm": "v2",
      "version":"1.0.2",
      "extra":"extra2",
      "internalChainId":"internalChainId2"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
  "errorCode": 0,
  "message": "操作成功",
  "data": {
    "blobId": "15",
    "txHash": "d60c15bacbb7f98f00921d5ad17d49fafe0c65ea706d5d4ced25e490ac35e9e0",
    "blob": "0A286469643A6269643A65663477776B727A53564650545A4A627257433439446B416554535169377241101E228304080712286469643A6269643A656662384568753953475643546D32426276705069516A7A4E576F344C51414152D4030A286469643A6269643A6566427070397753676564315A5A72437566426D36374A4C55635255396375321AA7037B226D6574686F64223A227375626D6974426C6F636B486561646572222C22706172616D73223A7B22626C6F636B486561646572223A7B226163636F756E745F747265655F68617368223A22222C22636C6F73655F74696D65223A2231353933333338343030303032303030222C22636F6E73656E7375735F76616C75655F68617368223A22222C22666565735F68617368223A22222C2268617368223A2235323134303538363966626533633132396237383434383232333566616365633435656438653432313666633834653962623665336136386661653430636232222C2270726576696F75735F68617368223A2231323334363966626533633132396237383434383232333566616365633435656438653233313435363537646161313233343131326136386661653430636232222C22736571223A223938222C2274785F636F756E74223A223132222C2276616C696461746F72735F68617368223A22696E7465726E616C436861696E496432222C2276657273696F6E223A22227D2C22636861696E436F6465223A2262793031222C2264796E616D6963496E666F223A7B7D7D7D3080EAADE907"
  }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.8.2 合约信息同步提交(上链)

接口说明:

对blob数据进行签名(参考 签名算法 章节),并提交至主链执行上链操作,用于子链合约信息同步提交至主链并上链存储

请求参数:

字段名 类型 是否必填 描述
blobId String(20) blobId
signerList List 签名者列表(注意:需要数据网关签名)
signerList.signBlob String(128) 签名串(数据网关签名)
signerList.publicKey String(128) 签名者公钥(数据网关公钥)

返回数据:

字段名 类型 描述
txHash String 交易hash

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/contract/syn/submit
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjE5MzQyNDIyLCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.3gcQQBqvqtZH1q-TfUiGne68R1TnBcvLAA6nIJ8qDGU",
  "params": {
    "blobId": "4",
    "signerList": [{
      "signBlob": "5EC044231995FD4AF61CCA0AA7BA2479021509E48F3E3C061ED3CDB1CFECC79FCFE1BD28571236E55F72BA1260A8707CAF2D1D104D79A9218EBCCA9225066B06",
      "publicKey": "b06566086febd16adf6553cc9c000dba5f9f410d34f8541392303561dddc045b15ef4c"
    }]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功",
      "data": {
      "txHash": "083b797ea00204d2c17a9e1bd77cab11385f475da756f76a96b922e4c7b8f7c7"
    }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.9 链智能合约调用信息同步

接口说明:

用于子链合约调用记录上报到主链(要求每5分钟同步一次。将5分钟内的合约调用记录数据同步上来)

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 子链AC号
contractCallList List 数据数组
contractCallList.bid String(64) 智能合约调用者账户地址
contractCallList.time Long 调用时间(Unix 时间戳 毫秒)
contractCallList.contractBid String(64) 智能合约地址(BID格式,即对子链原合约地址映射为BID格式),例如原合约地址:adxSBrVVtaWZVuGxGGPZCmyna7C6dKo3WVXd4,需要映射一个新的BID格式: did:bid:ynjr:did:bid:efv7DynieC5sF1UoKAthKTfUCkuzaBfR
contractCallList.name String(64) 合约调用者名称
contractCallList.internalChainId String(128) 链内子链id,如Fabric链填写channel,XuperChain链填写chainID,FISCO链填写grpId等,需要全局唯一且不可修改,默认为空字符串
contractCallList.extra Object 额外数据
contractCallList.extra.org String 调用组织,当子链架构为fabric时必填
contractCallList.extra.grp String 调用群组,当子链架构为xuperchain时必填
contractCallList.extra.invokeGroup String 调用群组,当子链架构为fiscobcos时必填
contractCallList.extra.invokeCertificate String 调用证书,当子链架构为fiscobcos和cita时必填

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/contractCall/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTk0NDQ4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.MxWdV-mwCScUq8QwmTXTaxKli8jvXq1sNVvAYQWWsSo",
    "params": {
        "ACSN": "ynjr",
        "contractCallList": [{
            "bid": "bid:bid:ynjr:hHTsFXTTqQfVH1oThGEKf6iwCK2c31Bes",
            "name": "aaa",
            "contractBid": "did:bid:ynjr:did:bid:efv7DynieC5sF1UoKAthKTfUCkuzaBfR",
            "time": 1593338217000,
            "internalChainId": "",
            "extra": "{}"
        }]
    }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.10 链智能合约部署信息同步

接口说明:

用于子链合约部署记录上报到主链(要求每5分钟同步一次。将5分钟内的合约部署记录数据同步上来)

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 子链AC号
contractDeployList List 合约部署记录
contractDeployList.bid String(64) 智能合约地址(BID格式,即对子链原合约地址映射为BID格式),例如原合约地址:adxSBrVVtaWZVuGxGGPZCmyna7C6dKo3WVXd4,需要映射一个新的BID格式: did:bid:ynjr:did:bid:efv7DynieC5sF1UoKAthKTfUCkuzaBfR
contractDeployList.time Long 部署时间 (Unix时间戳 毫秒)
contractDeployList.contractName String(64) 智能合约名称
contractDeployList.version String(16) 智能合约版本
contractDeployList.operateType Integer 合约操作类型,0:第一次部署 1:合约升级
contractDeployList.internalChainId String(128) 链内子链id,如Fabric链填写channel,XuperChain链填写chainID,FISCO链填写grpId等,需要全局唯一且不可修改,默认为空字符串
contractDeployList.extra Object 额外数据
contractDeployList.extra.channelName String 通道名称,当子链架构为fabric时必填
contractDeployList.extra.nodeName String 节点名称,当子链架构为fabric时必填
contractDeployList.extra.status String 状态,当子链架构为fabric时必填
contractDeployList.extra.chainName String 平行链名称,当子链架构为xuperchain时必填
contractDeployList.extra.status String 状态,当子链架构为xuperchain时必填
contractDeployList.extra.grpName String 群组名称,当子链架构为fiscobcos时必填

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/contractDeploy/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTk0NDQ4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.MxWdV-mwCScUq8QwmTXTaxKli8jvXq1sNVvAYQWWsSo",
    "params": {
        "ACSN": "ynjr",
        "contractDeployList": [{
            "bid": "did:bid:ynjr:did:bid:efv7DynieC5sF1UoKAthKTfUCkuzaBfR",
            "contractName": "跨链合约",
            "time": 1593338217000,
            "version": "1.0",
            "operateType": 0,
            "internalChainId": "",
            "extra": "{}"
        }]
    }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.11 未打包的交易数同步

接口说明:

每隔一小时同步一次,同步最近24小时每小时未打包交易数,按整点取值。

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) AC号
txNumList List 每个小时未打包交易总数列表
txNumList.time Long 整点时间戳 (单位 毫秒)
txNumList.unblockedTxNum Long 未打包的交易数

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/unblockedTxNum/syn
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTEzODE4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.kqeuSumhvdHLnrvw0WkWxrY3Cy6bThVKBmv7h2-a1po",
  "params": {
    "ACSN": "by01",
    "txNumList": [
      {"time":1600128000000,"unblockedTxNum":10},
      {"time":1600124400000,"unblockedTxNum":10},
      {"time":1600131400000,"unblockedTxNum":14},
      {"time":1600041600000,"unblockedTxNum":10}
    ]
  }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.12 底层链节点故障日志同步(已弃用)

接口说明:

用于底层链节点故障信息上报到主链(要求每5分钟同步一次。将5分钟内的底层链节点故障日志数据同步上来)

请求参数:

字段名 类型 是否必填 描述
ACSN String(4) 子链AC号
nodeFaultList List 节点故障数据
nodeFaultList.id String(32) 上报数据索引号(子链上唯一,建议用UUID再进行MD5运算生成的字符串)
nodeFaultList.time Long 故障发生时间(Unix时间戳 毫秒)
nodeFaultList.bid String(64) 节点地址(bid格式)
nodeFaultList.type Integer 标示产生或者恢复日志,1:产生, 2:恢复
nodeFaultList.faultType Integer 故障类型,1:区块停止产生, 2:节点已宕机
nodeFaultList.faultLevel Integer 故障等级,1:严重 2:一般 3:轻微,

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/chain/nodeFault/syn
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTk0NDQ4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.MxWdV-mwCScUq8QwmTXTaxKli8jvXq1sNVvAYQWWsSo",
    "params": {
        "ACSN": "by02",
        "nodeFaultList": [{
            "id": 1,
            "time": 1593338217000,
            "bid": "did:bid:WWBVgCnREaLjegUvkpeiY8BaiAojvcv1b",
            "type": 2,
            "faultType": 1,
            "faultLevel": 2
        }]
    }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
    "errorCode": "0",
    "message": "操作成功"
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}

4.13 获取区域信息

接口说明:

用于获取区域信息(省、市、县)

请求参数:

字段名 类型 是否必填 描述
pcode String(8) 父级编码(为空获取所有省、通过省的编号获取到下面市的编号、通过市获取县的编号)

返回数据:

字段名 类型 描述
errorCode Integer 错误码
message String 错误描述
areaList.name String 区域名称
areaList.adcode String 区域编码
areaList.longitude String 经度
areaList.latitude String 纬度

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/area/info/list
{
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJDcHB0NHRuMFlFZkIyMHJXIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjIxNTk0NDQ4LCJiaWQiOiJkaWQ6YmlkOmVmMjhwTTlNRzNUR1hHeVdBVzRKcFdDRnNKRGQ1TUJuYyJ9.MxWdV-mwCScUq8QwmTXTaxKli8jvXq1sNVvAYQWWsSo",
    "params": {
        "pcode":"510000"
    }
}

(2)返回结果示例:

a. 接口调用成功,则返回JSON数据示例为:

{
  "errorCode": 0,
  "message": "操作成功",
  "data": {
    "areaList": [
      {
        "name": "巴中市",
        "adcode": "511900",
        "longitude": "106.753669",
        "latitude": "31.858809"
      },
      {
        "name": "成都市",
        "adcode": "510100",
        "longitude": "104.065735",
        "latitude": "30.659462"
      },
      {
        "name": "广元市",
        "adcode": "510800",
        "longitude": "105.829757",
        "latitude": "32.433668"
      },
      {
        "name": "南充市",
        "adcode": "511300",
        "longitude": "106.082974",
        "latitude": "30.795281"
      },
      {
        "name": "德阳市",
        "adcode": "510600",
        "longitude": "104.398651",
        "latitude": "31.127991"
      },
      {
        "name": "绵阳市",
        "adcode": "510700",
        "longitude": "104.741722",
        "latitude": "31.46402"
      },
      {
        "name": "遂宁市",
        "adcode": "510900",
        "longitude": "105.571331",
        "latitude": "30.513311"
      },
      {
        "name": "资阳市",
        "adcode": "512000",
        "longitude": "104.641917",
        "latitude": "30.122211"
      },
      {
        "name": "广安市",
        "adcode": "511600",
        "longitude": "106.633369",
        "latitude": "30.456398"
      },
      {
        "name": "内江市",
        "adcode": "511000",
        "longitude": "105.066138",
        "latitude": "29.58708"
      },
      {
        "name": "达州市",
        "adcode": "511700",
        "longitude": "107.502262",
        "latitude": "31.209484"
      },
      {
        "name": "眉山市",
        "adcode": "511400",
        "longitude": "103.831788",
        "latitude": "30.048318"
      },
      {
        "name": "自贡市",
        "adcode": "510300",
        "longitude": "104.773447",
        "latitude": "29.352765"
      },
      {
        "name": "泸州市",
        "adcode": "510500",
        "longitude": "105.443348",
        "latitude": "28.889138"
      },
      {
        "name": "宜宾市",
        "adcode": "511500",
        "longitude": "104.630825",
        "latitude": "28.760189"
      },
      {
        "name": "乐山市",
        "adcode": "511100",
        "longitude": "103.761263",
        "latitude": "29.582024"
      },
      {
        "name": "攀枝花市",
        "adcode": "510400",
        "longitude": "101.716007",
        "latitude": "26.580446"
      },
      {
        "name": "凉山彝族自治州",
        "adcode": "513400",
        "longitude": "102.258746",
        "latitude": "27.886762"
      },
      {
        "name": "雅安市",
        "adcode": "511800",
        "longitude": "103.001033",
        "latitude": "29.987722"
      },
      {
        "name": "阿坝藏族羌族自治州",
        "adcode": "513200",
        "longitude": "102.221374",
        "latitude": "31.899792"
      },
      {
        "name": "甘孜藏族自治州",
        "adcode": "513300",
        "longitude": "101.963815",
        "latitude": "30.050663"
      }
    ]
  }
}

b. 接口调用失败,则返回JSON数据示例为:

{
    "errorCode": 940000,
    "message": "系统内部错误"
}