智能合约相关 API
submitucontractdeploytx
用于部署智能合约
被部署的智能合约文件必须在节点运行环境的/tmp/lua/
路径下
Parameters
address
发布智能合约者的地址
filepath
发布的智能合约文件路径+文件名
fee
发布智能合约所需费用 推荐最少1.1WICC
Returns
hash
发布合约交易的哈希
Example
// Request
curl -u Waykichain:admin -d '{"jsonrpc": "1.0", "id":"curltest", "method": "submitucontractdeploytx", "params": ["wLKf2NqwtHk3BfzK5wMDfbKYN1SC3weyR4", "/tmp/lua/test.lua", "WICC:110000000:sawi"] }' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result":
{
"hash":"641794c5db4af756660197878dce462b887224a2efad8387d915bbc2acb5aa9d"
},
"error":null,
"id":"curltext"
}
getcontractregid
获取智能合约的regid
Parameters
txhash
发布合约时的交易哈希
Returns
regid
该智能合约的regid
regid_hex
智能合约的regid转成hex
Example
// Request
curl -u Waykichain:admin -d '{"jsonrpc":"2.0","id":"curltext","method":"getcontractregid","params":["641794c5db4af756660197878dce462b887224a2efad8387d915bbc2acb5aa9d"]}' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result": {
"regid": "48493-2",
"regid_hex": "6dbd00000200"
},
"error": null,
"id": "curltext"
}
submitucontractcalltx
创建调用智能合约交易
Parameters
sender_addr
合约调用者地址/regid
contract_regid
智能合约的regid
arguments
调用合约的参数
amount
symbol:amount:unit,向智能合约发送币种数量, 支持但不仅限于 WICC
WUSD
WGRT
,
fee
, symbol:amount:unit,调用合约交易手续费,支持但不仅限于 WICC
WUSD
WGRT
Returns
hash
调用合约的交易哈希
Example
// Request
curl -u Waykichain:admin -d '{"jsonrpc": "1.0", "id":"curltest", "method": "submitucontractcalltx", "params": ["wLKf2NqwtHk3BfzK5wMDfbKYN1SC3weyR4", "35211-2", "f005", "WICC:0:sawi", "WICC:1000000:sawi"] }' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result": {
"txid": "3fc3328fd7dac89df16d338d0834315dee379c943936e4de9199103eb6172bf6"
},
"error": null,
"id": "curltext"
}
getcontractaccountinfo
获取用户在智能合约中的相关信息
Parameters
regid
智能合约的regid
address
查询的用户地址/regid
Returns
account_uid
查询的用户地址转成16进制字符串
free_value
智能合约的自由可操作的代币的数量
frozen_funds
智能合约的冻结的币的数量和解冻时间的数据列表
Example
// Request
curl -u Waykichain:admin -d '{"jsonrpc":"2.0","id":"curltext","method":"getcontractaccountinfo","params":["48493-2","wMHkGQKHf4CXdZRRoez8b9YgYnPzGxbs3j"]}' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result": {
"account_uid": "774d486b47514b4866344358645a52526f657a3862395967596e507a47786273336a",
"free_value": 0,
"frozen_funds": []
},
"error": null,
"id": "curltext"
}
getcontractdata
获取智能合约相关原生数据信息
Parameters
contract_regid
智能合约的regid
key
智能合约数据的key值
hexadecimal_format
key和value是否为hex格式
`true`: hex格式
`false` 不是hex格式
Returns
contract_regid
智能合约的regid
key
智能合约数据的key值
value
智能合约数据的value值
Example
curl -u Waykichain:admin -d '{"jsonrpc":"2.0","id":"curltext","method":"getcontractdata","params":["50552-2","owner",false]}' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result": {
"contract_regid": "50552-2",
"key": "owner",
"value": "wMHkGQKHf4CXdZRRoez8b9YgYnPzGxbs3j"
},
"error": null,
"id": "curltext"
}
getcontractinfo
获取智能合约信息
Parameters
contract_regid
智能合约 regid
Returns
contract_regid
智能合约 regid
vm_type
合约运行的虚拟机类型
upgradable
code
智能合约代码(hex)
memo
发布合约时的备注信息
abi
abi信息
Example
// Request
curl -u Waykichain:admin -d '{"jsonrpc":"2.0","id":"curltext","method":"getcontractinfo","params":["49100-2"]}' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result": {
"contract_regid": "49100-2",
"vm_type": 1,
"upgradable": true,
"code": "6d796c6962203d207265717569726520226d796c6962220a0a4d61696e203d2066756e6374696f6e28290a0a656e640a0a4d61696e28290a0a",
"memo": "",
"abi": ""
},
"error": null,
"id": "curltext"
}