API接口加签规则

  1. 登录安链云网站

  2. 创建应用

在左侧菜单栏中选择 应用与密钥管理

api-main.png

点击 创建应用

api-create.png

选择“BAAS平台API服务”,创建应用

api-create-dialog.png

应用创建成功,获取${API_Key}${Secret_Key}

api-create-key.png

  1. 获取${access_token}

    • 调用API接口 https://oauth.anlink.com/oauth/token?client_id=${API_Key}&client_secret=${Secret_Key}&grant_type=client_credentials

    • 获取返回值${access_token},有效期为12小时

  2. API接口加签

  3. 在调用任意API接口的时候,需要在地址后加上 ?token=${access_token},例如: https://api.anlink.com/baas/chain/queryChainList?token=12345678-abcd-1234-abcd-123456789abc

API接口列表

1.查询链ID列表

API地址:https://api.anlink.com/baas/chain/queryDeployedChainIdList

Method:GET

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回创建成功的链账户信息,示例 "result": {"address": "0xc5ce24adc98d7e5997e4cc5cf22c5b5a08350a49"}

2.创建链账户

API地址:https://api.anlink.com/baas/account/create

Method:GET

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回创建成功的链账户信息,示例 "result": {"address": "0xc5ce24adc98d7e5997e4cc5cf22c5b5a08350a49"} 返回值描述:
address 链账户地址

3.链上部署合约

API地址:https://api.anlink.com/baas/${chainId}/contract/create

Method:POST

Request Body:

字段名称 类型 必填(Y/N) 备注
address String Y 链账户地址
code String Y 合约二进制码
abiDefinition String Y 合约ABI序列化字符串

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回部署成功的合约信息,示例:"result": {"contract": "0x99edb7c4ae989c9bea6dca4d863636bffe3512e9","tx": "37fdd017ce0ccaf80296a91c4019c7ae8638bb31"}返回值描述:contract 合约地址,tx:部署合约的交易哈希值

4.链上调用合约(同步读)

API地址:https://api.anlink.com/baas/${chainId}/contract/read

Method:POST

Request Body:

字段名称 类型 必填(Y/N) 备注
address String Y 链账户地址
contract String Y 合约地址
params JsonArray N 调用参数
method String Y 调用方法
abiDefinition String Y 合约ABI序列化字符串

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回同步读合约结果

5.链上调用合约(同步写)

API地址:https://api.anlink.com/baas/${chainId}/contract/call

Method:POST

Content-Type:application/json

Request Body:

字段名称 类型 必填(Y/N) 备注
address String Y 链账户地址
contract String Y 合约地址
params JsonArray N 调用参数
method String Y 调用方法
abiDefinition String Y 合约ABI序列化字符串

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回同步写合约的交易哈希值,示例:"result": "f774278741fbc1230380f9c4a57558204cbffaaf"

6.链上调用合约(异步写)

API地址:https://api.anlink.com/baas/${chainId}/contract/callAsync

Method:POST

Content-Type:application/json

Request Body:

字段名称 类型 必填(Y/N) 备注
address String Y 链账户地址
contract String Y 合约地址
params JsonArray N 调用参数
method String Y 调用方法
abiDefinition String Y 合约ABI序列化字符串
callbackUrl String Y 回调地址

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回异步写合约的交易哈希值,示例:"result": "a7dc34072e0d59ccd6ac77645ca150cb56f17309"

7.链上调用合约(批量同步写)

API地址::https://api.anlink.com/baas/${chainId}/contract/batchCall

Method:POST

Content-Type:application/json

Request Body:

字段名称 类型 必填(Y/N) 备注
address String Y 链账户地址
contract String Y 合约地址
params JsonArray N 调用参数
method String Y 调用方法
abiDefinition String Y 合约ABI序列化字符串

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回批量同步写合约的交易哈希值列表,示例:"result":["b6ef066b161eb0527c63835e2befaaacac67dc3d", "784716704db904315dfa403f6b49fec095d168e5"]

8.链上调用合约(批量异步写)

API地址::https://api.anlink.com/baas/${chainId}/contract/batchCallAsync

Method:POST

Content-Type:application/json

Request Body:

字段名称 类型 必填(Y/N) 备注
address String Y 链账户地址
contract String Y 合约地址
params JsonArray N 调用参数
method String Y 调用方法
abiDefinition String Y 合约ABI序列化字符串
callbackUrl String Y 回调地址

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回批量异步写合约的交易哈希值列表,示例:"result":["7fa5794cfa043440bde047f738b9fbd43ad08207","4790bd00201de95abd94c8ddea69262cd77ace77"

9.链上查询交易结果

API地址:https://api.anlink.com/baas/${chainId}/contract/query/${txHash}

Method:POST

Content-Type:application/json

Response Body:

字段名称 类型 备注
success Boolean 调用API接口是否成功,true为成功,false为失败
errorCode String 若调用失败,返回错误代码
errorMsg String 若调用失败,返回错误信息
result JsonObject 若调用成功,返回交易哈希结果,示例:"result": {"code": 1,"desc": "正常处理中"}返回值描述:code 交易结果代码,范围1~4,desc 交易结果描述,包括:“正常处理中”,对应code为1,“交易成功”,对应code为2,“交易失败”,对应code为3,“交易不存在”,对应code为4