授予资产碎片
更新时间:2022-07-14
授予资产碎片
接口描述
- 本接口用于资产发行者将数字资产的一个碎片授予给指定账户。
- 本接口是收费接口,调用消耗次数
- 需要创造该资产账户私钥对 asset_id和nonce 签名。
- 注意shard_id可以由调用方设置,需要调用方确保单asset_id下shard_id唯一,可以使用有序编号,也可以使用随机数。需要调用方业务系统控制不超发和少发,可以在下单等纪录中分配shard_id和业务对应纪录做唯一绑定。
- 注意资产amount小于1或者大于20w(库存太大,严格控制库存意义有限),会被当做无限授予处理,不做库存控制,大于20w时业务注意自行管理授予库存。
- 资产amount大于0且小于20w时,会有库存控制,不允许超过amount值授予,业务需要注意正确调用grant接口,否则会导致库存浪费无法授予,建议业务严格按amount份数分配shard_id,为每个订单绑定shard_id。有失败的情况时,重试使用原来的shard_id重试,更换shard_id会导致原库存浪费。
请求结构
JSON
1POST /xasset/horae/v1/grant HTTP/1.1
2Host: xuper.baidu.com
3Authorization: Authorization string
4Content-Type: application/x-www-form-urlencoded;charset=utf-8
5
6asset_id={asset_id}
7&shard_id={shard_id}
8&price={price}
9&addr={address}
10&sign={sign}
11&pkey={pkey}
12&nonce={nonce}
13&to_userid={user_id}
14&to_addr={to_addr}
请求头域
- 除公共头域外,无其它特殊头域。
请求参数
参数名 | 参数类型 | 是否可选 | 参数说明 |
---|---|---|---|
asset_id | int64 | 必选 | 对应的资产id |
shard_id | int64 | 必选 | 资产碎片id,需要确保asset下唯一,可以使用有序编号,也可以使用随机整数,默认使用sdk提供GenRandId方法生成 |
addr | string | 必选 | 创建资产账户地址 |
sign | string | 必选 | 创建资产账户私钥签名私钥签名内容msg = Sprintf(“%d%d”, asset_id, nonce),sign = XassetSignECDSA(account, msg) |
pkey | string | 必选 | 创建资产账户公钥 |
nonce | int64 | 必选 | 随机数 |
price | int64 | 可选 | 藏品实际售卖价格,单位为分,默认0 |
to_addr | string | 必选 | 资产接收者账户地址 |
to_userid | int64 | 可选 | 资产接收者用户id,建议填写关联 |
响应头域
- 除公共头域外,无其它特殊头域。
响应参数
参数名 | 参数类型 | 参数说明 |
---|---|---|
shard_id | int64 | 碎片id |
asset_id | int64 | 资产id |
请求示例
JSON
1Post xasset/horae/v1/grant
2Host: xuper.baidu.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2022-04-18T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5asset_id=1332322111211
6&shard_id=10
7&price=100
8&addr=bFKZMPVBtUPb1bdoXzWwKX1jaSy9omMjR
9&pubKey={"Curvname":"P-256","X":99992390283545488142355111780630053962942114118238766864067722901319912547387,"Y":62636249704255210574823120529280656364753347818712821209439354501575504249596}
10&sign=B014EDF86B6DEE29E167E9D9ED9C5832
11&nonce=8856422235281354998
12&to_userid=123
13&to_addr=akdul2kjl54435jlk345
响应示例
JSON
1HTTP/1.1 200 OK
2Content-Type: application/json;charset=UTF-8
3Date: Wed, 18 Apr 2022 03:28:11 GMT
4X-Trace-Id: "1182282645"
5 {
6 "errno": 0,
7 "request_id": "1182282645",
8 "asset_id": 123456,
9 "shard_id": 7890123
10}