You
should be able to use numbers down to a single duff, breaking a 0.001 for unmixable change...
Excuse me, is PrivateSend supposed to work with integer numbers only? When i type anything with lower denomination it throws an error
Hmm... UX seem confusing since it shows a balance, but not a DS balance. From that screenshot, we have no way of knowing if you have a sufficient DS balance... Maybe the error is totally appropriate. There's no way you or I can tell... What's going on?
If I type
Code:
~/.dashcore/dash-cli getwalletinfo
I get
Code:
{
"walletversion": 120200,
"balance": [redacted],
"privatesend_balance": [redacted],
"unconfirmed_balance": [redacted],
"immature_balance": [redacted],
...
}
Very succinct. Exactly what I needed.
...just pointing out why I don't use the QT anymore. It's a pain. Instead of being user friendly, it's annoying and subverts the user's interest. How did DASH end up with a CLI that is an improvement over the GUI?
I had a lot of annoying errors with the QT. All of which seemed to be contradicting itself. When I switched to the CLI I could actually see what was happening and it made a lot more sense. Turns out I wasn't crazy, QT is is crazy.
Would be nice if the GUI showed users what they need to know...
I ran into two conditions where this "insufficient balance" would happen to me, even when I'm not using DS.
1) Not long after having sent a new, very large VIN. Say, 75,000 DASH. The cleint willbreak this into denominations, then start mixing. During the initial denomination process, you can't touch it. The QT won't tell you what's going on. It shows you the balance, but then it tell you you have nothing. You can try to send 0.00000001 DASH and it'll tell you that your balance is insufficient. If you're rolling a "tail -f debug.log" you'll eventually realize that you can't touch your duffs during the denomination process. Nobody will tell you this. It's not documented. The QT won't tell you why. Just wait about half an hour and it'll work. It does not instill confidence. Especially when it seems like the thing has gone haywire by giving you conflicting information about your very large pile of money you can't seem to touch anymore...
2) The QT selects source funds very stupidly. Again, a DS related issue. The QT
loves to select VINs that are pending from a mix submission. Nobody will tell you this. It's not documented. The QT won't tell you why. But, when it tries to generate/sign the message, it'll tell you that your balance is insufficient because it picks VINs that are pending. It's dumb.
It'll do this whether you use DS or not, but it a condition caused by not reporting or not noticing that DS is in mid-mixing operation. Again, if you watch tail -f debug.log, and try to hit the command right after a new block lands (grep for "new best" lines), and before DS can accomplish anything or reset it's state after the new block, it'll work perfectly... But, once DS starts doing it's thing, you get dumb, self-contradicting errors that leave you wondering if this thing can be trusted, if you're about to lose everything, or already lost everything... The sane person will try to restart the software, but that just exacerbates the problem... You can end up with a bunch of wallet TXes that never broadcast and need to be zapped... At no point is there any outward indication what's going on or why. It's actually perfectly normal. Just wait. It'll get it's head out of it's butt in about half an hour...
When dealing with the large numbers I do, this crap gives me a heart attack. When I discovered that the CLI doesn't suffer from these problems, I quit using the QT. I don't need this stress in my life.
I also force a restart of the deamon in cron every so often. It used to be my lame way of dealing with the constant crashes. But ever since the malformed block update imported from Bitcoin core, the client runs solid and never crashes anymore. I mean
never. Now the cron restarts are there strictly to deliberately re-index and zap all TXes every once in a while. Paranoid habit... Not sure if it's helping not, but I don't have any of these weird problems anymore. Can't wait to go DAPI/light...
One thing that does sometimes happen with using DS from the command line, is that it will pick tons of tiny VINs that result in a "transaction too large" failure. If you're trying to create 1000 DASH outputs from a wallet containing very large amounts of DASH, you'll run into this. You may successfully get a a few dozen 1000 DASH outputs. But, then the next one keeps throwing "transaction too large." What, I'm too big of a whale? No, it actually means the physical size of the transaction is too big, not the amount of DASH. What happened is that the previous 1000 DASH increments were created using all the large VINs. 10s and 1s. All you've got left is a giant heap of .01s. Blocksize limitations being lifted resulted in a condition where each transaction had to be limited in size to prevent a problem. DS doesn't pick what it throws into a TX very wisely. You end up with, say, 1200 DASH worth of .01 that exceeds the TX KB limit if you try a 1000 DASH TX on it. Send to self in a smaller amount. Keep trying smaller numbers until it works. That new VIN will re-denominate with new 10s and 1s. Eventually, it'll all re-mix and you'll be able to make a TX out of it with the new, larger denominations... This definitely bones your privacy... DASH doesn't handle "seismic events" well. and why should it? It's an edge case that almost never happens...
Sadly, it can be said that XMR doesn't have these problems... All of these have been nagging issues for years, which will all be fixed in Evolution... Or so we were told years ago... Here's 0.13 on testnet...
0.13.0.0-RC11 looks like our girl... Evolution is here. I really hope it gets fixed... Only one of the people currently working on DASH was actually around way back then... These loose ends have been left untied for waayyy too long. Most of the team is a bunch of new guys who may not even be aware of it... It may seem like getting blindsided out of left field when a bunch of people start saying "Uhm, what about X, Y, and Z that you promised? Evolution doesn't at all resemble what Evan said it would back in 2015, and all these problems are still problems..." Saying "It's not ready yet, wait for Evolution, it'll all be fixed in Evolution." isn't going to work anymore, because this
is Evolution... The rest of the marketplace has "DASH promise fatigue" to the point that nobody takes it seriously anymore... [fingers crossed]