access_token是MicIoE微物联网络区块链区块链应用开发平台的全局唯一凭据,开发者调用接口时都需要使用access_token。开发者需要将其妥善保存,access_token目前有效期是2个小时,重新获取后会将上次获取的access_token失效。
开发者需要将其妥善保存,access_token目前有效期是2个小时,重新获取后会将上次获取的access_token失效。
http请求方式:post
https://test.api.bubi.cn/oauth2/token?client_id=appId&client_secret=appKey&grant_type=client_credentials
| 参数 | 说明 |
|---|---|
| client_id | 第三方用户唯一凭证,即appId |
| client_secret | 第三方用户唯一凭证秘钥,即appkey |
| grant_type | 获取access_token时需要填写的client_credentials |
{
"access_token":"0d375f84e588559602ff2fac016fe505",
"expires_in":7200
}
| 参数 | 说明 |
|---|---|
| access_token | 获取到的票据 |
| expires_in | 票据的有效期,单位:秒 |
终端用户在使用应用时,需要对应的区块链账户进行相应的操作,此时需要用到区块链账户。终端用户注册涉及的属性,开发者可以自行定义。
http请求方式:post
https://test.api.bubi.cn/account/v1/register?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"user_name":"nan_jiang36",
"password":"qaz123",
"trade_no":"1000009820141203515766",
"metadata":"xxxxxxxx"
}
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| user_name | 账户名 |
| password | 账户密码 |
| trade_no | 凭据号,开发者需要保证其唯一 |
| metadata | 自定义字段 |
成功:
{
"err_code":"0",
"msg":"成功",
"data":
{
"bubi_address":"bubiV8i7c3fM7MPFfjZsP4h1zGLUEix4gXUnX8Ft"
}
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
调用该接口开发者可以修改账户密码,新密码直接更换旧密码。
http请求方式:post
https://test.api.bubi.cn/account/v1/alterPwd?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"user_name":"nan_jiang36",
"new_password":"qaz123",
"trade_no":"1000009820141203515766"
}
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| user_name | 账户名 |
| new_password | 账户新密码 |
| trade_no | 凭据号,开发者需要保证其唯一 |
成功:
{
"err_code":"0",
"msg":"成功",
"data":
{
"bubi_address":"bubiV8i7c3fM7MPFfjZsP4h1zGLUEix4gXUnX8Ft"
}
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过该接口自行发行数字资产。
当开发者发行带有效期的数字资产时,需要设置数字资产明细列表。具体见示例
http请求方式:post
https://test.api.bubi.cn/asset/v1/issue?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"password":"asd123",
"trade_no":"1000009820141203513322",
"asset_issuer":"bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y",
"asset_name":"绿耳朵数字资产",
"asset_unit":"朵",
"asset_amount":"21300",
"body":"test asset",
"metadata":"xxxxx"
}
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| password | 待发行数字资产的账户密码 |
| trade_no | 第三方平台内部的订单号,如:2015121822992 |
| asset_amount | 发行数字资产数量。如 1250分(等价于12.5元) |
| asset_issuer | 数字资产发行商的区块链地址 |
| asset_name | 数字资产名称(带中文,请用utf-8进行编码) |
| asset_unit | 数字资产单位 |
| body | 说明(可选) |
| details | 数字资产明细列表(可选),若填写数字资产明细里的数字资产数量总和必须等于发行数字资产数量,即公式 details.amount[0] +details.amount[2] +... = asset_amount |
| details.amount | 数字资产数量 |
| details.start | 数字资产有效期起始时间,linux时间戳 |
| details.length | 数字资产有效期,(-1 未初始化,0 有效期为永久 ,大于0 有效期单位为秒 ) |
| details.ext | 扩展字段[可选] |
| metadata | 扩展字段[可选] |
成功:
{
"data": {
"asset_amount": 21300,
"asset_code": "7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_issuer": "bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y",
"asset_name": "绿耳朵数字资产",
"asset_unit": "朵",
"bc_hash": "c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d"
},
"err_code": "0",
"msg": "操作成功"
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过该接口自行发行数字资产,MicIoE微物联网络区块链服务器接收到请求数据后会立即响应给开发者结果为”数字资产正在发行”(正在进行区块链数据交互)。交互结果不管成功还是失败,MicIoE微物联网络区块链服务器会主动通知开发者,具体见“MicIoE微物联网络区块链通知接口”。
http请求方式:post
https://test.api.bubi.cn/asset/v1/issueAsync?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"password":"asd123",
"trade_no":"1000009820141203513322",
"asset_issuer":"bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y",
"asset_name":"绿耳朵数字资产",
"asset_unit":"朵",
"asset_amount":"21300",
"body":"test asset",
"metadata":"xxxxx"
}
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| password | 账户密码 |
| trade_no | 第三方平台内部的订单号,如:2015121822992 |
| asset_amount | 发布数字资产数量。如 1250分(等价于12.5元) |
| asset_issuer | 数字资产发行商的区块链地址 |
| asset_name | 数字资产名称(带中文,请用utf-8进行编码) |
| asset_unit | 数字资产单位,请以计量单位最小单位.如 12.5元,就用分为作为单位 |
| body | 说明(可选) |
| details | 数字资产明细列表(可选),若填写数字资产明细里的数字资产数量总和必须等于发行数字资产数量,即公式 details.amount[0] +details.amount[2] = asset_amount |
| details.amount | 数字资产数量 |
| details.start | 数字资产有效期起始时间,linux时间戳 |
| details.length | 数字资产有效期,(-1 未初始化,0 有效期为永久 ,大于0 有效期单位为秒 ) |
| metadata | 扩展字段[可选] |
成功:
{
"data": {
"trade_no": "1000009820141203513322"
},
"err_code": "0",
"msg": "数字资产正在发行"
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过该接口自行追加发行数字资产。
当开发者追加发行带有效期的数字资产时,需要设置数字资产明细列表。具体见示例
http请求方式:post
https://test.api.bubi.cn/asset/v1/add2Issue?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"password":"asd123",
"trade_no":"1000009820141203513322",
"asset_code": "7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_amount":"21300",
"metadata":"xxxxx"
}
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| password | 账户密码 |
| trade_no | 第三方平台内部的订单号,如:2015121822992 |
| asset_amount | 发行数字资产数量。如 1250分(等价于12.5元) |
| asset_code | 待追加数字资产编码 |
| details | 数字资产明细列表(可选),若填写数字资产明细里的数字资产数量总和必须等于发行数字资产数量,即公式 details.amount[0] +details.amount[2] +... = asset_amount |
| details.amount | 数字资产数量 |
| details.start | 数字资产有效期起始时间,linux时间戳 |
| details.length | 数字资产有效期,(-1 未初始化,0 有效期为永久 ,大于0 有效期单位为秒 ) |
| details.ext | 扩展字段[可选] |
| metadata | 扩展字段[可选] |
成功:
{
"data": {
"asset_amount": 21300,
"asset_code": "7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_issuer": "bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y",
"asset_name": "绿耳朵数字资产",
"asset_unit": "朵",
"bc_hash": "c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d"
},
"err_code": "0",
"msg": "操作成功"
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过该接口自行发行数字资产,MicIoE微物联网络区块链服务器接收到请求数据后会立即响应给开发者结果为”数字资产正在发行”(正在进行区块链数据交互)。交互结果不管成功还是失败,MicIoE微物联网络区块链服务器会主动通知开发者,具体见“MicIoE微物联网络区块链通知接口”。
http请求方式:post
https://test.api.bubi.cn/asset/v1/add2IssueAsync?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"password":"asd123",
"trade_no":"1000009820141203513322",
"asset_code": "7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_amount":"21300",
"metadata":"xxxxx"
}
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| password | 账户密码 |
| trade_no | 第三方平台内部的订单号,如:2015121822992 |
| asset_amount | 发布数字资产数量。如 1250分(等价于12.5元) |
| asset_issuer | 数字资产发行商的区块链地址 |
| asset_code | 待追加数字资产编码 |
| details | 数字资产明细列表(可选),若填写数字资产明细里的数字资产数量总和必须等于发行数字资产数量,即公式 details.amount[0] +details.amount[2] = asset_amount |
| details.amount | 数字资产数量 |
| details.start | 数字资产有效期起始时间,linux时间戳 |
| details.length | 数字资产有效期,(-1 未初始化,0 有效期为永久 ,大于0 有效期单位为秒 ) |
| metadata | 扩展字段[可选] |
成功:
{
"data": {
"trade_no": "1000009820141203513322"
},
"err_code": "0",
"msg": "数字资产正在追加发行"
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过本接口来完成数字资产的转移。
http请求方式:post
https://test.api.bubi.cn/asset/v1/send?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"trade_no" : "2015121822911",
"current_string" : "MqUq6TASQju57VcH",
"password" : "abcd100",
"asset_code" : "7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_amount" : "240",
"from_bubi_address" : "bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y",
"to_bubi_address" : "bubiV8iG97JVp7V7XhdAQN4Be8jMxF3giphVeU27",
"metadata" : "xxxxx",
"sign" : "kfB53Q4aSJmDLyKguiP6mG5bee2XmtbTNQ2"
}
| 参数 | 说明 |
|---|---|
| current_string | 随机字符串,不长于32位 |
| sign | 交易签名,见签名算法,涉及到验签参数有current_string、trade_no、asset_code、asset_amount、from_bubi_address和to_bubi_address |
| password | 数字资产转出方的账户密码 |
| body | 数字资产描述或交易摘要,不长于50位(可选项) |
| trade_no | 开发者内部的凭据号,如:2015121822992 |
| asset_unit | 数字资产单位,带中文,请用utf-8进行url编码 |
| asset_code | 数字资产CODE,转出方给转入方转让的数字资产标识(全网唯一) |
| asset_amount | 数字资产转移数量,参数不带小数点 |
| from_bubi_address | 数字资产转出方(该客户的区块链地址) |
| to_bubi_address | 数字资产转入方(该客户的区块链地址) |
| metadata | 扩展字段[可选] |
成功:
{
"err_code":"0",
"msg":"数字资产转移成功",
"data":{
"trade_no":"2015121822911",
"tran_date": "1458888418607",
"bc_hash": "c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d"
}
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过本接口来完成数字资产的异步转移。MicIoE微物联网络区块链服务器接收到请求数据后会立即响应给开发者数字资产正在转移(正在进行区块链数据交互)。交互结果不管成功还是失败,MicIoE微物联网络区块链服务器会主动通知开发者,具体见“MicIoE微物联网络区块链通知接口”。
http请求方式:post
https://test.api.bubi.cn/asset/v1/sendAsync?access_token=ACCESS_TOKEN
post数据格式:json
post数据示例:
{
"current_string": "MqUq6TASQju57VcH",
"password": "abcd100",
"sign": "kfB53Q4aSJmDLyKguiP6mG5bee2XmtbTNQ2",
"trade_no": "2015121822911",
"asset_code": "7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_amount": "10000",
"from_bubi_address": "bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y",
"to_bubi_address": "bubiV8iG97JVp7V7XhdAQN4Be8jMxF3giphVeU27",
"metadata":"xxxxx"
}
| 参数 | 说明 |
|---|---|
| current_string | 随机字符串,不长于32位 |
| sign | 交易签名,见签名算法,涉及到验签参数有current_string、trade_no、asset_code、asset_amount、from_bubi_address和to_bubi_address |
| password | 数字资产转出方的账户密码 |
| body | 数字资产描述或交易摘要,不长于50位(可选项) |
| trade_no | 开发者内部的凭据号,如:2015121822992 |
| asset_name | 数字资产名称,带中文,请用utf-8进行url编码 |
| asset_unit | 数字资产单位,带中文,请用utf-8进行url编码 |
| asset_code | 数字资产CODE,转出方给转入方转让的数字资产标识(全网唯一) |
| asset_amount | 数字资产交易数量,参数不带小数点 |
| from_bubi_address | 数字资产转出方(该客户的区块链地址) |
| to_bubi_address | 数字资产转入方(该客户的区块链地址) |
| metadata | 扩展字段[可选] |
成功:
{
"data": {
"trade_no": "2015121822911"
},
"err_code": "0",
"msg": "数字资产正在转移"
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
开发者可以通过本接口来获取开发者的用户的账户信息。
http请求方式:get
https://test.api.bubi.cn/account/v1/info?bubi_address=bubiV8hyiVJUfp778o5h9MzAKPoLiGpgQ3FoMUDj&access_token=ACCESS_TOKEN
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| bubi_address | 用户唯一bubi_address |
成功:
{
"data": {
"assets": [{
"amount": 23,
"code": "7R3DPR6j5Xe3WviYGZhbTAugvqW5f6UyBULkTG8afZTVogbqkjQSZmGQ7BH8WdPRs5gWuB2nQZ6rCx3xQhM4CZrwJvvEovgGkBry",
"details": [{
"amount": 23,
"ext": "",
"length": -1,
"start": 1452941880
}]
},
{
"amount": 50,
"code": "7R3DPR6j5Xe3WviYGZhbTAugvqW5f6UyBULkTG8afZTVogbqkjQSZmGQ7rpM4Rnb9FFrKgvxS5CcbSrhSbw2ErWxp9eF8SSGTGpP",
"details": [{
"amount": 10,
"ext": "",
"length": 3600,
"start": 1452941880
},
{
"amount": 10,
"ext": "",
"length": 36001,
"start": 1452941880
},
{
"amount": 30,
"ext": "",
"length": -1,
"start": 1452941880
}]
},
{
"amount": 44,
"code": "7R3DPR6j5Xe3WviYGZhbTAugvqW5f6UyBULkTG8afZTVogbqkjQSZmGQ7ji4JSFoKuEWFWGQkDqDkhH821wkYm9dt8GHVg34C3Aj",
"details": [{
"amount": 10,
"ext": "",
"length": 3600,
"start": 1452941880
},
{
"amount": 10,
"ext": "",
"length": 36001,
"start": 1452941880
},
{
"amount": 24,
"ext": "",
"length": -1,
"start": 1452941880
}]
},
{
"amount": 45,
"code": "7R3DPR6j5Xe3WviYGZhbTAugvqW5f6UyBULkTG8afZTVogbqkjQSZmGQ7ji4JSFoKuEWFWGQkDqDkhH821wkYm9dt8GHVg34C3Aj",
"details": [{
"amount": 10,
"ext": "",
"length": 3600,
"start": 1452941880
},
{
"amount": 10,
"ext": "",
"length": 36001,
"start": 1452941880
},
{
"amount": 25,
"ext": "",
"length": -1,
"start": 1452941880
}]
},
{
"amount": 20,
"code": "7R3DPR6j5Xe3WviYGZhbTAugvqW5f6UyBULkTG8afZTVogbqkjQSZmGQ7f64y5GpEkaNhavVCPqUaZEXT6pWxrgvcsXwqfgnLoZ5",
"details": [{
"amount": 10,
"ext": "",
"length": 3600,
"start": 1452941880
},
{
"amount": 10,
"ext": "",
"length": 36001,
"start": 1452941880
}]
}],
"bubi_address": "bubiV8hyiVJUfp778o5h9MzAKPoLiGpgQ3FoMUDj",
"last_close_time":1453531750
},
"err_code": "0",
"msg": "操作成功"
}
失败:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
| 参数 | 说明 |
|---|---|
| data.assets.amount | 当前拥有数字资产数量 |
| data.assets.code | 数字资产code,即所拥有的数字资产 |
开发者可以通过本接口来获取开发者的用户的交易信息。
http请求方式:get
https://test.api.bubi.cn/account/v1/transaction?bubi_address=bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt&access_token=ACCESS_TOKEN
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| bubi_address | 用户唯一bubi_address |
成功:
{
"data": {
"transactions": [{
"operations": [{
"asset_amount": 100,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLEDhYboogkoCytqHAJkhNowEzL4RcE55mGnavseecq4C",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"type": 2
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
},
{
"operations": [{
"asset_amount": 21300,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYHGPbCapD8CHWG34mi9DGbBM5eb6MGd63EhYoAdp1bS25",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"type": 2
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
},
{
"operations": [{
"asset_amount": 2,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLNmhhJ3D133GX87zcUVkPn66QRe925dB5h7bs1Ac3dmG",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"dest_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"type": 1
}],
"source_address": "bubiV8hxgMwwnRWpEVhLL5dgEemk2kzox6ym7wHy"
},
{
"operations": [{
"asset_amount": 50,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLNmhhJ3D133GX87zcUVkPn66QRe925dB5h7bs1Ac3dmG",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"dest_address": "bubiV8hxgMwwnRWpEVhLL5dgEemk2kzox6ym7wHy",
"type": 1
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
},
{
"operations": [{
"asset_amount": 2,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLNmhhJ3D133GX87zcUVkPn66QRe925dB5h7bs1Ac3dmG",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"dest_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"type": 1
}],
"source_address": "bubiV8hxgMwwnRWpEVhLL5dgEemk2kzox6ym7wHy"
},
{
"operations": [{
"asset_amount": 100,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLALUECFJLPpdwqJyLR1q9FrdBXiCASrTNDdiN5tsWe1i",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"type": 2
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
},
{
"operations": [{
"asset_amount": 2,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLNmhhJ3D133GX87zcUVkPn66QRe925dB5h7bs1Ac3dmG",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"dest_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"type": 1
}],
"source_address": "bubiV8hxgMwwnRWpEVhLL5dgEemk2kzox6ym7wHy"
},
{
"operations": [{
"asset_amount": 100,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLNmhhJ3D133GX87zcUVkPn66QRe925dB5h7bs1Ac3dmG",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"type": 2
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
},
{
"operations": [{
"dest_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"type": 0
}],
"source_address": "bubiV8htfYzN1kaou67Sahzx65fYdSXwgYCtuFaP"
},
{
"operations": [{
"asset_amount": 2,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYLNmhhJ3D133GX87zcUVkPn66QRe925dB5h7bs1Ac3dmG",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"dest_address": "bubiV8hxgMwwnRWpEVhLL5dgEemk2kzox6ym7wHy",
"type": 1
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
},
{
"operations": [{
"asset_amount": 1200,
"asset_code": "7R3DPR6j5XdGghEbK8d8vScvw4MHjfKb4rGHVUFwf3h3SVD2iYVyfmzYH8iLAZYMUS12MoYcvwVpxErzC15rAs2sAHUU296ra5Hr",
"asset_issuer": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt",
"asset_type": 1,
"type": 2
}],
"source_address": "bubiV8hwmNvQ7M4VsQ7FMNM1WGiQv7RTA4GDzQbt"
}]
},
"err_code": "0",
"msg": "操作成功"
}
| 参数 | 说明 |
|---|---|
| data.transactions.operations.dest_address | 数字资产流动目标地址 |
| data.transactions.operations.type | 操作类型:0 创建用户 1 数字资产转移 2 发行数字资产 5 数字资产发放 |
| data.transactions.source_address | 数字资产流动源地址 |
| data.transactions.operations.amount | 数字资产交易数量 |
| Data.transactions.operations.property.code | 数字资产code,交易的数字资产 |
| Data.transactions.operations.property.issuer | 数字资产的发行商区块链地址 |
当开发者调用MicIoE微物联网络区块链提供的数字资产发行、数字资产发放、数字资产转移异步接口后,不管最终成功或失败,MicIoE微物联网络区块链都会向开发者发出通知,告知执行结果。开发者收到通知后,请以通知类型(notice_type)区分各自业务逻辑的处理。无论接收到的结果如何,只要开发者收到该请求,请返回ok字符串(不含其它字符,如双引号),否则MicIoE微物联网络区块链将进行重复通知,直到开发者收到或者重复5次。
http请求方式:get
数据示例:
异步数字资产发行:
asset_amount=10000&asset_code=7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn&asset_issuer=bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y¤t_string=MqUq6TASQju57VcH&err_code=0&msg=数字资产发行成功¬ify_type=0&bc_hash=c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d&issue_date=1458888418607&sgin=b7086ab0a42a33de6093c545cfbb4aa0&trade_no=201601141221
异步数字资产转移:
current_string=MqUq6TASQju57VcH&err_code=0&msg=数字资产转移成功¬ify_type=1&bc_hash=c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d&tran_date=1458888418607&sgin=0adc527707990c71e5faf09b60f38dcf&trade_no=201601141223
异步数字资产追加发行:
current_string=MqUq6TASQju57VcH&err_code=0&msg=数字资产追加发行成功¬ify_type=3&bc_hash=c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d&issue_date=1458888418607&sgin=3552349bc445db3a9ed55bc1ae5c3eaf&trade_no=201601141225
| 参数 | 说明 |
|---|---|
| notify_type | 通知类型,0 数字资产发行 1 数字资产转移 3,数字资产追加发行 |
| err_code | 0 成功 非零具体见错误码 |
| sign | 签名,见签名算法 |
| msg | 通知消息 |
| bc_hash | 区块链hash |
开发者服务器端收到通知并处理完成后,请返回纯文本的 ok 字符串,两边不带空格,忽略大小写,MicIoE微物联网络区块链在验证到响应为 ok 后会标记通知成功。
如果响应为非 ok 字符串,MicIoE微物联网络区块链会最多重试 5 次通知。 通知时间间隔为:15秒,30秒,1分钟,2分钟
MicIoE微物联网络区块链提供账户注册状态查询功能,以便开发者在不确定账户注册执行状态的情况下,通过主动查询来确认账户注册的状态。
http请求方式:get
https://test.api.bubi.cn/status/account/v1/register?trade_no=1000009820141203515766&access_token=ACCESS_TOKEN
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| trade_no | 凭据号:开发者需要保证其唯一 |
{
"err_code":"0",
"msg":"成功",
"data":
{
"bubi_address":"bubiV8hwYmkBgcQjeEqus685iZeACmHm6R9GBBVo"
}
}
或:
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
或:
{
"err_code":"20009",
"msg":"处理中"
}
MicIoE微物联网络区块链提供数字资产发行状态查询功能,以便开发者在不确定数字资产发行执行状态的情况下,通过主动查询来确认数字资产发行的状态。
http请求方式:get
https://test.api.bubi.cn/status/asset/v1/issue?trade_no=1000009820141203515766&access_token=ACCESS_TOKEN
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| trade_no | 凭据号:开发者需要保证其唯一 |
{
"err_code":"0",
"msg":"数字资产发行成功",
"data":
{
"asset_name":"MicIoE微物联网络区块链股权第一期",
"asset_issuer":"bubiV8iAvbAN319uVJPm2qrxdJNgXSdFSiyQoQ4Y", "asset_code":"7R3DPR6j5YyxrcXa7QsUJckNDeMyR26MtZVnbN6d4kCkfNejKczfT4j8adeJThRLcbBxPbGVuY5RNKqWSBcUFATW7smWuZzRfDUn",
"asset_unit":"股",
"asset_amount":10000,
"issue_date": "1458888418607",
"bc_hash":"c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d"
}
}
或
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
或
{
"err_code":"20009",
"msg":"处理中"
}
MicIoE微物联网络区块链提供数字资产转移状态查询功能,以便开发者在不确定数字资产转移执行状态的情况下,通过主动查询来确认数字资产转移的状态。
http请求方式:get
https://test.api.bubi.cn/status/asset/v1/send?trade_no=1000009820141203515766&access_token=ACCESS_TOKEN
| 参数 | 说明 |
|---|---|
| access_token | 调用接口凭证 |
| trade_no | 凭据号:开发者需要保证其唯一 |
{
"err_code":"0",
"msg":"数字资产转移成功",
"data":{
"trade_no":"1000009820141203515766",
"tran_date": "1458888418607",
"bc_hash":"c44c595ce0a77d6a1f22a942ac397cc1cdc1edd654be56286a66af8364713b7d"
}
}
或
{
"err_code":"20000",
"msg":"AccessToken 已过期"
}
或
{
"err_code":"20009",
"msg":"处理中"
}
| 参数 | 说明 |
|---|---|
| 10000 | 系统异常 |
| 20000 | AccessToken 已过期 |
| 20001 | 开发者回调uri地址为空 |
| 20002 | 开发者ID授权存在异常 |
| 20003 | 开发者ID 不存在 |
| 20004 | 请求参数非法 |
| 20005 | 参数格式非法 |
| 20006 | 解析参数出现异常 |
| 20007 | 签名不能为空 |
| 20008 | 应用不存在或已下架 |
| 20009 | 处理中 |
| 20010 | AppId不存在或已删除 |
| 20011 | 应用未授权 |
| 20012 | 应用权限被锁定 |
| 20013 | AppKey不存在或已删除 |
| 20014 | appID和appKey不匹配 |
| 20015 | 授权码不存在或已过期 |
| 20016 | 请求参数非法,数字资产发行凭据号不能为空 |
| 20017 | 操作异常,原因可能是重复提交 |
| 20018 | 授权码长度必须是%d |
| 20019 | MicIoE微物联网络区块链ID长度必须是%d |
| 20020 | 回调地址长度不能大于%d |
| 20021 | 凭据号长度不能大于%d |
| 21100 | 请输入用户名 |
| 21101 | 请输入MicIoE微物联网络区块链账户密码 |
| 21102 | 用户名不存在 |
| 21103 | 用户名与密码不匹配 |
| 21104 | 用户名长度不能大于%d |
| 21105 | 密码长度不能大于%d |
| 21106 | 账号凭据号已存在 |
| 21107 | 账号凭据号为空 |
| 21108 | 支付密码长度必须是%d |
| 21109 | 账号凭据号不存在 |
| 21110 | 写入区块链失败 |
| 21200 | 数字资产发行凭据号不能为空 |
| 21201 | 发行商MicIoE微物联网络区块链ID不能为空 |
| 21202 | 数字资产名称不能为空 |
| 21203 | 数字资产单位不能为空 |
| 21204 | 数字资产发行数量不能为空 |
| 21205 | 数字资产发行数量必须是整数 |
| 21206 | 数字资产发行商MicIoE微物联网络区块链ID不存在 |
| 21207 | 数字资产发行凭据号已被使用 |
| 21208 | 数字资产凭据号长度不能大于%d |
| 21209 | 数字资产发行商MicIoE微物联网络区块链ID长度必须是%d |
| 21210 | 数字资产名称长度不能大于%d |
| 21211 | 数字资产单位长度不能大于%d |
| 21212 | 数字资产数量长度不能大于%d |
| 21213 | 数字资产数量不能大于%d |
| 21214 | 数字资产代码长度必须是%d |
| 21215 | 数字资产代码格式错误 |
| 21216 | 数字资产凭据号不存在 |
| 21217 | 数字资产发布失败 |
| 21300 | 随机字符串不能为空 |
| 21301 | 随机字符串长度不能大于%d |
| 21302 | 数字资产描述或交易摘要不能不长于%d |
| 21303 | 数字资产转移凭据号不能为空 |
| 21304 | 数字资产名称不能为空 |
| 21305 | 数字资产单位不能为空 |
| 21306 | 数字资产代码不能为空 |
| 21307 | 数字资产转移数量不能为空 |
| 21308 | 数字资产转出方MicIoE微物联网络区块链ID不能为空 |
| 21309 | 数字资产转入方MicIoE微物联网络区块链ID不能为空 |
| 21310 | 数字资产转移签名验证失败 |
| 21311 | 数字资产转出方不存在 |
| 21312 | 数字资产转出方账户出现异常 |
| 21313 | 数字资产转入方不存在 |
| 21314 | 数字资产转入方账户出现异常 |
| 21315 | 待转移数字资产不存在 |
| 21316 | 待数字资产转移数量必须是整数 |
| 21317 | 数字资产转出方MicIoE微物联网络区块链ID长度必须是%d |
| 21318 | 数字资产转入方MicIoE微物联网络区块链ID长度必须是%d |
| 21319 | 签名长度必须是%d |
| 21320 | 数字资产转移凭据号已存在 |
| 21321 | 数字资产转移凭据号不存在 |
| 21322 | 数字资产转移失败 |
| 21400 | 请输入用户名 |
| 21401 | 请设置账户密码 |
| 21402 | 请设置支付密码 |
| 21403 | 用户名已存在 |
| 21404 | 开发者ID存在异常 |
| 21405 | 用户名长度最少2个字符,最多2个字符 |
| 21406 | 账户密码长度最少8个字符,最多25个字符 |
| 21407 | 账户密码只能由数字+字母组成(存在其他字符) |
| 21408 | 账户密码需由数字+字母组成(全数字或全字母) |
| 21409 | 支付密码长度只能是6位 |
| 21500 | 请输入账户支付密码 |
| 21501 | 支付密码错误 |
| 21502 | 发行数字资产数量不能大于%d |
| 21600 | 获取账户信息MicIoE微物联网络区块链ID不能为空 |
| 21601 | 账户信息不存在 |
| 21700 | 数字资产发行凭据号不能为空 |
| 21701 | 数字资产转出方账户密码不能为空 |
| 21702 | 数字资产发行方不能为空 |
| 21703 | 数字资产名称不能为空 |
| 21704 | 数字资产单位不能为空 |
| 21705 | 待数字资产转移数量必须是正整数 |
| 21707 | 数字资产转出者MicIoE微物联网络区块链ID不能为空 |
| 21708 | 发行者账户密码验证失败,账户及密码不匹配 |
| 21709 | 此接口只针对安全级别低的账户开放 |
| 21710 | 此接口只针对安全级别高的账户开放 |
| 21800 | 数字资产转移签名所需随机字符串不能为空 |
| 21801 | 数字资产转移签名所需随机字符串长度不能大于%d |
| 21802 | 数字资产转出方账户密码不能为空 |
| 21803 | 数字资产描述或摘要长度不能大于%d |
| 21804 | 数字资产转移凭据号不能为空 |
| 21805 | 待转移数字资产名称不能为空 |
| 21806 | 待转移数字资产单位不能为空 |
| 21807 | 待转移数字资产代码不能为空 |
| 21808 | 待转移数字资产数量不能为空 |
| 21809 | 待转移数字资产数量必须是正整数 |
| 21810 | 待数字资产转出方MicIoE微物联网络区块链ID不能为空 |
| 21811 | 待数字资产转入方MicIoE微物联网络区块链ID不能为空 |
| 21812 | 待转移数字资产sign不能为空 |
| 21813 | 开发者ID出现异常 |
| 21814 | 待转移数字资产签名验证失败 |
| 21815 | 数字资产转出方账户出现异常 |
| 21816 | 转出方必须通过手动输入支付密码进行确认数字资产转移 |
| 21817 | 数字资产转出方账户与密码不匹配 |
| 21818 | 数字资产转入方账户不存在 |
| 21819 | 数字资产转入方账户出现异常 |
| 21820 | 待转移数字资产不存在 |
签名生成的通用步骤如下:
数字资产转移传送的参数如下:
| 键 | 值 |
|---|---|
| current_string | MqUq6TASQju57VcH |
| trade_no | 2015121822911 |
| asset_code | a811d986d4a60535bbee2af87d3b9772 |
| asset_amount | 10000 |
| from_bubi_address | bubiV8hyQKo56DSqJmXVQXHXmtbTNQWRnAy4ZwSZ |
| to_bubi_address | bubiV8hxkfB53Q4aSJmDLyKguiP6mG5NrPQhTxF7 |
stringA=”asset_amount=10000&asset_code=a811d986d4a60535bbee2af87d3b9772¤t_string=MqUq6TASQju57VcH&from_bubi_address=bubiV8hyQKo56DSqJmXVQXHXmtbTNQWRnAy4ZwSZ&to_bubi_address=bubiV8hxkfB53Q4aSJmDLyKguiP6mG5NrPQhTxF7&trade_no=2015121822911”;
tempSignStr = “stringA&key=73869d83e9b3fac6ec3b37c3b2ec5f15”
sign = MD5(tempSignStr ).toLowerCase();
asset_amount=10000&asset_code=a811d986d4a60535bbee2af87d3b9772¤t_string=MqUq6TASQju57VcH&from_bubi_address=bubiV8hyQKo56DSqJmXVQXHXmtbTNQWRnAy4ZwSZ&to_bubi_address=bubiV8hxkfB53Q4aSJmDLyKguiP6mG5NrPQhTxF7&trade_no=2015121822911&sign=3c0f30b6175edf3c972f189da1fd6926