gRPC services available to smart contract¶
You can use the official GitHub page for to download all required protobuf files. The list of all files is as follows:
address.proto- addresses methods.common.proto- a common file for proper work of others protobuf files.crypto.proto- methods for working with data encryption.permission.proto- permission methods.pki.proto- PKI methods.privacy.proto- privacy methods.util.proto- methods for utility tools.
Every protobuf file (except common.proto) contains a set of small blocks (message) that include a set of key-value fields. A list of such blocks for each file is provided below.
address.proto
GetAddresses- geting all addresses of participants whose key pairs are stored in the node keystore.GetAddressData- getting all data recorded to address account {address}.
contract.proto
Connect- connecting a contract to a node.CommitExecutionSuccess- getting the result of successful contract execution and sending the results to the node.CommitExecutionError- getting a contract execution error and sending the results to the node.GetContractKeys- getting the contract result execution by its ID (contract creation transaction ID).GetContractKey- getting a contract execution value by its ID (contract creation transaction ID) and key {key}.
crypto.proto
EncryptSeparate- data encryption separately for the each recipient with the unique key.EncryptCommon- data encryption with a single CEK key for all recipients and the CEK wraps into a unique KEK for the each recipient.Decrypt- data decryption. The decryption is available only if the message recipient’s key is in the node’s keystore.
permission.proto
GetPermissions- getting roles (permissions) assigned to specified address {address} which are valid at the moment.GetPermissionsForAddresses- getting roles (permissions) assigned to specified address list which are valid at the moment.
pki.proto
Sign- a creation a detached digital signature for sent data.Verify- check the detached digital signature for sent data.
privacy.proto
GetPolicyRecipients- getting all addresses of participants, signed to the access group {policy-id}.GetPolicyOwners- getting all addresses of owners, signed to the access group {policy-id}.GetPolicyHashes- getting the array of identified hashes which are written with association to the {policy-id}.GetPolicyItemData- getting the confidential data package by its identified hash.GetPolicyItemInfo- getting the metadata for the confidential data package by the identified hash.
util.proto
GetNodeTime- gitting current node time.