Skip to content

Data Troubleshooting

In most cases of device malfunction your data is safe. Many problems can be easily resolved by doing a reflash of the microSD card, and the RoninDojo software will take care of the rest.

This means you most likely will not need to redownload the entire bitcoin blockchain.

By following the guide below, you will be able to use a secondary drive to store a copy of the blockchain from your RoninDojo. This method can be used to transfer data between two different RoninDojos. Also if RoninDojo ever has a massive failure, having this data on hand will reduce your setup time when starting over.

If done correctly, you could reduce setup time from days to just a few hours. This is because the blockchain takes such a long time to download when starting over.

  1. Connect your new backup SSD to your RoninDojo. Go to the RoninCLI command line menu and select the format new backup drive option.

    SystemDisk StorageFormat & Mount New Backup Drive

  2. Your new backup drive is now formatted and ready. Please proceed to the steps below.

  1. Connect your backup SSD or HDD to your RoninDojo. Go to the RoninCLI and select the option to send data to the backup drive.

    DojoNext PageSend Block Data to Backup

  2. After the data has finished sending your drive will be unmounted and it is safe to disconnect.

  3. You can also use this option anytime to add new blockchain data to an already existing backup drive, as the blockchain grows in size over time.

  1. Connect your backup SSD or HDD to your RoninDojo. Go back to the RoninCLI and select the option to receive data from the backup drive.

    DojoNext PageReceive Block Data from Backup

  2. Please note that your node will not be fully functional until the indexer compaction is complete. This takes about 10 hours after the Blockchain Data is finished syncing.

If you plug in your secondary backup drive that contains your data while setting up a device that has a wiped SSD or new SSD, then your backup drive will automatically be detected and used to salvage your RoninDojo data. Expect the data transfer to take a long time — come back later to check the RoninUI and see if it has completed.

How to copy data from other nodes to RoninDojo

Section titled “How to copy data from other nodes to RoninDojo”

Want to copy the blockchain data from an existing bitcoin node to your RoninDojo bitcoin node?

We will show you how to use the rsync command plus a few others so you can avoid redownloading the chain. Advanced users should be able to adapt these commands to meet their needs.

  1. RoninDojo: SSH remote login into your RoninCLI. Record the IP address for your RoninDojo bitcoin node and save it for later in this guide.

  2. RoninDojo: Make sure to stop Dojo before progressing, otherwise there can be errors.

  3. Other Node: SSH remote login into your other node. In this example the user has a Mynode which will be called “other node”.

  4. Other Node: Make sure to stop bitcoind on your other node before progressing, otherwise there can be errors.

  5. Other Node: Locate the block data directory using the find command.

    Terminal window
    find / -name blocks
  6. Other Node: For example if you are using Mynode, then you might get an output like this.

    Terminal window
    /mnt/hdd/mynode/bitcoin/blocks
  7. RoninDojo: Run the following command on your RoninDojo to delete any existing block data just in case.

    Terminal window
    sudo rm -rf /mnt/ssd/docker/volumes/my-dojo_data-bitcoind/_data/{blocks,chainstate,indexes}
  8. RoninDojo: Verify the backup directory exists, and if it is not found the mkdir command is used to create it.

    Terminal window
    ls /mnt/ssd/backup || sudo mkdir /mnt/ssd/backup
  9. RoninDojo: Change the backup directory to be temporarily owned by user ronin.

    Terminal window
    sudo chown ronin:ronin /mnt/ssd/backup
  10. Other Node: Run the rsync command which has been adapted with the proper file paths, username, and IP address of your RoninDojo.

    Terminal window
    sudo rsync -av /mnt/hdd/mynode/bitcoin/{blocks,chainstate,indexes} ronin@192.168.X.X:/mnt/ssd/backup
  11. Other Node: The rsync will take a while to run so please be patient until the transfer completes. Once the transfer is complete you can restore your other node to usual operations.

  12. RoninDojo: Once the transfer is complete, run the move command to get the blocks chainstate indexes relocated to the bitcoind data directory.

    Terminal window
    sudo mv /mnt/ssd/backup/{blocks,chainstate,indexes} /mnt/ssd/docker/volumes/my-dojo_data-bitcoind/_data/
  13. RoninDojo: Change the permissions for the blocks chainstate indexes directories.

    Terminal window
    sudo chown -R 1105:1108 /mnt/ssd/docker/volumes/my-dojo_data-bitcoind/_data/{blocks,chainstate,indexes}
  14. RoninDojo: Restore ownership of the backup directory to the root user.

    Terminal window
    sudo chown root:root /mnt/ssd/backup
  15. RoninDojo: Start your RoninDojo from the RoninCLI menu, and check on the logs to make sure everything looks healthy.