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
        • Common Issues While Implementing a Rollback
      waves_logo Docs

          # Rollback Waves Node

          Rollback your node to a specific height to remove all blocks after that given height. The rollback allows to discard a few blocks to quickly restore your node in case of fork detection without having to rebuild the whole blockchain database.

          You can implement rollback under the following default condition: the rollback can be implemented to no more than 2000 blocks. Implement the rollback by using POST /debug/rollback with the API key (See Waves Full Node API for details). For example,

             {
               "rollbackTo": 1057490,
               "returnTransactionsToUtx": false
             }
          

          If you have to rollback more than 2000 blocks, then follow the instructions provided in Synchronize Waves Blockchain article to get the actual blockchain state.

          Use Chaincmp utility to compare blockchains on the node and reference nodes.

          # Common Issues While Implementing a Rollback

          If you request a rollback via curl/swagger and get error 503, it doesn't mean the request is not processed (It means that it timed out). To make sure that the node is actually processing, check that the node state doesn't change (with status check if the block height is not rising) after starting to reroll. It will take some processing time to start synchronization again from a desired location.
          By default a node can process rollback to up to 2000 blocks without rebuilding blockachain database. If the node is on fork for some reason then rollback as soon as possible or you will have to rebuild blockachain database and that will probably take longer time.

          Note: The default 2000 blocks limit can be changed with max-rollback-depth parameter in node configuration file. For details, see Node Configuration atricle.

          Download the Latest Blockchain
          Generate Blocks
          Download the Latest Blockchain
          Generate Blocks