Installation and usage of the platform
gRPC: obtaining information on the results of the execution of a smart contract call¶
To obtain information on the results of a smart contract call use the ContractStatusService gRPC service.
The service has two methods described in the util_contract_status_service.proto protobuf file:
ContractExecutionStatuses,
ContractsExecutionEvents.
Important
The field data types for the request and response are specified in the protobuf file.
Use the ContractExecutionStatuses method to retrieve information on the execution results of a particular smart contract call. The method accepts the ContractExecutionRequest query that requires the tx_id
parameter – the ID of the transaction that calls the smart contract whose status information you want to retrieve.
Use the ContractsExecutionEvents method to subscribe to a stream with the results of all the smart contracts calls execution. The method requires no input parameters.
Information on the results of the execution of a smart contract call¶
Both methods output the following smart contract data in the response to the query:
sender
– the participant who sent the smart contract to the blockchain;tx_id
– smart contract call transaction ID;Status
– smart contract state:0
– successfully executed (SUCCESS);‘’1’’ – business error, the contract is not executed, the call is rejected (ERROR);
2
– system error during the execution of the smart contract (FAILURE).
code
– code of an error that occurred during the execution of the smart contract;message
– error message;timestamp
– time of the smart contract call;signature
– smart contract signature.