Smart Contract API
submitcontractdeploytx
Contract for the deployment of Intelligent any contract addresses can publish intelligent, smart contract publisher is not necessarily the owner of the contract.
The deployed smart contract file must be in the /tmp/lua/path of the node running environment .
Parameters
address The address of the person who issued the smart contract
filepath Published smart contract file path + file name
fee Intelligent release required fee contract minimum 110000000 sawi
Returns
hash Publish a hash of a contract transaction
Example
// Request
curl -u Waykichain:admin -d '{"jsonrpc":"2.0","id":"curltext","method":"submitcontractdeploytx","params":["wd3hLkmd5Jrmck4Rsg8WCcJ3PfFrKFDbbA","/tmp/lua/lotteryV3.lua",110000000]}' -H 'content-type:application/json;' http://127.0.0.1:6967
// Response
{
"result":
{
"hash":"641794c5db4af756660197878dce462b887224a2efad8387d915bbc2acb5aa9d"
},
"error":null,
"id":"curltext"
}
getcontractregid
Get an object containing regid
Parameters
txhash the transaction hash
Returns
regid smart contract regid
regid_hex Smart contract regid into 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"
}
getcontractaccountinfo
Get information about users in smart contracts
Parameters
regid regid of smart contract
address Queryed user address /regid
Returns
account_uid Query the user address into a hex string
free_value The number of free and operable tokens for smart contracts
frozen_funds Smart contract's number of frozen coins and data list for thawing time
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
get the app data by given regid.
Parameters
regid smart contract regid
key the key of data in smart contract
hexadecimal_format Whether key and value are in hex format
`true`: hex format
`false` not hex format
Returns
regid smart contract regid
key the key of data in smart contract
value the value of data in smart contract
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
get smart contract information
Parameters
regid smart contract regid
Returns
contract_regid Smart contract regid
vm_type Virtual machine type for contract operation
upgradable
code Smart contract code (hex)
memo Remarks when publishing a contract
abi Abi information
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"
}