I would like to develop a Plutus script that executes each time an epoch ends.
What's the best way to achieve this behaviour?
Cardano Stack Exchange is a question and answer site for users and developers of the Cardano cryptocurrency ecosystem. It only takes a minute to sign up.
Sign up to join this communityI would like to develop a Plutus script that executes each time an epoch ends.
What's the best way to achieve this behaviour?
As mentioned by Jey earlier, blockchains and smart contracts remain latent until triggered by a user submitted transaction.
One way you could pull this off is that you could use the cardano-cli application to create, sign and submit a transaction which executed the plutus script at the end of every epoch. You can find out more about cardano-cli and plutus scripts here and a simple sample here
UPDATE: I realized that I missed out explaining how this could be done by creating an javascript bot which submits this kind of transaction near the end of the epoch automatically. You can use the cardanocli-js javascript library to achieve this... here's a basic sample, but you can pretty much do any kind of action that the cardano-cli can do, in a programmatic submission.
Hope this helps!
Scripts are executed as part of a transaction validation. That means: no transaction -> no script execution. The blockchain has no mechanism of timed or automatic script execution. What you can do is to implement transaction submission at every new epoch in your off-chain code.