I've got a weird issue since the last "consolidate": My wallet now sends out ALL the funds even when I only send 0.X DCR and returns the rest to the wallet... So I have for example 500 DCR balance, send out 0.5 DCR to a address, the wallet sends out 500 DCR, 0.5 DCR to the address where it belongs and 499.5 to a new address of my wallet. The problem is - until this TX is confirmed, my balance remains 0 letting all other TX'es fail...
This sounds correct. The consolidate transferred all your funds into one output. If you want to spend change from a 0-conf transaction, you need to use sendfrom or sendmany and set minconf to 0 instead of using sendtoaddress. Send to address requires a minconf of 1.
Usually it was that after a few confirmations I had the full balance back in my account. Then I could simply send multiple TX'es from that "big" balance, not only ONE transaction and I'd have to wait again for a few confirmations until the big balance is back .. Currently it's like this: Balance 2000 Consolidate -> Balance 0 After a few confs -> Balance 2000 sendtoaddress dcdcdcdcdcd 0.5 Balance 0 After a few confs -> Balance 1999.5 Sendtoaddress dededede 0.7 Balance 0 After a few confs -> Balance 1998.8 Sendtoaddres dadadadda 0.8 Balance 0 After a few confs -> Balance 1998 ... So I can only send ONE transaction and have to wait to get my balance back now ? That was not the case with 0.0.8 and all versions before
The transaction creation code changed in the last version or two. Instead of sendtoaddress use sendfrom with 0 minconf. Code: sendtoaddress dadadadda 0.8 becomes Code: sendfrom default dadadadda 0.8 0
@ceejep So it's wrong to use sendtoaddress now for sending DCR to someone? What's the use and differences between sendtoaddress, sendfrom and sendmany? Can you please explain them some more? Maybe @davecgh can help for it too?
It looks like it answers your question and solves your problem to me. Question: So I can only send ONE transaction and have to wait to get my balance back now? Answer: The transaction creation code changed in the last version or two. Instead of sendtoaddress use sendfrom with 0 minconf. So sendtoaddress now requires at least one block confirmation. So I can see how this would lock funds in that address since it's part of the transaction that needs a confirmation. Problem: I can't send more than one transaction without waiting a block for confirmation. Solution: Instead of sendtoaddress use sendfrom with 0 minconf So you use sendfrom now. The last argument is how many confirmations you want to wait. By setting it to 0 you're saying I don't want to wait for the transaction to be confirmed and you can continue to send other transactions.
sendfrom sends from a specific account, sendmany sends multiple outputs. Both let you spend from zero conf transactions which sendtoaddress only allows you to spend from transactions with >= 1 confs.