post https://api.infstones.com/neo/mainnet/
Returns the result after passing a script through the VM.
This method is used to test your VM script as if they ran on the blockchain at that point in time. This RPC call does not affect the blockchain in any way.
Parameters
Object Name | Required | Type | Detail |
---|---|---|---|
SCRIPT | ✅ | String | A script runnable in the VM. This is the same script that is returned in invokefunction |
SIGNER | ✅ | Array | List of objects containing contract signature accounts. |
SIGNER
has the following fields:
Key | Required | Type | Detail |
---|---|---|---|
account | ✅ | String | The signature account. |
scopes | ✅ | String | The signature's valid scopes, allowed values: FeeOnly , CalledByEntry , CustomContracts , CustomGroups , Global |
allowedcontracts | ❌ | Array | The contracts of the signature that can take effect if scopes is CustomContracts |
allowedgroups | ❌ | Array | The pubkeys of the signature that can take effect if scopes is CustomGroups |
"params": [
"wh8MCG15TWV0aG9kDBT6aFfj1fLFXfPkwMmGI1xhVLBqK0FifVtS",
[{
"account": "NSk8xEBm3FNAFDueUf21cMugkWidJn5N1n",
"scopes": "CalledByEntry",
"allowedcontracts": [],
"allowedgroups": []
}]
]
Result
The smart contract result.
Result Fields
Key | Type | Detail |
---|---|---|
script | String | The invocation script of the contract. |
state | String | HALT means the vm executed successfully, and FAULT means the vm exited due to an exception. |
gasconsumed | String | The system fee consumed for invocation. |
stack | String | The contract execution result. If the value is String or ByteArray, it is encoded by Base64. |
Example
Request
curl <your-endpoint> \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0","id": 1,"method": "invokescript","params": ["wh8MCG15TWV0aG9kDBT6aFfj1fLFXfPkwMmGI1xhVLBqK0FifVtS",[{"account": "NSk8xEBm3FNAFDueUf21cMugkWidJn5N1n","scopes": "CalledByEntry","allowedcontracts": [],"allowedgroups": []}]]}'
Return
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"script": "wh8MCG15TWV0aG9kDBT6aFfj1fLFXfPkwMmGI1xhVLBqK0FifVtS",
"state": "HALT",
"gasconsumed": "196863",
"exception": null,
"stack": [{
"type": "ByteString",
"value": "V29ybGQ="
}]
}
}