You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance producer pay calculation by implementing a detailed multiplier system for active and standby producers. The new logic uses an arithmetic sequence to determine share values based on the number of active producers, improving accuracy in reward distribution.
auto shareValue = (_gstate.perblock_bucket / sharecount);
354
+
// the multiplier is applied to the shares, and the shares are then multiplied by the share value
355
+
// the share value is the total amount of the perblock bucket divided by the sum of the multipliers
356
+
// the sum of the multipliers is the sum of the multipliers for the active producers and the standby producers
357
+
// The multipliers for the active producers are 1.2, 1.18, ... , 0.82, 0.8 each multiplied by 2, and for the standby producers are 1.2, 1.18, ... , 0.82, 0.8 each multiplied by 1
358
+
// The multipliers forms a arithmetic sequence with a common difference of -0.02
359
+
// The sum of arithmetic sequence is given by n/2 * (2 * first term + (n-1) * common difference)
360
+
// If activecount <= 21, then the sum of the multipliers is given by (activecount)/2 * (2 * 1.2 + (activecount-1) * -0.02) * 2
361
+
// If activecount > 21, then the sum of the multipliers is given by 42 + ((activecount-21)/2) * (2 * 1.2 + (activecount-22) * -0.02)
362
+
// 42 is the sum of the multipliers for the first 21 active producers
0 commit comments