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)
    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
  • Generate Blocks
    Generate Blocks
  • 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 REST API
    • API Key
      API Key
    • Working with Transactions
      Working with Transactions
    • Numeric Fields Format
      Numeric Fields Format
    • Pagination
      Pagination
    • CORS
      CORS
    • API Limitations of Pool of Public Nodes
      API Limitations of Pool of Public Nodes
    • Slow Requests
      Slow Requests
    • Response Codes and Errors
      Response Codes and Errors
    Node REST API
  • Extensions
    • gRPC Server
      gRPC Server
    • Blockchain Updates
      Blockchain Updates
    Extensions
  • Troubleshooting
    • Block Generation FAQ
      Block Generation FAQ
    Troubleshooting
  • Node Go
    Node Go
      • English
      • Русский
      On this page
        • Install a Node
        • Get Actual Blockchain
        • Upgrade a Node
        • Deal With Forks
        • Node Go
      waves_logo Docs

          # Node Owner Guide

          You can run a Waves node for the following purposes:

          • Own project: Get up-to-date blockchain data and use your node's API without having to trust a third party. Send transactions from your node. Tweak your own node to setup extended functionality for your project.
          • Block Generation: Earn a share of the block reward and transaction fees.

          You can run Waves node on an ordinary computer. Having WAVES on the node's balance is only required for block generation.

          Before you start, we recommend that you learn the basic concepts in the Waves Node article.

          # Install a Node

          There are different options to install Waves node. The installation methods are explained in Install Waves Node article.

          # Get Actual Blockchain

          A running node requires blockchain database. Use one of the methods described in Synchronize Waves Blockchain article to get the latest blockchain database.

          # Upgrade a Node

          When you own a node, check the Releases page for the latest updates on a regular basis. Releases of new versions of node come with release notes document describing the new features and telling the node owner what actions to take to upgrade, depending on the type of the update. For details about upgrading see Upgrade Waves Node article.

          # Deal With Forks

          Fork is the moment when a blockchain splits in two seperate ones. Forks can happen because of node version difference (for example, when your node is of older version and does not support functionality of the newer ones). Also, forks can be caused by malicious attacks or system failure. A running node receives information from other nodes and monitors "the best blockchain" (that is the one that has the biggest generating balance). If the node spots a "better" blockchain that had split (forked) from the current one not more than 100 blocks ago, it can automatically switch to it. If it split more than 100 blocks ago a forked node continues generating blocks, but it does not communicate with other valid nodes.

          You can check the blockchain height or the last 100 signatures of blocks to understand if your node is on fork or not. Use chaincmp utility to compare blockchains on your node and the reference nodes. Chaincmp utility indicates whether you are on the same blockchain with the reference nodes and if not it provides recommendations on further actions.

          Your node can be on fork with height less than 2000 blocks or more than 2000 blocks.

          • In case that your node is on fork with a height less than 2000 blocks, you can implement rollback and restart the node to begin generating blocks as described in Rollback Waves Node article.
          • Otherwise, you need to go with one of the options described in Synchronize Waves Blockchain article.

          # Node Go

          In addition to standard Node implementation on Scala programming language, there is another (alternative) Node implementation on Go language.

          Read about Node Go.

          Install Waves Node
          Install Waves Node