Installation and usage of the platform
The Waves Enterprise blockchain platform provides the ability to interact with the blockchain using a gRPC interface.
gRPC is a high-performance Remote Procedure Call (RPC) framework developed by Google Corporation. The framework works via the HTTP/2. The protobuf serialization format is used to transfer data between the client and the server and describes the data types used.
Officially, gRPC supports 10 programming languages. A list of supported languages is available in the official gRPC documentation.
Preconfiguring the gRPC interface¶
Before using the gRPC interface:
decide on the programming language you will use to interact with the node;
install the gRPC framework for your programming language according to the official gRPC documentation;
make sure that the gRPC interface is started and configured in the configuration file of the node, with which data will be exchanged.
To communicate with the node via the gRPC interface, the default port is 6865.
What the gRPC interface is for¶
You can use the gRPC interface of each node for the following tasks:
- gRPC: monitoring of blockchain events
- gRPC: obtaining node configuration parameters
- gRPC: information about transaction according to their IDs
- gRPC: obtaining information about smart contract state
- gRPC: obtaining information about UTX pool size
- gRPC: generation and checking of data digital signatures (PKI)
- gRPC: encryption and decryption methods
- gRPC: sending transactions into the blockchain
Each of these tasks has its own set of methods packed in the corresponding protobuf files. You can find a detailed description of each set of methods in the articles above.
gRPC methods of the node, as opposed to REST API methods, do not require authorization. Also all the methods packaged in protobuf files that are placed in the contract directory are available for both node and smart contracts. When used in smart contracts, these methods require authorization.