2 星火·链网数字身份

星火·链网数字身份内容包括BID标识及标识对象属性信息(如企业信息、个人信息、智能设备信息等)、公私钥管理、凭证信息等,适用于标识对象需要自主控制私钥的应用场景。

2.1 生成主链数字身份

接口说明:

子链用户在子链自生成星火·链网子链数字身份后,需要获取主链数字身份才能使用主链或其他子链的服务。因此,骨干节点需具备调用数字身份接口的功能,子链可根据具体业务,有选择地为用户获取主链数字身份。bid的生成规则请见13节bid数字身份生成算法。

请求参数:

字段名 类型 是否必填 描述
bid String(64) 账户子链数字身份BID
type String(4) 数字身份类型: 101人、102企业、103节点 、104智能设备、105智能合约
publicKey String(128) 数字身份公钥

返回数据:

字段名 类型 描述
bid String 主链数字身份BID
txHash String 链上交易hash
errorCode int 0
message String 成功

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/identity/generate
{
 "accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IkZDMjFnN2JzMVI2TjJGWjMiLCJpc3MiOiJidW1vIiwiZXhwIjoxNTYxMDAyODIyfQ.hgVH0T6fLxk973U2fIj_ejDx5aJuzRFlg1VAUA2RgzM",
  "params":{
    "bid":"did:bid:by01:efhbk6Y1kF7SuuvT2389JExuQtUVEX4n",
    "type":"101",
    "publicKey":""
  }
}

(2)返回结果示例:

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

{
    "data":{
      "bid":"did:bid:efhbk6Y1kF7SuuvT2389JExuQtUVEX4n",
      "txHash":"aa87a25080fa03cdd5ea51fb06440646b9dde93319ff403f2bf095c8b5edff47"
    },
    "errorCode": 0,
    "message": "操作成功"
}

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

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

2.2上传文件

接口说明:将文件上传至超级节点,大小不超过2M。

请求参数:

form表单格式

字段名 类型 是否必填 描述
accessToken String API令牌
file file 文件

返回数据:

字段名 类型 描述
filePath String 文件路径
fileHash String ipfs文件hash
errorCode int 错误码 0成功 非0失败
message String 错误描述

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/id-info-bin/upload
{
  "accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IkZDMjFnN2JzMVI2TjJGWjMiLCJpc3MiOiJidW1vIiwiZXhwIjoxNTYxMDAyODIyfQ.hgVH0T6fLxk973U2fIj_ejDx5aJuzRFlg1VAUA2RgzM",
  "file":a.img
}

(2)返回结果示例:

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

{
    "data":{
     "filePath":"ipfs://QmV1Z7syFkw8Tg41RuWChn7Ad3KjwgTexHeJ2LiYEEK2rd",
     "fileHash":"QmV1Z7syFkw8Tg41RuWChn7Ad3KjwgTexHeJ2LiYEEK2rd"
    },
    "errorCode": 0,
    "message": "成功"
}

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

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

2.3 可信认证申请

2.3.1 企业可信认证申请

接口说明:

企业获取主链数字身份后,可通过接口进行可信认证

请求参数:

字段名 类型 是否必填 描述
userBid String(64) 用户bid
companyShortName String(100) 企业简称
companyBusLicensePic String(256) 营业执照照片(需要填写2.2接口返回的文件路径 filePath)
linkmanName String(100) 联系人名称
linkmanPhone String(20) 手机号
linkmanEmail String(100) 邮箱
linkmanAuthCert String(256) 授权书(需要填写2.2接口返回的文件路径 filePath)

返回数据:

字段名 类型 描述
applyNo String 申请编号

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/company/credential/apply
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJqQ3h0eVJBayIsImlzcyI6IkJJRi1DSEFJTiIsImV4cCI6MTYwOTM4NzkxMiwiYmlkIjoiZGlkOmJpZDplZnozb1RRRzdMWWZLSkVpQ3lNZzU4TjlURGY5dnBXeSJ9.YHAsE6fiuFBISWeS06HpJr-GBfMTDCuekbZ-WTK1BjE",
  "params": {
    "userBid": "did:bid:efZtMGerN6t3hsim25u72vay9jyLu1b6",
    "companyShortName": "美团",
    "companyBusLicensePic": "ipfs://QmYPCJ3zyxegi4sCwyxC2VrWfiNnauoRti3zmveqWQ4EHd",
    "linkmanName": "zzz",
    "linkmanPhone": "15833333333",
    "linkmanEmail": "9@qq.com",
    "linkmanAuthCert": "ipfs://QmYPCJ3zyxegi4sCwyxC2VrWfiNnauoRti3zmveqWQ4EHd"
	}
}

(2)返回结果示例:

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

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

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

{
    "errorCode": 940026,
    "message": "认证已申请完成或申请中"
}

2.3.2 个人可信认证申请

接口说明:

个人获取主链数字身份后,可通过接口进行可信认证,

请求参数:

字段名 类型 是否必填 描述
userBid String(64) 用户bid
realName String(50) 真实名称
idNumber String(64) 证件号

返回数据:

字段名 String 交易hash
applyNo String 申请编号

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/person/credential/apply
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJqQ3h0eVJBayIsImlzcyI6IkJJRi1DSEFJTiIsImV4cCI6MTYwOTM4NzkxMiwiYmlkIjoiZGlkOmJpZDplZnozb1RRRzdMWWZLSkVpQ3lNZzU4TjlURGY5dnBXeSJ9.YHAsE6fiuFBISWeS06HpJr-GBfMTDCuekbZ-WTK1BjE",
  "params": {
     "userBid": "did:bid:ef29jM6zD7KuEWps32yPH4GbnY6ozVB18",
	   "idNumber": "520181199405272642",
	   "realName": "晓鹏"
  }
}

(2)返回结果示例:

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

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

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

{
    "errorCode": 940026,
    "message": "认证已申请完成或申请中"
}

2.4 查询可信认证申请结果

接口说明:

查询可信认证结果,用于可信认证校验。

请求参数:

字段名 类型 是否必填 描述
bid String 用户主链数字身份BID

返回数据:

字段名 类型 描述
applyStatus String 0未申请 1待审核 2审核通过 3审核不通过

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/auth/trusted
{
  "accessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJhdkNmcDdscU16SDVtTk5kIiwiaXNzIjoiQklGLUNIQUlOIiwiZXhwIjoxNjExNzQ0NjIwLCJiaWQiOiJkaWQ6YmlkOmVmejNvVFFHN0xZZktKRWlDeU1nNThOOVREZjl2cFd5In0.sCm7gaWX_nmIasUyo64tn5FeAqDaxxDn2Kb9Jixk2YI",
  "params":{
    "bid":"did:bid:efNY98KmDLXQFvJuJEtMUvFX3fTEvxVS"
  }
}

(2)返回结果示例:

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

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

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

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

2.5 凭证创建(暂缓开通)

接口说明:

用户通过该接口可以创建凭证,凭证创建完成后,在星火·链网管理平台审核通过后,其他用户可以申请该凭证

请求参数:

字段名 类型 是否必填 描述
userBid String 用户BID(凭证创建人)
name string 凭证名字
industryId Integer 所属行业Id
categoryId Integer 所属分类Id
version string 凭证版本
remark string 凭证备注
data string 元数据和审核数据
userType string 面向用户类型 1-个人,2-企业

返回数据:

字段名 类型 描述
applyNo String 凭证创建申请编号
voucherTemplateBid String 凭证模版BID

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/voucher/create
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJqQ3h0eVJBayIsImlzcyI6IkJJRi1DSEFJTiIsImV4cCI6MTYwOTM4NzkxMiwiYmlkIjoiZGlkOmJpZDplZnozb1RRRzdMWWZLSkVpQ3lNZzU4TjlURGY5dnBXeSJ9.YHAsE6fiuFBISWeS06HpJr-GBfMTDCuekbZ-WTK1BjE",
  "params":{
      "userBid":"",
      "name":"",
      "industryId":"",
      "categoryId":"",
      "version":"",
      "remark":"",
      "data":"",
      "userType":""
	}
}

(2)返回结果示例:

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

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

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

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

2.6 凭证申请(暂缓开通)

接口说明:

用户通过该接口可以申请凭证

请求参数说明:

字段名 类型 是否必填 描述
userBid String 用户BID(凭证申请人)
content String 申请内容(凭证模版生成json数据)
voucherTemplateBid String 凭证模版bid

返回数据:

字段名 类型 描述
applyNo String 申请编号

示例:

(1)请求示例:

http请求方式:POST
https://{url}/v1/bid/voucher/apply
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJqQ3h0eVJBayIsImlzcyI6IkJJRi1DSEFJTiIsImV4cCI6MTYwOTM4NzkxMiwiYmlkIjoiZGlkOmJpZDplZnozb1RRRzdMWWZLSkVpQ3lNZzU4TjlURGY5dnBXeSJ9.YHAsE6fiuFBISWeS06HpJr-GBfMTDCuekbZ-WTK1BjE",
  "params":{
  		"userBid":"",
      "content":"",
      "voucherTemplateBid":""
	}
}

(2)返回结果示例:

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

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

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

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