Open distributedstatemachine opened 2 weeks ago
remove_stake should be also queued during epoch
We dont care about the remove stakes , as stakes do not cheat the system by doing that. Stakers should be free to remove their stakes at anytime , but should know the consquences. We can probably warn of this in the cli.
can we calculate the emission at the end of epoch, to avoid calculation each block?
I dont think its feasible , as it complicates yuma consensus calculates, especially with stuff like liquid alpha , where the prior epochs performance is crucial.
Notes from const:
Description
Currently, the Bittensor Chain distributes emissions and updates staking information in every tempo. This frequent updating contributes to chain bloat and inefficiencies. To address this, we propose the following changes:
Acceptance Criteria
Tasks
generate_emission
function to queue emissions without distributing them immediately.distribute_emission
function to distribute the queued emissions at the end of each epoch.block_step
function to calldistribute_emission
if it is the end of an epoch.add_stake
function to queue the stake changes to be applied at the end of the current epoch.apply_queued_stakes
function to apply the queued stakes at the end of each epoch.block_step
function to callapply_queued_stakes
at the end of each epoch.Additional Considerations