Is there a way to do something at each time interval in solidity without having to write and sign a transaction (paying gas) each time the interval passed.
For example. Say I have a glass of eWater on the blockchain that has 1L of eWater in it but every time 4 hours pass, it loses 100ml.
Is there a way to do this so every single hour the Volume will update on chain without human intervention.