Author

Topic: Playing with raw transactions, still not confirmed (Read 673 times)

legendary
Activity: 3472
Merit: 4801
Update: the transaction was broadcasted through blockchain.info API, and after 2 days I received an email from them saying they will cancel the transaction since it is not going to be confirmed.

My watch-only Electrum wallet still has it pending in transactions history.

When, and how, will I know that those coins are again in my sending address and I'm able to spend them in another transaction?

If you are going to be playing around with rawtransactions, then you need to understand that there are no "coins".  There is also no "sending address". There are only transactions.  Therefore, asking "When, and how, will I know that those coins are again in my sending address" is an unanswerable question.

You have unspent outputs that you attempted to spend when you created the transaction.  The transaction attempted to create new unspent outputs that can only be spent with signatures from particular private keys. Then you attempted to broadcast the transaction.

There are multiple places that the transaction could exist once you attempt to broadcast it.  It could be stored in your wallet. It could be stored by any peers that hear about it. It could be stored by any miners. It could be stored in the blockchain.info database.

If you try to create a new transaction that spends any of the same unspent inputs as were spent by the transaction that you broadcast, any of those places will simply ignore the new transaction if they still know about the old transaction (blockchain.info may store both transactions and create an indication on their webpage that both transactions are a "double-spend attempt").

If you stop your client from broadcasting the transaction, after a while, peers, miners, and blockchain.info will independently drop the unconfirmed transaction from their memory.  There is no easy way to determine which (if any) peers or miners have dropped the transaction from memory at any time.

Once you make sure that your client is no longer attempting to re-broadcast the transaction (by removing the transaction from your client), you can wait a few days.  Generally after a few days you can assume that most peers and miners have dropped the old transaction and will be willing/able to receive and relay the new one.

There is no guarantee that the old transaction will be dropped.  Any peer on the network can re-broadcast the old transaction at any time if they want to.  Generally, peers don't re-broadcast transactions that didn't originate from their node, but there is nothing stopping them from doing so if someone decides that they want to.

member
Activity: 82
Merit: 10
My watch-only Electrum wallet still has it pending in transactions history.

When, and how, will I know that those coins are again in my sending address and I'm able to spend them in another transaction?

It will take a little while for the miners to drop the transaction from their mempools. When it does, it should stop being pending in your wallet.

There's always the chance it will go through still, of course.
member
Activity: 72
Merit: 10
Update: the transaction was broadcasted through blockchain.info API, and after 2 days I received an email from them saying they will cancel the transaction since it is not going to be confirmed.

My watch-only Electrum wallet still has it pending in transactions history.

When, and how, will I know that those coins are again in my sending address and I'm able to spend them in another transaction?
member
Activity: 82
Merit: 10
2) in the meanwhile, that tiny btc amount is someway freezed? Am I able to spend them again (i.e. to use them from the same "unspent output" I picked them in order to build a new transaction)? Or they already belong to the new address and I will be able to spend them only from that new address and only if and when the transaction will be confirmed?

Not until some time has passed and nodes drop it out from their memory pools. Otherwise they won't accept another transaction that spends the same outputs and they will not relay it further. You can of course try until it succeeds.

Most wallet software will continue to try submitting the transaction to the network, so it would not simply disappear from memory pools.
member
Activity: 80
Merit: 10
Lead developer
1) is there at all the possibility that the transaction will eventually be confirmed?

Yep. Every miner decides for himself whether he will include your transaction in the block or not. And since its priority rises over time (see https://en.bitcoin.it/wiki/Transaction_fees#Technical_info), and your transaction is considered "standard", over time it's more and more probable for it to be included in a block.

2) in the meanwhile, that tiny btc amount is someway freezed? Am I able to spend them again (i.e. to use them from the same "unspent output" I picked them in order to build a new transaction)? Or they already belong to the new address and I will be able to spend them only from that new address and only if and when the transaction will be confirmed?

Not until some time has passed and nodes drop it out from their memory pools. Otherwise they won't accept another transaction that spends the same outputs and they will not relay it further. You can of course try until it succeeds.

3) does the transaction priority would have changed, even minimally, if I had included a 1 satoshi fee in the transaction? or the amount of fees is not important until they don't reach the "suggested" value?

Nope. If you pay a less than recommended fee, it is generally considered by miners as if you would pay no fee at all.
member
Activity: 72
Merit: 10
Hi all, I was playing with raw transactions just for fun, so I managed to generate a transaction between two wallets of mine of 5640 satoshi (the minimum amount which should be accepted by the network), without fees.
I finally broadcasted the transaction and all seems fine with the transaction itself.

Now, as it was predictable, the transaction doesn't get confirmed. It was broadcasted 48 hours ago. What I want to ask to someone more experienced than me is:

1) is there at all the possibility that the transaction will eventually be confirmed?
2) in the meanwhile, that tiny btc amount is someway freezed? Am I able to spend them again (i.e. to use them from the same "unspent output" I picked them in order to build a new transaction)? Or they already belong to the new address and I will be able to spend them only from that new address and only if and when the transaction will be confirmed?
3) does the transaction priority would have changed, even minimally, if I had included a 1 satoshi fee in the transaction? or the amount of fees is not important until they don't reach the "suggested" value?

Thanks
Jump to: