How To Find Your Specific Input Parameters For The bitcoin_fork_claimer Tool

Introduction

This is a follow-up to a previous article that covers the basics of Ymgve's bitcoin_fork_claimer tool. If you are not already familiar with the basics of the tool, it may be helpful to review that article first before getting into the details covered by this article.

The starting point for this guide is the transaction IDs of your addresses that you have already located as potentially holding Bitcoin fork coins. If you don't already have a list of addresses, you may want to zoom out to the main guide for claiming forks to help better understand the larger process, but also dealing with issues specific to your private key security situation.

Scream

This part of the overall process might be the most complicated part for the novice trying to claim their coins from their keys. It requires a bit of deep understanding of bitcoin transactions. However, don't worry, we will step you through it.

If you haven't read our conceptual primer on finding your transaction that are credited with forked coins, now is a great time. This guide will require some advanced use of the block explorer (blockchain.info). It will guide you as if you are doing it via the Tor Browser on a secure setup. However, blockchain.info works just as well from any browser and any PC. Just remember that inputting your real addresses can potentially associate those addresses and balances with your home IP address and social media profiles. This guide will use the Bitcoin address 1MrpoVBweTnwPTase83S13LSZZ2Ga4Amk7 which is safe to use as learning example.

If you feel you have sufficient background knowledge and context, props for making it this far and thanks for sticking with it. We can get started.

Overview Parameters for Standalone Mode

This assumes we are going to use the tool's standalone mode. This is optimal for protecting your privacy. If you wish to use the tool's blockchain.info mode, the parameters named output index in transaction and number of satoshis on the source transaction output will be queried automatically from blockchain.info (though, they are still worth understanding, which we will cover).

In the README.md document for the bitcoin_fork_claimer tool the claimer.py usage is documented as:


claimer.py <cointype> <source transaction ID> <source private key> <source address> <destination address> --txindex <output index in transaction> --satoshis <number of satoshis on the source transaction output>

The values described inside the angle brackets (< and >) need to be provided to the script. They are "cointype", "source transaction ID", "source private key", "source address", "destination address", "output index in transaction" and "number of satoshis on the source transaction output".

Coin Type

In the README.md document for the bitcoin_fork_claimer tool the coins it currently supports are documented. This parameter is simply the ticker symbol for the coin. For example, to create a transaction for Super Bitcoin, this parameter should simply be "SBTC".

Source Transaction ID

You must have done homework to know which addresses and transaction are relevant for your forked coins. This is covered broad detail in this article. For this parameter you need to provide the Transaction ID in it's hexadecimal form. Be sure to not leave off any digits, since it may still get recognized as a valid hexadecimal-encode number.

source transaction id

For address 1MrpoVBweTnwPTase83S13LSZZ2Ga4Amk7, the transaction that qualifies for Super Bitcoin (among others), is 575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb

Source Private Key

This is the secret that is guarding your money that you are supposed to be protecting. Since we are spending money, we need to expose it to the script for it to use in creating the spend transaction.

In the article for extracting individual private keys from seed phrases, we used an example seed phrase that starts with "void come effort suffer camp survey....". For that seed phrase, the first receiving address was 16TAELm3SrzdD7n5UEEHQSS2LviMcKaTi1 (this address never held BTC, so we don't have a matching TXID like the other example address).

derived private key

In the Derived Addresses section, the corresponding private key for the public address 16TAELm3SrzdD7n5UEEHQSS2LviMcKaTi1 is in the right-hand column. It has the value KxhQgKrZArMV7rsczWG1NBgqCzV6Dngk7gNX3uVBcj2K7PZbu9Eb. If 16TAELm3SrzdD7n5UEEHQSS2LviMcKaTi1 were the Source Address value, this would be the appropriate private key value to give the script.

Bitcoin Paper Address

If your key is in the form of a paper address, the value is the printed private key unless it is Bip38 encrypted. If it is encrypted, you will need to decrypt it, which can be done by using the bitaddress.org tool for which we have a guide for running securely.

Source Address

This is your bitcoin address that matches the transaction ID value. It also must match the given Private key. For Transaction ID 575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb, this value should be address 1MrpoVBweTnwPTase83S13LSZZ2Ga4Amk7.

Destination Address

This is the destination address we are sending the coins to. If you are planning on selling these coins on an exchange, it should be the deposit address for that specific coin given to you by the exchange.

For help finding an exchange that meets your requirements, we have a table of helpful data provided for you at forkdrop.io. Don't forget to use the referral codes when signing up. :)

Our full article on finding exchanges:

How To Scout Exchanges To Deposit And Sell Coins From Bitcoin Forks And Airdrops

Output Index In Transaction

This one is a bit more complicated. Bitcoin transactions can have many outputs and you have to choose the right one for your address. Often exchanges and other high-volume businesses bundle together many of their transactions fees order to save on on-chain transaction fees. The output that credits your address might be the 12th output out of 29 outputs in a transaction. This is the exact case for our example address 1MrpoVBweTnwPTase83S13LSZZ2Ga4Amk7 in transaction 575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb.

This parameter given to the script has to exactly match this integer value. The first step is to find the blockchain.info page for your transaction ID. For the non-Tor access point, the URL for our example transaction is: https://blockchain.info/tx/575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb
For the Tor access point in the Tor Browser, it is: https://blockchainbdgpzk.onion/tx/575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb
(which cannot be accessed outside the Tor Browser)

example TX

If we carefully count down the list, we will see that our address is the 12th on the list, which means the parameter we want is 11, however counting this way is error prone. If we get it wrong, it could waste a lot of time trying to debug why the transaction is being rejected. We need to add "?format=json to the end of the URL, we can see the raw view of this data. For non-Tor access the url will be: https://blockchain.info/tx/575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb?format=json
In the Tor Browser, it is: https://blockchainbdgpzk.onion/tx/575edb19198de7df90e466062846d1512d9ef97889971e1a1c113d6108d8c1bb?format=json
(which cannot be accessed outside the Tor Browser)

example TX json

If this looks scary, don't worry. This is the exact same data without the nice formatting for the webpage design. You want to scroll or search down through this data for your address:

example TX json

The value after the "n:" is the value to use for the parameter. The value is 11 in this example. It is most likely different for your addresses.

Number of Satoshis On The Source Transaction Output

For this parameter, you already did the hard part in finding the previous parameters. This value is right above the index value and prefaced. "value:" That is the number of satoshis to give to the claimer.py script. For our example address, the value is 27200000. Be sure to get the exact value correct with the correct number of following zeros.

What Next?

You need to gather all these values for all the transactions you want to spend. It is best to keep organized in a text/notepad file. If you are in a secure temporary live-boot setup, we suggest storing it on a secure USB drive. This is especially true if you are adding your private keys to the list. It will save you some effort if you organize the parameters on a line in that text file as if you are invoking the claimer.py script. It might look something like this, but with your information:

get organized

Note that there are no newline characters on that line. It is display of this particular text editor that is wrapping the long line onto the next lines. If you are doing this operation for multiple coins and multiple transaction IDs and keys, add a new line that starts with claimer.py for each one.

Being organized in this way helps you double and triple check all of this information before you actually go ahead and execute the script. Depending on how scattered your transaction record and keys are, this text file could be dozens or hundreds of lines long. If this is overwhelming, it might be good to just work one line for now and build confidence successfully using the script before worrying about being complete.

If you feel you are ready (and again, it is best you don't rush it and leave yourself open to mistakes), we can then take this information and proceed to actually running the script:

How To Run The bitcoin_fork_claimer Script From A Secure Ubuntu 16.04 Temporary Live Boot Session How To Run The bitcoin_fork_claimer Script From A Windows System