Quick question, I am new to staking. I started last night, and the time to my first interest payment has decreased by about 7 days in 14 hours or so. Can anyone explain what the process is used to determine the length until payout?
This is defined in the file bitcoingui.cpp in the qt folder of the source. The way it's defined is as follows:
unsigned nEstimateTime = nTargetSpacing * nNetworkWeight / nWeight;
QString text;
if (nEstimateTime < 60)
{
text = tr("%n second(s)", "", nEstimateTime);
}
else if (nEstimateTime < 60*60)
{
text = tr("%n minute(s)", "", nEstimateTime/60);
}
else if (nEstimateTime < 24*60*60)
{
text = tr("%n hour(s)", "", nEstimateTime/(60*60));
}
else
{
text = tr("%n day(s)", "", nEstimateTime/(60*60*24));
}
nTargetSpacing is 1 minute (the blocktime).
nNetworkWeight is the current network stake weight.
nWeight is the the amount of coins you have eligible for staking.
So essentially the program estimates the time required for staking by looking at your coins, determining which ones can stake, and dividing it by the total network stake weight.