waves_logo Docs
  • Node Owner Guide
    Node Owner Guide
  • Install Waves Node
    • Deploy Node in Docker
      Deploy Node in Docker
    • Install Node on Ubuntu
      Install Node on Ubuntu
    • Install Node on macOS
      Install Node on macOS
    • Install Node on Windows
      Install Node on Windows
    • Install from Source (Building SBT)
      Install from Source (Building SBT)
    • Deploy Node in Cloud
      • Deploy Node in Yandex.Cloud
        Deploy Node in Yandex.Cloud
      Deploy Node in Cloud
    Install Waves Node
  • Synchronize Waves Blockchain
    • Import/Export Blockchain
      Import/Export Blockchain
    • Download the Latest Blockchain
      Download the Latest Blockchain
    • Rollback Waves Node
      Rollback Waves Node
    Synchronize Waves Blockchain
  • Upgrade Waves Node
    Upgrade Waves Node
  • Node Configuration
    Node Configuration
  • Logging Configuration
    Logging Configuration
  • Node Wallet
    Node Wallet
  • Features
    • Activation protocol
      Activation protocol
    Features
  • Custom Blockchain
    Custom Blockchain
  • Node API
    • Request headers
      Request headers
    • Activation
      Activation
    • Address
      Address
    • Lease Transactions
      Lease Transactions
    • Assets
      • Public Functions
        Public Functions
      • Private Functions
        Private Functions
      • Distribution Methods
        Distribution Methods
      Assets
    • Alias Transaction
      Alias Transaction
    • Transactions
      Transactions
    • Peers
      Peers
    • Blocks
      Blocks
    • Utils
      Utils
    • Examples of transactions
      Examples of transactions
    • Feature Activation
      Feature Activation
    • API limitations of the pool of public nodes
      API limitations of the pool of public nodes
    Node API
  • Extensions
    • gRPC Server
      gRPC Server
    Extensions
  • Troubleshooting
    Troubleshooting
      • English
      • Русский
      On this page
        • Client Generation
        • gRPC Server Installation
      waves_logo Docs

          # gRPC Server

          gRPC Server is a node extension that allows running gRPC services on a node. gRPC interaface can be used to run apps on your own node.

          gRPC services provide information about:

          • accounts
          • blockchain
          • blocks
          • tokens
          • transactions

          # Client Generation

          The clients generated from .proto files are used to connect to gRPC services.

          Examples of usage of gRPC clients generated from .proto files:

          • Connecting to transactions service in Java
          • Retrieving blocks in C#

          # gRPC Server Installation

          The gRPC Server extension can be installed on the node by two methods: using Deb package or ZIP file.

          # Installation via Deb Package

          1. Download deb package from the Releases page (Assets section) on Github . For the Mainnet it is grpc-server_{version number}_all.deb file, for test network it is grpc-server-testnet_{version number}_all.deb.

          2. Install the package using the command:

            sudo dpkg -i grpc-server_{version number}_all.deb
            
          3. Add the following string to the configuration file:

            waves.extensions += com.wavesplatform.api.grpc.GRPCServerExtension
            

          For the main network, the configuration file is located at /etc/waves/waves.conf, for the test network at /etc/waves-testnet/waves.conf.

          1. Restart the node.

          If the node is running in the main network, run the command:

          sudo systemctl restart waves
          

          If the node is running in the test network, run the command:

          sudo systemctl restart waves-testnet
          

          # Installation via ZIP File

          1. Download grpc-server-{version number}.zip file from Releases page (Assets section) on Github .

          2. Unpack the archive to the directory containing node's JAR-file.

          3. Create a new configuration file or open the existing one and add to it the following string:

            waves.extensions += com.wavesplatform.api.grpc.GRPCServerExtension
            
          4. Run command:

            java -cp 'waves-all-1.0.0.jar:grpc-server-1.0.0/lib/*' com.wavesplatform.Application {configuration file name}.conf
            
          Extensions
          Troubleshooting
          Extensions
          Troubleshooting