The epoching module allows modules to queue messages for execution at a certain block height. This module should allow for for time dependent transitions based on a "global" block height from the settlement layer - i.e every few (Settlement layer) blocks do some cron job.
Motivation
The settlement layer has a constant block production time and inherently provides stability for dYmension RollApps. RollApps, on the other hand, may have inconsistent block production times as they are not required to produce empty blocks. RollApps should be able to use the settlement layer to automatically execute code at certain block heights.
Possible challenges
While adjusting the RDK's epoch module to track the settlement layer's block height may provide global consistency, the relative "time" or block frequency may differ based on application preference. A possible challenge to this epoch module adjustment is to make it more flexible and allow a boolean configuration to follow settlement layer blocks or local dymint produced blocks.
Overview
The epoching module allows modules to queue messages for execution at a certain block height. This module should allow for for time dependent transitions based on a "global" block height from the settlement layer - i.e every few (Settlement layer) blocks do some cron job.
Motivation
The settlement layer has a constant block production time and inherently provides stability for dYmension RollApps. RollApps, on the other hand, may have inconsistent block production times as they are not required to produce empty blocks. RollApps should be able to use the settlement layer to automatically execute code at certain block heights.
Possible challenges
While adjusting the RDK's epoch module to track the settlement layer's block height may provide global consistency, the relative "time" or block frequency may differ based on application preference. A possible challenge to this epoch module adjustment is to make it more flexible and allow a boolean configuration to follow settlement layer blocks or local dymint produced blocks.