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": "系统内部错误"
}