I added PoS at cryptohub but maximum for staking for one user is 1000
I want to know community's opinion about it
Wow that is great news!
If you want, I can try to optimize the wallet or put in something to reduce CPU usage.
Do you know how exactly works PoS? I was reading that staking has difficulity that depends on summary wallet balance (more balance - lower dif), but how it guess the task? Using CPU? But XLR and WYV wallets currently consume 0% and they are at staking too. Only CROC wallet consumes CPU at my server
When I was looking at PoS code it seems to be nearly random. I think it is myth that "more balance = lower difficulty". What actually happens is there is a probability of a block to be a stake block. You can stake multiple times (lets say, 1000 CROC, staked 10 times = 10,000 CROC staked) to find staked blocks faster. Or you can stake the whole 10,000 CROC once. The payout will be greater, but the chances of finding a stake block will be lower.
My setup is, I'm staking about 10,000 CROC split up 3 times. I make much more this way.
I will checkout the CPU usage issue and make it my priority number 1.
Edit: re-compiling CrocodileCash with -pg to do the profiling with gprof. I'll keep you updated.
the general rule (with this form of POS) is that your input weight increases probability (other forms do not use coin weight).
bigger input = more probability
older input = more probability
each input is hashed every second to see if it can stake. if the outcome is lower than the diff you win !!
unless it orphans
the other factor is that min stake age ( 2hours ) effects overall probability because it is time that you cannot stake.
if probability holds correctly.
1 input that takes ~ 24 hours to stake, will pay 22 hours of interest (total stake time - min stake age).
split up
4 inputs will take 4*22 plus the 2hours min stake or ~90 hours, and pay 88 hours of interest
1 input time ratio for staking will then be 22/24
vs
4 inputs time ratio will be 88/90
4 inputs gives you a better probabilistic time ratio for staking. and probabilistically you will not miss out by splitting.
however with 2 hrs min stake age, the difference is not as pronounced as a 7day min stake age.
also this does not take into accountt compounding returns
also
many small stakes raises difficulty.
..
if you're really keen, you can adjust settings when you compile daemon
https://github.com/RangaBoom/CrocodileCash/blob/master/src/wallet.cpp#L18unsigned int nStakeSplitAge = 1 * 24 * 60 * 60;
int64_t nStakeCombineThreshold = 1000 * COIN;
the basics is that if your input is under 1 day old it will split,
if it is over it will recombine unless it's over 1000
this is also a good way to recombine all yr piddly inputs if you want,
example - combine into single input
unsigned int nStakeSplitAge = 1 ;
int64_t nStakeCombineThreshold = 100000000 * COIN;
split into millions of teeny ones
unsigned int nStakeSplitAge = 9999 * 24 * 60 * 60;
int64_t nStakeCombineThreshold = 1 * COIN;
..
on another note,
glad to see croc going full steam, i dont follow threads and just randomly checked in today to see much discussions !!
i'm available for advice or help if you pm me
and will happily help with osx wallets as required.