Balance Problem : "locked" Is 60 % Of "all" - "spendable"

Discussion in 'Balances' started by root, Apr 10, 2016.

  1. 2017/12/15 - Decred v1.1.2 released! → Release Notes  → Downloads
  1. root

    root Member

    Feb 3, 2016
    381
    76
    My DCR are hidden in some magic land, where I can not see them.
    Please help with balance problem : "locked" is 60 % of "all" - "spendable".

    I was sending money, doing PoS, and PoW.
    Now recreated from seed, version 10, but still nothing.

    It seems like enablestakemining buys only one ticket per block.
    But I'd like to buy more while they are still cheap.

    And it seems every time a ticket is bought, "locked" is increased by the price of the ticket.

    But "spendable" stays 9.4 all the time.

    Is there a way to "see" the hidden money, and even better - use them ?

    BTW - that is crazy, after block height 18186, I can see blocks raining like crazy. Somebody broke the Decred hash already ?
     
  2. kaida

    kaida New Member

    Jan 4, 2016
    78
    24
    Information Security
    San Francisco, CA
    It sounds like you did a consolidate to have all your funds at one address. So you purchase one ticket, all your funds in that wallet address go out and you have to wait a block for the change to return so you can purchase the next ticket.
     
  3. Ayush

    Ayush Full Member
    Advocate (Facebook)

    Jan 9, 2016
    512
    100
    Male
    .
    .
    What does
    dcrctl -u "username" -P "password" --wallet getbalance "default" 0 all

    And

    dcrctl -u "username" -P "password" --wallet getbalance "*" 0 all

    show?
    And while recreating wallet from seed, did you import script (If you use stake pool) ?
     
  4. sambiohazard

    sambiohazard Sr. Member

    Jan 21, 2016
    844
    372
    Probably what Kaida is saying if you are solo staking or What Ayush is saying if you use stakepool. The thing i would like to add is, if you voted in last 256 blocks then those funds are "Immature" and cant be seen with getbalance until they become mature after 256 blocks. I am saying this for the nth time that devs should either add a "immature" type to getbalance or show those funds in locked atleast. Just not able to see those funds in any way is kind of dumb.
     
    drunkenmugsy likes this.
  5. root

    root Member

    Feb 3, 2016
    381
    76
    Probably @kaida - it resolved by itself :)
    I am not watching it 24 / 7
     
    sambiohazard likes this.
  6. drunkenmugsy

    drunkenmugsy Sr. Member
    Advocate (Reddit)

    Dec 28, 2015
    405
    218
    Male
    I am going to let my crypto coin noobiness show here - But why does decred need to 'spend' all of your available coins to make a smaller purchase? Is there some technical reason for this? If I was at a brick and mortar and the guy said ok its $23.39 give me whatever is in your wallet. I will take what I need and give you back whats left. First I would look at him like he was crazy, then I would say you can keep your stuff and then shop elsewhere. Why does that not apply here? It is so counter intuitive and causes problems like this.
    I get the whole immature/mature part. Just not the purchase with all coins part.
     
  7. Kandiru

    Kandiru Member

    Feb 21, 2016
    207
    87
    Part of it is privacy. If you always split a balance into two outputs, then an outsider won't know which one is still yours, and which you sent to someone else.

    If you always only split off your payment, then it's obvious that the remaining coins at the old address are yours.
     
  8. davecgh

    davecgh Hero Member
    Developer Organizer

    Dec 31, 2015
    642
    788
    Male
    United States
    Your example is close, but it's not quite right. It's not "give me whatever is in your wallet" rather it's give me the smallest quantity you have that is large enough to pay for the bill.

    Take your example in the brick and mortar store where the total to be paid is $23.39. When you open your wallet and you only have a $100 bill, well then you're going to give him the $100 bill and he'll return the remaining $76.61 to you. Or, maybe you open your wallet and you only have a $20 bill and a $10 bill. You're going to give him the $30 and get back $6.61.

    That is exactly what happens with crypto coins, except instead of a $100, $20, or $10 bill , it's whatever the smallest utxo (unspent transaction output), or combinations thereof, you happen to have that is large enough to pay for the total amount (plus the transaction fee) and the change is returned to you. Instead of having fixed denominations a "bill" (token) can be worth any amount.

    For a concrete example that uses your original total, but in terms of DCR, say that the total amount to be paid is 23.39 DCR. In your wallet you only have a single utxo that is 100 DCR (this is the equivalent of only having a $100 bill/token). Well, you pay 23.39 DCR to the "store clerk" and you get back 76.61 DCR. The difference here is, with cash you would probably get back three $20 bills, a $10 bill, a $5 bill, a $1 bill, 2 quarters, a dime, and a penny whereas with crypto coins you get back a single "bill" (token) that is worth that 76.61 DCR.

    So, when you run "consolidate" it is basically like taking all of your $100, $20, $10, $5, and $1 bills, plus your quarters, nickels, dimes, and pennies that you have been saving up and trading them in for a single $1,000 bill. Of course the next time you make a purchase for that $23.39, you will need to pay with that $1,000 bill because it's all you have in your wallet, and your change will be $976.61.
     
  9. Lee Sharp

    Lee Sharp Sr. Member

    Dec 28, 2015
    308
    217
    Male
    Independent Consultant
    Houston, Texas
    So, using your example, why does buying stake tokens have problems with paying in pennies?
     
  10. drunkenmugsy

    drunkenmugsy Sr. Member
    Advocate (Reddit)

    Dec 28, 2015
    405
    218
    Male
    There you go again answering all my questions is 1 damn post. hehe Thanks.
     
    woot likes this.
  11. davecgh

    davecgh Hero Member
    Developer Organizer

    Dec 31, 2015
    642
    788
    Male
    United States
    It's because ticket purchase transactions are special in that the number of inputs are directly correlated with the number of commitment outputs. In a regular transaction, there is no correlation between the number of inputs and outputs.

    The reason for the correlation is to securely support reward splitting where multiple people are purchasing a single ticket. Each commitment is proportional to the associated input minus the change which means multiple people can collectively purchase tickets fairly by round robin signing without the coordinator being able to cheat.

    I should also note that the next version of wallet, I believe, will contain code that creates a normal transaction, which can take multiple inputs, and produces ticket-sized outputs which are then used to purchase the tickets. That will effectively solve the inability to purchase tickets for smaller amounts in exchange for a transaction fee without having to consolidate the entire wallet.
     
    Lee Sharp likes this.
  12. D Austin

    D Austin New Member

    Apr 5, 2017
    4
    0
    Netherlands
    can you please explain this?
     
  13. D Austin

    D Austin New Member

    Apr 5, 2017
    4
    0
    Netherlands
    When do i get back myDCR that were sent with the ticket???
     

Share This Page