Skip to content
本页目录

chainMint ​

介绍 ​

chainMint 是链上聚合Api,可通过Api接入BSN、文昌链、中艺链、蚂蚁链、Ploygon、以太链等链,在Api接入之前,在chainID平台 注册开发者帐号,并创建应用,并获得相应的 AppID 和 AppSecret,可开始接入流程。

核心功能 ​

功能命令说明
创建链账户区块链上的账户地址
创建类别NFT类别、在区块链上是唯一的,用于NFT资产的管理和识别。
发行NFTNFT是链上唯一的的资产,用户可通过API自行铸造NFT
转增NFT可以将NFT转移给任何一个由chainMint创建的链账户地址
销毁NFT可以销毁链账户地址中拥有的NFT
查询NFT查询NFT详情

链列表 ​

名称链code
中艺链artchain
Polygonpolygon
文昌链wencang

快速接入 ​

  1. 认证开发者
  2. 创建应用获得相应的 AppID 和 AppSecret并保存调用Api服务
  3. 在应用管理列表开通链的Api权限
  4. 资金账户充值 在能量管理界面进行资金账户充值
  5. 创建链账户,请求API接口与区块链进行交互

生产环境API ​

http
https://api-chain.allpayment.cn
https://api-chain.allpayment.cn

协议规则 ​

  • 传输方式:采用HTTP传输(生产环境建议HTTPS)
  • 提交方式:采用POST/GET方式提交 Json
  • 字符编码:UTF-8
  • 签名算法:MD5

签名算法 ​

第一步:设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。 特别注意以下重要规则:

  1. 参数名ASCII码从小到大排序(字典序);
  2. 如果参数的值为空不参与签名;
  3. 参数名区分大小写;
  4. 验证调用返回或chainMint主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。
  5. chainMint接口可能增加字段,验证签名时必须支持增加的扩展字段

第二步:在stringA最后拼接上key即 StringA + "&key=" + app私钥 得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

  • 公共请求参数说明
参数必填说明
appId是Appid
signType是md5
reqTime是请求时间(毫秒)
sign是签名
version是版本(固定填写 1.0)

创建链账户 ​

  • 请求 POST
http
api/chain/account/create
api/chain/account/create

参数说明

参数必填说明
chainCode是链code
operationId是操作id
  • 响应
json
{
  "code": 0,
  "data": {
    "address": "0x99d353178ae2df8855d04026c4e8cb80cc395512"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "address": "0x99d353178ae2df8855d04026c4e8cb80cc395512"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
address是链地址

错误返回样例:

json
{
  "code": 10,
  "msg": "系统异常[未开通链]"
}
{
  "code": 10,
  "msg": "系统异常[未开通链]"
}

创建类别(合约) ​

  • 请求 POST ​

http
api/chain/contract/create
api/chain/contract/create

参数说明

参数必填说明
chainCode是链code
operationId是操作id
name是类别名称
symbol是标识
  • 响应
json
{
  "code": 0,
  "data": {
    "contractAddress": "0xa7c827886cda646dd43e8cc6ec05cffc8ffa8b35",
    "name": "ytt",
    "symbol": "tty"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "contractAddress": "0xa7c827886cda646dd43e8cc6ec05cffc8ffa8b35",
    "name": "ytt",
    "symbol": "tty"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
contractAddress是类别ID
name是名称
symbol是列表

发行 NFT ​

  • 请求 POST ​

http
api/chain/nft/mint
api/chain/nft/mint

参数说明

参数必填说明
chainCode是链code
operationId是操作id
recipient是接受者地址
classId是类别ID
metaData是元数据 json
  • metaData
json
{
  "name": "nft名称",
  "image": "http://dummyimage.com/400x400",
  "description": "nft介绍"
}
{
  "name": "nft名称",
  "image": "http://dummyimage.com/400x400",
  "description": "nft介绍"
}
  • 响应
json
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
operationId是操作id

转增 NFT ​

  • 请求 POST ​

http
api/chain/nft/transfer
api/chain/nft/transfer

参数说明

参数必填说明
chainCode是链code
operationId是操作id
tokenId是tokenID
owner是拥有者地址
recipient是接受者地址
classId是类别ID
  • 响应
json
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
operationId是操作id

销毁 NFT ​

  • 请求 POST ​

http
api/chain/nft/burn
api/chain/nft/burn

参数说明

参数必填说明
chainCode是链code
operationId是操作id
tokenId是tokenID
owner是拥有者地址
classId是类别ID
  • 响应
json
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
operationId是操作id

转增 NFT ​

  • 请求 POST ​

http
api/chain/nft/transfer
api/chain/nft/transfer

参数说明

参数必填说明
chainCode是链code
operationId是操作id
tokenId是tokenID
owner是拥有者地址
recipient是接受者地址
classId是类别ID
  • 响应
json
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "operationId": "0147421065"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
operationId是操作id

查询交易详情 ​

  • 请求 POST ​

http
api/chain/task/info
api/chain/task/info

参数说明

参数必填说明
chainCode是链code
operationId是操作id
  • 响应
json
{
  "code": 0,
  "data": {
    "appId": "6459fcf959fe8d644beace51",
    "chainCode": "artchain",
    "operationId": "0657524243",
    "status": 1,
    "tokenId": "638508474",
    "txHash": "0xe060f105faf3f6c5d579678bed04aa0c33439bfb809af7048babe599ac14e39d",
    "type": "nftMint"
  },
  "msg": "SUCCESS"
}
{
  "code": 0,
  "data": {
    "appId": "6459fcf959fe8d644beace51",
    "chainCode": "artchain",
    "operationId": "0657524243",
    "status": 1,
    "tokenId": "638508474",
    "txHash": "0xe060f105faf3f6c5d579678bed04aa0c33439bfb809af7048babe599ac14e39d",
    "type": "nftMint"
  },
  "msg": "SUCCESS"
}

参数说明

参数必填说明
chainCode是链code
status是状态 0处理中 1成功 2失败
tokenId是tokenId
txHash是交易HASH
type是操作类型

Released under the MIT License.