Author

Topic: Can't create a transaction that is acceptable (too large transaction!) (Read 469 times)

newbie
Activity: 7
Merit: 13
I have managed to broadcast a new transaction with 1.2 satoshi/byte. Thanks for this suggestion.

I already have managed to change the settings of the mining pool some weeks ago, so that fewer and greater amounts are payed to me. But I have to consolidate the 1080 inputs from the past.

And my future wallet is of segwit type so it should be possible to prevent the problem with the fees in the future.

Thanks to you all. I learned a bit about electrum and transactions in this discussion of my problem.
legendary
Activity: 2268
Merit: 18748
I see from a blockexplorer that you are now managing to consolidate your inputs. Be aware that although 1 sat/vbyte transactions are currently being mined, there is a back log of 38 MB of 1 sat/vbyte transactions sitting in the mempool, so your most recent transaction might take a long time to confirm. Not a problem if you are not in hurry, but if you are then since you have enabled RBF you can bump the fee up to 2 sat/vbyte which at time of writing would get you in to the next block.

I also see you were still receiving inputs on that address up until a few months ago. I don't know which mining pool you were/are mining with, but you should see if you can decrease the frequency of payouts. Paying 0.001 BTC several times a week, and sometimes several times a day, is an incredibly inefficient way to use bitcoin, as you are now finding out. A couple of payments a month of 0.01 BTC instead would have saved you 90% of the fees you are going to end up paying here.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
I'd suggest you to use the coin control as HCP suggested,
You can use 'SHIFT+Left Click' to select multiple coins (UTXO) at a time, you can make 2 transactions each using half of your available coins.

I can live with the fact that I still pay 86 USD fees for all 1000+ inputs if I use 2 sat/byte. Maybe I consolidate them with 1 sat / byte then I "only" have to pay 43 USD ^^
Or pay 1.2sat/B, it's higher than 1sat/B but not as expensive as 2sat/B  Wink
It's possible by editing the 'absolute fee' above the fee slider next to the equal sign of the 'Target fee' and 'bytes' in the advanced preview.
newbie
Activity: 7
Merit: 13
It's unlikely that making a manual transaction will work... the issue is the "old" 100kb transaction size limit... it's now a "weight" limit of 400000.
/** The maximum weight for transactions we're willing to relay/mine */
static const unsigned int MAX_STANDARD_TX_WEIGHT = 400000;

Weight / 4 = size... so 400000 / 4 = 100000 bytes or 100kb...

Your transaction is 156kb... it's simply too large to be relayed. Whether you try and create this transaction using Electrum or doing it manually, it'll still be refused by most, if not all, nodes.


Your best bet will be to use "coin control" in Electrum... use "View -> Show Coins" and try selecting in groups of 100 and send them back to yourself with a low fee... once you have done that with the 1060 "small value" UTXOs, you'll be left with around 10-11 "larger value" UTXOs...

Have a read of this: Fees are low, use this opportunity to Consolidate your small inputs!

NOTE: fees are super low, but they are fairly low at the time of writing this... it'll still cost you more if you need fast confirmation at the moment as a "next block fee rate" is currently around 6-10 sats/byte... otherwise, if you create the consolidation transactions with 1 sat/byte, you'll be waiting hours, if not days, for confirmation... as there are like 50 blocks worth of unconfirmed 1 sat/byte transactions at the moment.


Thank you very much. I'm going to consolidate my >= 1000 inputs into a new segwit wallet. I can live with the fact that I still pay 86 USD fees for all 1000+ inputs if I use 2 sat/byte. Maybe I consolidate them with 1 sat / byte then I "only" have to pay 43 USD ^^

legendary
Activity: 3472
Merit: 10611
If I were you I would build and sign one transaction manually (which would make it non-standard) but then contact the mining pool you are mining at and ask them to include your transaction in their next block. This way you save on paying high fees due to creating multiple transactions. Just make sure the transaction you are building is correct and is sending all your funds to the destination address you wanted (no change address is needed since you are consolidating outputs).

@neutraLTC may also be able to help you since they have access to Poolin mining pool and have helped with a non-standard transaction in the past.
HCP
legendary
Activity: 2086
Merit: 4361
It's unlikely that making a manual transaction will work... the issue is the "old" 100kb transaction size limit... it's now a "weight" limit of 400000.
/** The maximum weight for transactions we're willing to relay/mine */
static const unsigned int MAX_STANDARD_TX_WEIGHT = 400000;

Weight / 4 = size... so 400000 / 4 = 100000 bytes or 100kb...

Your transaction is 156kb... it's simply too large to be relayed. Whether you try and create this transaction using Electrum or doing it manually, it'll still be refused by most, if not all, nodes.


Your best bet will be to use "coin control" in Electrum... use "View -> Show Coins" and try selecting in groups of 100 and send them back to yourself with a low fee... once you have done that with the 1060 "small value" UTXOs, you'll be left with around 10-11 "larger value" UTXOs...

Have a read of this: Fees are low, use this opportunity to Consolidate your small inputs!

NOTE: fees are super low, but they are fairly low at the time of writing this... it'll still cost you more if you need fast confirmation at the moment as a "next block fee rate" is currently around 6-10 sats/byte... otherwise, if you create the consolidation transactions with 1 sat/byte, you'll be waiting hours, if not days, for confirmation... as there are like 50 blocks worth of unconfirmed 1 sat/byte transactions at the moment.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Someone had exactly your problem in an old thread here: Error: Transaction creation failed!

I'm going to summarize how they managed to solve it. You can export the private keys with those inputs into Bitcoin Core and build a raw transaction using the Console and the createrawtransaction command. You also need to get the output points of all of your inputs you're trying to send. These can be copied from the Coins tab in Electrum (click View > Show Coins if you don't see this tab.) An output point is formatted like TRANSACTION_ID:VOUT. So you build the raw transaction like this:

Code:
createrawtransaction [{\"txid\":\"INPUT #1 TRANSACTION_ID\",\"vout\":INPUT #1 VOUT}, {\"txid\":\"INPUT #2 TRANSACTION_ID\",\"vout\":INPUT #2 VOUT}, PUT_MORE_INPUTS_HERE ], {\"DESTINATION_ADDRESS\":RECEIVE_AMOUNT_BTC}

You replace TRANSACTION_ID and VOUT with the corresponding values of each output point. DESTINATION_ADDRESS is the address you want to send it to, and RECEIVE_AMOUNT_BTC is the amount of BTC you're trying to send. The transaction fee will be RECEIVE_AMOUNT_BTC - the sum of your inputs.

Also an important thing to note is that you'll have to spend only a few inputs at a time so the transaction doesn't become too large. That means you have to create several spending transactions.

It's going to return another transaction ID that's unsigned. Then you have to sign the it using signrawtransaction:

Code:
signrawtransaction UNSIGNED_TRANSACTION_ID

According to DannyHamilton the output of that is going to look like this:

You should receive a response of:

Code:
{
"hex" :
"signed_raw_transaction_in_byte_form",
"complete" : true
}

And the signed transaction ID is going to be in the signed_raw_transaction_in_byte_form field.

Finally you have to broadcast the signed transaction using sendrawtransaction. The transaction will also be synchronized to your electrum wallet.

Code:
sendrawtransaction SIGNED_TRANSACTION

If the fee is large enough, a miner should include your transaction in a block fairly quickly. Otherwise you can reach out to this guy at Poolin for help:  https://bitcointalksearch.org/topic/stuck-transaction-pushtxcom-1-bitcoin-transaction-accelerator-poolincom-5181601 , he's mined stuck transactions before.
copper member
Activity: 2338
Merit: 4543
Join the world-leading crypto sportsbook NOW!
Wow, that must be frustrating.  Sorry you're having that issue.  The only thing I can suggest is trying to break up the transactions into two or three, and see if Electrum will accept them.  The other thought I had: it looks like all 1060 inputs are to the same address, correct?  If you have a bitcoin node running, you could try importing the private key into core and trying to send the transactions using core.  Core should be able to handle all the transactions at once.

Anyway, I'm sure some folks with more knowledge and experience than I have will be along shortly, I'm anxious to learn as well.

Good luck.
sr. member
Activity: 1680
Merit: 379
Top Crypto Casino
I don't know if this rule has changed but as far as I'm aware the maximum standard transaction size is 100KB. Your transaction is larger than this and that is why it can't be relayed. You will have to send  your coins in multiple transactions with fewer inputs. Just set the fee to 1 sat/byte to make it a little less expensive.
newbie
Activity: 7
Merit: 13
Hi,

I'm using Electrum 4.0.9 and I have an unexpected problem.

I'm using a wallet that has received thousands of very small amounts of bitcoins (due to mining).

Now I have created another native segwit wallet in order to have bech32 support. I managed to transfer small amounts of bitcoin (two times 0.5).

But now it is difficult to transfer more than just a very small amount because of the number of inputs increases.

Scenario A (transaction size = 519 Bytes):

If I try to transfer 0,01 BTC and I choose a static transaction fee of 2 satoshi/byte then I have to pay a transaction fee of only 0.3 USD, The transaction consists only of 3 inputs.

Scenario B (transaction size = 156957 Bytes):

If I try to transfer 0,04 BTC and I choose a static transaction fee of 2 satoshi/byte then I have to pay a transaction fee of 86 USD, The transaction consists of 1060 inputs and a huge amount is stored on a change address.

If I try to confirm that. I receive an error!

Errormessage:

https://www.janda.io/images/misc/Electrum_send_error.png

Transaction details of Scenario A:

https://www.janda.io/images/misc/Electrum_3inputs.png

Transaction details of Scenario B:

https://www.janda.io/images/misc/Electrum_1060inputs.png
Jump to: