RHEL 6 to RHEL 7 Migration Procedure

Because Bitcoin is no longer being built for EL6, it is necessary to migrate to EL7 in order to use current Bitcoin releases.

In addition it is necessary to follow a special procedure to preserve the Bitcoin wallet, as the wallet.dat used on EL6 is slightly different than that used on all other distributions (including upstream).

To migrate to EL7, follow this process. At the end, you will have bitcoind running on EL7 and your wallet.dat will be converted to the standard format used on all other distributions.

  1. On the EL6 server, log in as root or use sudo -i.
  2. Dump a JSON copy of the wallet.

    bitcoin-cli -conf=/etc/bitcoin/bitcoin.conf dumpwallet /root/wallet.json.

  3. Shut down bitcoind.

    service bitcoin stop.

  4. Move /var/lib/bitcoin/wallet.dat to a safe place.
    mv /var/lib/bitcoin/wallet.dat /root

    Warning: Note that the following steps assume that you are installing a new EL7 system to replace the EL6 system. If you do an in-place upgrade from EL6 to EL7, you can skip steps 5, 6 and 7. Instead, do the in-place upgrade and then continue with step 8.

  5. On the EL7 server, log in as root or use sudo -i.
  6. On the EL7 server, install bitcoind and set an RPC password as specified in the installation instructions.
    yum install bitcoin
  7. Copy the entire /var/lib/bitcoin directory, excluding wallet.dat, from your EL6 system to your EL7 system. You can tar it up, use rsync, a large USB flash drive, or whatever method you wish. Also copy the wallet dump file /root/wallet.json.

    If you did an in-place upgrade, skip steps 5, 6 and 7, and continue with step 8.
     

  8. Start bitcoind if you have not already done so.

    systemctl start bitcoin

  9. Import the wallet dump file into bitcoind on the EL7 server.

    bitcoin-cli -conf=/etc/bitcoin/bitcoin.conf importwallet /root/wallet.json.

At this point bitcoind will automatically rescan the blockchain; this may take several hours if you have a slow hard drive.

Now you have successfully migrated bitcoind from EL6 to EL7.