Post
Topic
Board Announcements (Altcoins)
Re: [ANN][CLAM] CLAMs, Proof-Of-Chain, Proof-Of-Working-Stake, a.k.a. "Clamcoin"
by
dooglus
on 03/08/2016, 20:12:38 UTC
Thanks for yout reply, so in clam.conf splitsize line is for splitting clams when they stake in outputs of 25 each, and combinelimit is used for always having inputs between 25-50 clams in the wallet right?

Also 25/50 ratio is good enough to any clam holdings in a wallet?

When staking, if the output size is going to be more than twice 'splitsize' then it will add an output of size splitsize, and repeat. So if you have an output of size 100 which stakes (making 101) and splitsize=25, you will get 4 outputs (25, 25, 25, and 26).

If the output size isn't more than twice 'splitsize', it will look for other small outputs to combine with the one that is staking, aiming to make the output as big as it can, but no bigger than 'combinelimit'. So if you have a bunch of 10 CLAM outputs and one of them stakes and combinelimit=50, it will combine 4 of the 10's together and you'll end up with an output of size 41. (Combining 5 would be too much, giving 51). Since you're staking, you don't pay a transaction fee, so it's a good way of keeping the 'dust' outputs in your wallet under control without having to pay a fee to do so.

I like 25/50 because the JD staking wallet has so many CLAMs in it. Making the outputs any smaller means there are just too many of them. The client has to run through all the outputs every 16 seconds to check whether they can stake or not. If you don't have a lot of CLAMs you could safely use smaller numbers. Maybe 10 and 20.

The reason we split the outputs up is because when they stake they have to wait 500 blocks before they can start trying to stake again. I figured I was OK with 1% of the wallet's value sitting idle waiting to mature at any time. That means I want each output to take approximately 50k blocks to stake, so that the 500 blocks it takes to mature is 1% of its life. If 1100 CLAMs stake once per day (and we have 1440 blocks per day) then to stake every 50k blocks the output would need to be 1100 * 1440 / 50k = 31.68 CLAMs. So having them range from 25 to 50 is about in the right range.

Edit: here's an updated chart of the number of outputs of each size in the JD staking wallet:



The vast majority of the outputs are still 25 and 26 CLAMs, so we should be seeing less than 1% of the wallet sitting idle.

Right now, the balance is 1,454,986 of which 13,801 is idle - a little under 1%.