How To Prepare To Use Ymgve's bitcoin_fork_claimer Tool

Introduction

For redeeming forked Bitcoin coins, the best tool for preserving your key security is Ymgve's bitcoin_fork_claimer script. We have guides that show you the entire process for doing it safely and privately.

Using the tool it is a bit complex for the uninitiated. This article is a basic orientation to what is involved. It should help give you a bit confidence and understanding of the endpoint as our guides take you through the steps building up to the moment you actually move your money.

The tool may look scary if you are not a programmer and not familiar with CLIs, but it is just a matter of taking your time and being organized. Our guides have screenshots all the way through to prevent you from getting lost. It is best not to rush and pressure yourself. Slowing down and being deliberate is the winning strategy.

Github Preamble

The tool's Github page has the official documentation that is appropriately written to be exact, but at an expert level. This tool handles peoples private keys, so it needs to be precices. Have a quick look up and down this page before coming back. Don't worry if you don't understand it, we will give you a slower tour.

github page

The first section is the file list. The logic of the program is contained in Python scripts, which are files that end in .py. These are the pieces of code with the formula to take your private keys and other instructions in order to create and broadcast transactions on the appropriate blockchain network. As you can see, there are only a couple files. Even though claiming forks sounds complicated this is a relatively simple and straightforward set of scripts (as far as these things go).

github page 2

Scrolling down to the README.md documentation (which is displayed on the main page under the list of files, by design and convention of Github), The first important thing to take note of is that the script requires Python 2.7. This is not the current version of Python. At the time of this writing the current release 3.6.4. Python 2.7 is slightly structurally different than version 3.6+. When running the script we need to be sure we are using the correct Python 2.7 interpreter, or else it may not work. Fortunately, the software is readily available and we have a guide for installing it on Linux and on Windows.

Next in the README is a complete listing of which forked coins the script currently has support for. It is quite a deep set. If there is a particular coin that you want which is not supported, there is probably a very good reason. We suggest starting the process of claiming by working on redeeming this set first. Once you are a veteran of that, you will have built a skillset that will likely be of use in hunting down the rest.

github page 3

Below the list of supported forks, there are some notes on segwit support. If your BTC that you were holding at the fork/airdrop points of these coins was on a Segwit or bech32 address, this will tell you for which coins this is not a current problem for. Even if you are a novice user that doesn't understand this set of terms, there is a small chance that your current wallet has used these address formats. If so, it is an additional complication you may need to figure out in the process of redeeming. For now, just be aware of it and if you can research your current BTC wallet setup to figure this out yourself, all the better.

Because the author of the script is a responsible developer, he does also warn you of the risks of using this software. This is a professional tool, like a backhoe or a wrecking ball. You must understand everything you are doing and it is up to you to operate it carefully or you can easily cause problems for yourself.

Tool Usage Documentation

github page 4

The next section of README.mdexplains how to use the claimer.py script. This script will take as inputs your address, your private key, transaction details and create a transaction to your provided destination address.

claimer.py has two different modes. There is the blockchain.info mode and the standalone mode.

The blockchain.info mode is the more convenient option. It requires that you provide less parameters, and the rest the script is able to derive. However, this path has downsides to your privacy. To get this additional information it must query blockchain.info over https:// with your public addresses to obtain the transaction data. This has the potential to leak private information that could be used by some adversarial parties to correlate your BTC balances with your home IP addresses or social media profiles through a number of sophisticated methods. For this reason, we strongly urge you to not rush into this convenience and consider standalone mode. It is just a little bit more work, but not by much.

The standalone mode requires you obtain two additional parameters. First, the input transaction index value. Second the number of satoshis of that input transaction credited to your address. If you are using this mode, you must find these values in addition to the ones necessary for Standalone mode.

We have a few guides for you to follow for connecting to and finding parameters from blockchain.info in a way that preserves your privacy using Tor.

github page 5

If you are a power user and wish to send coins to more that one address as part of the same transaction, there are options for that. For example, if you are doing this as a service for a friend and charging him/her 5%, you might send 95% of the coins to their destination address and the remaining 5% to your destination address, you can use this feature to create that transaction which you both will be able to see on the blockchain.

Below this, the README has an explanation of a special script for Fast Bitcoin (FBTC) called fbtcclaimer.py. This coin is a little bit different than the others, but just be aware it needs a separate but similar script to send.

Note: Some Coins Are Still A Bit Strange

Some of the coins supported by the claimer script do have some additional things to be aware of. For example BitCore (BTX) have slightly different construction than the 'normal' set of forked coins. There is plenty of other straightforward coins to occupy yourself with claiming first, but do keep in mind that the handling of all these coins isn't always the same. In the case of BitCore, the transaction ID needs to come from the BitCore block explorer which is different than than the transaction ID you can get from Blockchain.info.

Your Homework

To actually use this script, there are a bunch of things you need to do to prepare that we have covered by our set of guides. You need to gather the input parameters for redeeming your coins mentioned in this README.md documentation. However, more importantly, you need to be sure you have set up a solid foundation for doing this securely and privately.

Before directly attempting to use this tool, the recommended steps for you to look into are:

1) Make sure you have a decently secure computing environment appropriate for handling private information and private keys in a way that helps minimizes risk to your money:

2) Figure out your set of public bitcoin addresses which you suspect may have forked coin balances on and the specific corresponding private key values:

3) Figure out your specific transaction IDs, output indices, and satoshi amounts

4) Figure out a set of destination addresses to send your coins to.

You might start doing the above and get lost because it becomes a lot of effort to do manually. If you are finding this too burdensome to do manually, you might want to consider following our Intermediate's Guide which uses Forkdrop Suite to automate this task for lots of addresses and transactions.

I Am Organized, Let's Do This!

Once you have a good handle on all those things and have your information gathered and the confidence to do this, it is then appropriate to circle back and look at actually running the bitcoin_fork_claimer script: