The blockchain (bitcoin) is at a crawl with over 165,000 transaction cram packed plugging up the network. There's been speculation of spam, an attack, a malicious attack from other coins, folks desperately trying to move coins into other coins, etc...

Without any scaling solution to date, this is just a mess that was bound to happen. It's not like it's the first time this has occurred, and assuming bitcoin survives the week, it likely won't be the last.

What Can You Do?

Here's a list of things you can do to handle the situation.

1. Wait

If your transaction(s) isn't critical, the best thing you can do is just wait. The blockchain will eventually clear up and things will move along. 

2. Send High Fee

The second thing you can do is that if you haven't already sent your transaction, make damn sure you send it with an appropriate fee. The highest you can afford. This will give the transaction preference with a better chance to hit the next block or 20. 

If you're sending a single transaction you can use services such as https://estimatefee.com/ to calculate the fee you should send. At the time of this writing the going rate is about 700 sat/per byte. Fill in the form and it'll calculate the transaction for you.

If your sending manually and just want to calculate this yourself, then get the recommended fee from the link above or from https://bitcoinfees.earn.com/ (by 21). They also have an API to do this if you're running things programmatically. 

The endpoints are located here: https://bitcoinfees.21.co/api

You'll need the number of inputs and outputs to calculate the fee. If ins is inputs and outs is outputs and you have two of each. The calculation would be as such using spb as satoshis per byte:

fee = spb(((ins * 148) + (outs * 35)) + ((1 + 12 )+ ins)) 

If spb was recommended at 700 sat/byte then the fee would come to 266700 sat. Which you would multiply by 0.00000001. Which means the fee would be 0.002667. With the going rate of $6,145 that would come to $16.39 (rounded up) for a fast transaction.

[code type="JQuery"] function GetFee(ins, outs){ $.ajax({ url: 'https://bitcoinfees.earn.com/api/v1/fees/recommended', jsonpCallback: 'jsonCallback', contentType: "application/json", dataType: 'json', async: false, success: function (json) { var estm = (ins * 148) + (outs * 35) + 2 + 10 + ins var fee = ((estm * (json.fastestFee)) * 0.00000001); return fee; }, error: function (e) { console.log(e.message); } }); } [/code]

3. Replace The Fee 

If you have already sent the transaction and the fee is low, replace it with a higher fee. If you're using Electrum for example, you'll want to simply right-hand click on the transaction and select "replace fee". Enter the higher fee and then send/broadcast the transaction.

4. Push the Raw Transaction

In some cases, if you do not see the transaction on the blockchain, it may not be broadcast or has other issues. In this case you can manually push the transaction from Bitcoin Core or a service or API. 

First you need the raw hex. You can do this a few different ways.

From Electrum console:

Enter:

>> gettransaction('c5cd7d84778d443b05dfa1823413d79c91358be9608cf6f96f7cff01d448e591')

Return:

{
"complete": true,
"final": true,
"hex": "0100000001bc0c310b2cd2fc214daacc689b460b503a193dcb6b6f25269d93f8c4bc641e1c4c0000006b483045022100bfc0f45a0f0a890bb77b6749e6306919c918fc127ee4c8e1cfe353a79b4451c8022023a96ee5844dde11a59385940fc5d33bce96013cea97464f511e677cc1c41344012103080da602fd8cc0ce86b126d3eeae1141201499115eca35c6e6452985379ee3f7ffffffff0240420f000000000017a914dcaae569708dc17862fef2edde6e48fdd1759a6a8792fdb000000000001976a91499615a10294070621b1f9c727c44f5a4818e001488ac00000000"
}

The highlighted portion is what you are looking for.

From Blockchain.info:

Append the following: ?format=hex

Enter: blockchain.info/tx/c5cd7d84778d443b05dfa1823413d79c91358be9608cf6f96f7cff01d448e591?format=hex


From Blockcypher:

Append the following: ?includeHex=true

Enter:

 https://api.blockcypher.com/v1/btc/main/txs/c5cd7d84778d443b05dfa1823413d79c91358be9608cf6f96f7cff01d448e591?includeHex=true

Once you have the raw hex code you can push the transaction. Blockchain.info has a simple tool for this if you don't feel comfortable in the console of Core. You can use blockchain.info/pushtx and enter the hex code from above.



If successful you'll get a "Transaction Submitted return.

These are just a few tips you may find useful. If all else fails you can always "Child pays for Parent" back to yourself. That's where the parent transaction (the stuck one) piggy backs on a child transaction (a new transaction sending back to a wallet you own) with a higher fee. 

That another story for another day. Hopefully your transaction won't still be stuck when that day arrives. 
[info title="Info message" icon="info-circle"] You can always drop us a line at [email protected] if you need some assistance.We'll be happy to help.
[/info]



Article by dinbits
Image Credits:
Banner Image by dinbits.com staff


The opinions expressed by authors of articles linked, referenced, or published on dinbits.com do not necessarily express, nor are endorsed by, the opinions the of dinbits.com or its affiliates.

Post a Comment

Powered by Blogger.