@zhenxi
2017-11-17T13:39:06.000000Z
字数 16867
阅读 2752
Asch
下面这些是每个Dapp都有的通用(默认)api,由asch-sandbox提供支持。
接口地址:/api/dapps/dappID/blocks/height
请求方式:GET
支持格式:urlencode
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
height | integer | dapp区块高度 |
请求示例:
curl -k -H "Content-Type: application/json" -X GET http://localhost:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/blocks/height && echo
JSON返回示例:
{
height: 10,
success: true
}
接口地址:/api/dapps/dappID/blocks
请求方式:GET
支持格式:urlencode
接口说明:不加参数则获取全网区块详情
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
limit | integer | N | 限制结果集个数,最小值:0,最大值:100 |
orderBy | string | N | 根据表中字段排序,如height:desc |
offset | integer | N | 偏移量,最小值0 |
generatorPublicKey | string | N | 区块生成者公钥 |
totalAmount | integer | N | 交易总额,最小值:0,最大值:10000000000000000 |
totalFee | integer | N | 手续费总额,最小值:0,最大值:10000000000000000 |
previousBlock | string | N | 上一个区块 |
height | integer | N | 区块高度 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
count | integer | 符合条件的总结果数目 |
blocks | Array | 每个元素是一个block对象,对象里面包含block的id、height、产块受托人公钥等信息 |
请求示例:
curl -k -H "Content-Type: application/json" -X GET http://localhost:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/blocks?limit=1 && echo
JSON返回示例:
{
blocks: [{
id: "451dd17f273ea5fbd240238178c1343b11031a1d309ee8b29e8b1a5838473ec6",
timestamp: 0,
height: 1,
payloadLength: 103,
payloadHash: "995f4749e1924af55f1cdefd202efd0b37b2aa70553982378c037bc6015d5634",
prevBlockId: "",
pointId: "",
pointHeight: 0,
delegate: "8065a105c785a08757727fded3a06f8f312e73ad40f1f3502e0232ea42e67efd",
signature: "b1d0171494ce6c0621902c6005f7a85e15f3509a68ac6106b166abf711ced73efaeaf1eae0cdf594143854e27b417b253485cf98b3cc9f7aa967a929b717020b",
count: 1
}],
count: 133,
success: true
}
接口地址:/api/dapps/dappID/accounts/:address
请求方式:GET
支持格式:urlencode
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
address | string | Y | asch地址 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
account | 字典 | 账户详情,包含dapp内该账户拥有的所有资产及余额,是否受托人,额外信息 |
请求示例:
curl -k -H "Content-Type: application/json" -X GET http://192.168.2.115:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/accounts/ANH2RUADqXs6HPbPEZXv4qM8DZfoj4Ry3M && echo
JSON返回示例:
{
account: {
balances: [{
currency: "XAS", // dapp该账户拥有xas(通过自行充值或者他人dapp内转账获得)
balance: "10000000000" // 100XAS
}],
extra: null,
isDelegate: false // 是否受托人:否
},
success: true
}
http接口又分为signed和unsigned,他们的区别是交易在本地还是服务端签名,后者需要将密码通过http传输给服务器进行签名。
/peer相关的api,在请求时都需要设置一个header
asch系统的所有写操作都是通过发起一个交易来完成的。
交易数据通过一个叫做asch-js的库来创建,然后再通过一个POST接口发布出去。
POST接口规格如下:
事项 | 说明 |
---|---|
接口地址 | /peer/transactions |
payload | asch-js创建出来的交易数据 |
请求方式 | post/put等 |
支持格式 | json |
接口地址:/peer/transactions
请求方式:POST
支持格式:json
备注:充值时在主链发生type=6的交易(intransfer),dapp内部会自动调用编号为1的智能合约进行dapp内部充值
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
transaction | json | Y | aschJS.transfer.createInTransfer生成的交易数据 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 交易id |
请求示例:
var aschJS = require('asch-js');
var dappid = "bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024";
var currency = "XAS";
var amount = 10*100000000 ;
var secret = "found knife gather faith wrestle private various fame cover response security predict";
var secondSecret = "";
var transaction = aschJS.transfer.createInTransfer(dappid, currency, amount, secret, secondSecret || undefined);
console.log(JSON.stringify(transaction));
{"type":6,"amount":1000000000,"fee":10000000,"recipientId":null,"senderPublicKey":"2856bdb3ed4c9b34fd2bba277ffd063a00f703113224c88c076c0c58310dbec4","timestamp":39721503,"asset":{"inTransfer":{"dappId":"bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024","currency":"XAS"}},"signature":"8cefc8fa933e4d5e8699828dc8cd5d1b4737ffa82175c744fd681bad0b1a6b68526e0783e85d7979f894fc38850bd2ed0a983ce3cb3f5d16b68fd37dfb9dfb0a","id":"4b580f8f61f4586920a4c0d37b6fad21daf3453fe9ccc5426c2cae7a263c160c"} // type=6表示dapp充值,这里的type指主链的交易类型,非dapp合约编号
// 将上面生成的“充值”交易数据通过post提交给asch server
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X POST -d '{"transaction":{"type":6,"amount":1000000000,"fee":10000000,"recipientId":null,"senderPublicKey":"2856bdb3ed4c9b34fd2bba277ffd063a00f703113224c88c076c0c58310dbec4","timestamp":39721503,"asset":{"inTransfer":{"dappId":"bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024","currency":"XAS"}},"signature":"8cefc8fa933e4d5e8699828dc8cd5d1b4737ffa82175c744fd681bad0b1a6b68526e0783e85d7979f894fc38850bd2ed0a983ce3cb3f5d16b68fd37dfb9dfb0a","id":"4b580f8f61f4586920a4c0d37b6fad21daf3453fe9ccc5426c2cae7a263c160c"}}' http://localhost:4096/peer/transactions && echo
JSON返回示例:
{
"success": true,
"transactionId": "4b580f8f61f4586920a4c0d37b6fad21daf3453fe9ccc5426c2cae7a263c160c"
}
接口地址:/api/dapps/dappID/transactions/signed
请求方式:PUT
支持格式:json
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
dappID | string | Y | dapp的id |
transaction | json | Y | aschJS.dapp.createInnerTransaction生成的交易数据 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 提币交易id |
请求示例:
var aschJS = require('asch-js');
var fee = String(0.1 * 100000000);
var type = 2;
var options = {fee: fee, type: type, args: '["CCTime.XCT", "100000000"]'};
var secret = "elite brush pave enable history risk ankle shrimp debate witness ski trend";
var transaction = aschJS.dapp.createInnerTransaction(options, secret);
console.log(JSON.stringify(transaction));
{"fee":"10000000","timestamp":40384202,"senderPublicKey":"aa4e4ac1336a1e9db1ee5ce537a59d3fcb0f068cb4b25aac9f48e0e8bc6259c9","type":2,"args":"[\"CCTime.XCT\", \"100000000\"]","signature":"05dba744705fd1dbc1854b415392364cdbae11778671be8eb5fdbce57855a87b3dde5bf2d0219059411253fb304497758422c8d1546ec45eb5521b4a6577d507"}
// 将上面生成的“提现”交易数据通过post提交给asch server
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X PUT -d '{"transaction":{"fee":"10000000","timestamp":40384202,"senderPublicKey":"aa4e4ac1336a1e9db1ee5ce537a59d3fcb0f068cb4b25aac9f48e0e8bc6259c9","type":2,"args":"[\"CCTime.XCT\", \"100000000\"]","signature":"05dba744705fd1dbc1854b415392364cdbae11778671be8eb5fdbce57855a87b3dde5bf2d0219059411253fb304497758422c8d1546ec45eb5521b4a6577d507"}}' http://45.32.22.78:4096/api/dapps/d352263c517195a8b612260971c7af869edca305bb64b471686323817e57b2c1/transactions/signed && echo
JSON返回示例:
{
"success": true,
"transactionId": "8bcae742206bf236214b9972efaca0bbe29f3703b4055a14cc8b095546880dc4"
}
接口地址:/api/dapps/dappID/transactions/signed
请求方式:PUT
支持格式:json
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
dappID | string | Y | dapp的id |
transaction | json | Y | aschJS.dapp.createInnerTransaction生成的交易数据 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 内部转账交易id |
请求示例:
var aschJS = require('asch-js');
var fee = String(0.1 * 100000000);
var type = 3;
var options = {fee: fee, type: type, args: '["CCTime.XCT", "100000000", "A6H9rawJ7qvE2rKwQfdtBHdeYVehB8gFzC"]'};
var secret = "elite brush pave enable history risk ankle shrimp debate witness ski trend";
var transaction = aschJS.dapp.createInnerTransaction(options, secret);
console.log(JSON.stringify(transaction));
{"fee":"10000000","timestamp":40387708,"senderPublicKey":"aa4e4ac1336a1e9db1ee5ce537a59d3fcb0f068cb4b25aac9f48e0e8bc6259c9","type":3,"args":"[\"CCTime.XCT\", \"100000000\", \"A6H9rawJ7qvE2rKwQfdtBHdeYVehB8gFzC\"]","signature":"e2364534b8c4b0735a85c68ba17fddf5321fc48af04d483ad05531d4993058eaa35ff44d913a03b6d7278890ff7f42435f8313e08ce70c523dfc256b4de9e303"}
// 将上面生成的“提现”交易数据通过post提交给asch server
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X PUT -d '{"transaction":{"fee":"10000000","timestamp":40387708,"senderPublicKey":"aa4e4ac1336a1e9db1ee5ce537a59d3fcb0f068cb4b25aac9f48e0e8bc6259c9","type":3,"args":"[\"CCTime.XCT\", \"100000000\", \"A6H9rawJ7qvE2rKwQfdtBHdeYVehB8gFzC\"]","signature":"e2364534b8c4b0735a85c68ba17fddf5321fc48af04d483ad05531d4993058eaa35ff44d913a03b6d7278890ff7f42435f8313e08ce70c523dfc256b4de9e303"}}' http://45.32.22.78:4096/api/dapps/d352263c517195a8b612260971c7af869edca305bb64b471686323817e57b2c1/transactions/signed && echo
JSON返回示例:
{
"success": true,
"transactionId": "e2687a471ac2ddbbdd919266e58b0b652c55f74402b27be850d767fa44162c79"
}
接口地址:/api/dapps/dappID/transactions/signed
请求方式:PUT
支持格式:json
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
dappID | string | Y | dapp的id |
transaction | json | Y | aschJS.dapp.createInnerTransaction生成的交易数据 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 设置昵称的交易id |
请求示例:
var aschJS = require('asch-js');
var fee = String(0.1 * 100000000);
var type = 4;
var options = {fee: fee, type: type, args: '["Nickname"]'}; // Nickname即昵称
var secret = "elite brush pave enable history risk ankle shrimp debate witness ski trend";
var transaction = aschJS.dapp.createInnerTransaction(options, secret);
console.log(JSON.stringify(transaction));
{"fee":"10000000","timestamp":40388287,"senderPublicKey":"aa4e4ac1336a1e9db1ee5ce537a59d3fcb0f068cb4b25aac9f48e0e8bc6259c9","type":4,"args":"[\"Nickname\"]","signature":"be08cdb2f4d1a0f2f2e5b02e33e67fdf43e403703ce35cb42a2dc7338c7a352adca56dc61e3be0fedc1727c1adc0101f1a9e1a3e67ac0623602bf872deb80802"}
// 将上面生成的“提现”交易数据通过post提交给asch server
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X PUT -d '{"transaction":{"fee":"10000000","timestamp":40388287,"senderPublicKey":"aa4e4ac1336a1e9db1ee5ce537a59d3fcb0f068cb4b25aac9f48e0e8bc6259c9","type":4,"args":"[\"Nickname\"]","signature":"be08cdb2f4d1a0f2f2e5b02e33e67fdf43e403703ce35cb42a2dc7338c7a352adca56dc61e3be0fedc1727c1adc0101f1a9e1a3e67ac0623602bf872deb80802"}}' http://45.32.22.78:4096/api/dapps/d352263c517195a8b612260971c7af869edca305bb64b471686323817e57b2c1/transactions/signed && echo
JSON返回示例:
{
"success": true,
"transactionId": "7teae742206bf236214b9972efaca0bbe29f3703b4055a14cc8b095546880dc4"
}
接口地址:/api/dapps/dappId/transactions/unsigned
请求方式:PUT
支持格式:json
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
secret | string | Y | asch密码 |
fee | string | Y | 交易手续费,目前固定为10000000 |
type | integer | Y | 智能合约编号 |
args | json字符串数组 | Y | 对应合约编号需要传入的参数 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 提现交易id |
请求示例:
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X PUT -d '{"secret":"elite brush pave enable history risk ankle shrimp debate witness ski trend","fee":"10000000","type":2,"args":"[\"CCTime.XCT\",\"100000000\"]"}' 'http://45.32.22.78:4096/api/dapps/d352263c517195a8b612260971c7af869edca305bb64b471686323817e57b2c1/transactions/unsigned' && echo
JSON返回示例:
{
"success": true,
"transactionId": "f59d365cbc8ea29f5d3798af795dc66dbdda00e2f1ae6677d5c7239180f3e98a"
}
接口地址:/api/dapps/dappId/transactions/unsigned
请求方式:PUT
支持格式:json
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
secret | string | Y | asch密码 |
fee | string | Y | 交易手续费,目前固定为10000000 |
type | integer | Y | 智能合约编号 |
args | json字符串数组 | Y | 对应合约编号需要传入的参数 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 内部转账交易id |
请求示例:
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X PUT -d '{"secret":"elite brush pave enable history risk ankle shrimp debate witness ski trend","fee":"10000000","type":3,"args":"[\"CCTime.XCT\",\"1000000000\",\"ADimyhJa99XFzVrbnTYsCqPB4TKQNdjCWw\"]"}' 'http://45.32.22.78:4096/api/dapps/d352263c517195a8b612260971c7af869edca305bb64b471686323817e57b2c1/transactions/unsigned' && echo
JSON返回示例:
{
"success": true,
"transactionId": "96d886b7d724e6a00cc8c52c24b674ec8a9fc7fd8145a326bf69983fdc74a006"
}
接口地址:/api/dapps/dappId/transactions/unsigned
请求方式:PUT
支持格式:json
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
secret | string | Y | asch密码 |
fee | string | Y | 交易手续费,目前固定为10000000 |
type | integer | Y | 智能合约编号 |
args | json字符串数组 | Y | 对应合约编号需要传入的参数,这里是昵称 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactionId | string | 设置昵称交易id |
请求示例:
curl -H "Content-Type: application/json" -H "magic:594fe0f3" -H "version:''" -k -X PUT -d '{"secret":"minor borrow display rebel depart core buzz right distance avocado immense push","fee":"10000000","type":4,"args":"[\"zhenxi\"]"}' 'http://45.32.22.78:4096/api/dapps/d352263c517195a8b612260971c7af869edca305bb64b471686323817e57b2c1/transactions/unsigned' && echo
JSON返回示例:
{
"success": true,
"transactionId": "7b5d9d13cf718ee28efde6bae85fbefbcd0eca3d6c0c6fff1421a1102d730669"
}
接口地址:/api/dapps/dappID/transactions/unconfirmed
请求方式:GET
支持格式:urlencode
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactions | array | 未确认交易列表 |
请求示例:
curl -k -X GET http://localhost:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/transactions/unconfirmed && echo
JSON返回示例:
{
"transactions": [],
"success": true
}
接口地址:/api/dapps/dappID/transactions
请求方式:GET
支持格式:urlencode
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
limit | interger | N | 限制返回的条数,默认值是100 |
offset | interger | N | 偏移量 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transactions | array | 交易列表 |
count | integer | 符合查询条件的总交易条数 |
请求示例:
curl -k -X GET http://localhost:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/transactions && echo
JSON返回示例:
{
"transactions": [{
"id": "b12b144b3dbb76b70cd62f97e3d3b0606d97c0f402bba1fb973dd2d3ab604a16",
"timestamp": 0,
"senderId": "AJTGR8EGsprrF7r63D2XLDftGAKUu1Ucjn",
"senderPublicKey": "27823f51a3dddd475943fb8142380d2f8722b0f6c651f6ac37930b63666c7803",
"fee": "0",
"signature": "22739bb762ff0135a0c4199507e3c45a8615c467bfeb4efa5110802033959698588e39b76d037445e02959ee67b483ac4d24f12304181f4955871cdcd28e3001",
"type": 3,
"args": "[\"CNY\",\"100000000000000\",\"A8QCwz5Vs77UGX9YqBg9kJ6AZmsXQBC8vj\"]",
"height": 1
},
{
"id": "7088c67edd43326276453b833727677df6f312271b824564a6a934371265f0dc",
"timestamp": 39709980,
"senderId": "ADYGpYHmgkbukqByZ2JzwFXZM6wYfMXCaR",
"senderPublicKey": "55ad778a8ff0ce4c25cb7a45735c9e55cf1daca110cfddee30e789cb07c8c9f3",
"fee": "0",
"signature": "bd51295c3373da2a92c77b6a96a0edbda75cdcde5fd7824ff326c366ed0ec5778e1d02e7d9c280a219d6c815d9bfdbc2d03bb960a0f5d8d35458e4bda87d6104",
"type": 1,
"args": "[\"XAS\",\"10000000000\",\"2f1db0014483ffef85289e086af321e374944668dd7fb4f156c70609276ed903\",\"ANH2RUADqXs6HPbPEZXv4qM8DZfoj4Ry3M\"]",
"height": 637
},
{
"id": "200c18fe8e39032baea92f07f34c64f3dba2f0258a47009f1ef0415092254e7c",
"timestamp": 39721600,
"senderId": "AMZCU6NmCU3vQfADPdNvNNu9ZDBy4xkt1Z",
"senderPublicKey": "aa7dcc3afd151a549e826753b0547c90e61b022adb26938177904a73fc4fee36",
"fee": "0",
"signature": "5f1cc39f4e5610156671683b18d96ac601e805b0761fcc7e2269aadc85f4ebabcabe8bbb437ddeec12c9bdbfb17ade8ffd28369123c3b467ecb924e42a56e90e",
"type": 1,
"args": "[\"XAS\",\"1000000000\",\"4b580f8f61f4586920a4c0d37b6fad21daf3453fe9ccc5426c2cae7a263c160c\",\"ANH2RUADqXs6HPbPEZXv4qM8DZfoj4Ry3M\"]",
"height": 1799
}],
"count": 3,
"success": true
}
接口地址:/api/dapps/dappID/transactions/:id
请求方式:GET
支持格式:urlencode
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
id | string | Y | 交易id |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transaction | dict | 该交易id对应的交易详情 |
请求示例:
curl -k -X GET http://localhost:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/transactions/7088c67edd43326276453b833727677df6f312271b824564a6a934371265f0dc && echo
JSON返回示例:
{
"transaction": {
"id": "7088c67edd43326276453b833727677df6f312271b824564a6a934371265f0dc",
"timestamp": 39709980,
"senderId": "ADYGpYHmgkbukqByZ2JzwFXZM6wYfMXCaR",
"senderPublicKey": "55ad778a8ff0ce4c25cb7a45735c9e55cf1daca110cfddee30e789cb07c8c9f3",
"fee": "0",
"signature": "bd51295c3373da2a92c77b6a96a0edbda75cdcde5fd7824ff326c366ed0ec5778e1d02e7d9c280a219d6c815d9bfdbc2d03bb960a0f5d8d35458e4bda87d6104",
"type": 1,
"args": "[\"XAS\",\"10000000000\",\"2f1db0014483ffef85289e086af321e374944668dd7fb4f156c70609276ed903\",\"ANH2RUADqXs6HPbPEZXv4qM8DZfoj4Ry3M\"]",
"height": 637
},
"success": true
}
接口地址:/api/dapps/dappID/transfers
请求方式:GET
支持格式:urlencode
请求参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
ownerId | string | N | 发送者地址,ownerId和currency必须有一个或者两个都存在 |
currency | string | N | 代币名称,ownerId和currency必须有一个或者两个都存在 |
limit | interger | N | 限制返回的条数,默认值是10 |
offset | interger | N | 偏移量,默认0 |
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
transfers | array | 符合查询条件的交易列表 |
count | integer | 符合查询条件的条数 |
请求示例:
curl -k -X GET http://localhost:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/transfers?ownerid=ADYGpYHmgkbukqByZ2JzwFXZM6wYfMXCaR && echo
JSON返回示例:
{
"count": 1,
"transfers": [{
"tid": "b12b144b3dbb76b70cd62f97e3d3b0606d97c0f402bba1fb973dd2d3ab604a16",
"senderId": "AJTGR8EGsprrF7r63D2XLDftGAKUu1Ucjn",
"recipientId": "A8QCwz5Vs77UGX9YqBg9kJ6AZmsXQBC8vj",
"currency": "CNY",
"amount": "100000000000000",
"t_timestamp": 0,
"t_type": 3,
"t_height": 1
}],
"success": true
}
接口地址:/api/dapps/dappID/contracts
请求方式:GET
支持格式:urlencode
返回参数说明:
名称 | 类型 | 说明 |
---|---|---|
success | boole | 是否成功获得response数据 |
contracts | array | 每个元素都是一个字典,由合约编号、合约名字组成,其中core开头的合约为每个dapp通用的内置合约 |
请求示例:
// 下面是
curl -k -H "Content-Type: application/json" -X GET http://192.168.2.115:4096/api/dapps/bebe3c57d76a5bbe3954bd7cb4b9e381e8a1ba3c78e183478b4f98b9d532f024/contracts && echo
JSON返回示例:
{
contracts: [{
type: "1",
name: "core.deposit" // 系统内置合约,充值(从主链往dapp内进行资产充值),普通用户不能直接调用(受托人可以调用但不能通过其它节点的校验),当主链有type=9(intransfer)的交易类型发生时会自动调用该智能合约进行dapp充值
},
{
type: "2",
name: "core.withdrawal" // 系统内置合约,提现(将资产从dapp内转出到主链上)
},
{
type: "3",
name: "core.transfer" // 系统内置合约,dapp内部转账,包括XAS和UIA
},
{
type: "4",
name: "core.setNickname" // 系统内置合约,dapp内给地址设置昵称
},
{
type: "1000",
name: "cctime.postArticle" // dapp自定义合约,发布文章
},
{
type: "1001",
name: "cctime.postComment" // dapp自定义合约,发布评论
},
{
type: "1002",
name: "cctime.voteArticle" // dapp自定义合约,给文章进行投票
},
{
type: "1003",
name: "cctime.likeComment" // dapp自定义合约,对评论进行打赏
},
{
type: "1004",
name: "cctime.report" // dapp自定义合约,举报文章
}],
success: true
}