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:
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:
senderAddress– the address of the participant who sent the smart contract to the blockchain;
senderPublicKey– the public key of 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.