RIF Scheduler - A service for scheduling transactions
The main motivation of this project is to build a reliable service
that allows users to schedule RSK transactions that will be executed
in the future by a third party.
Install the SDK in your dapp’s front-end to enable your users to schedule transactions.
Read here how to run your own scheduler.
A requester (REQ) makes the payment of the service
for a given number of transactions to be executed.
The Service Provider (SP) provider will be the one who will
execute the transaction and receive the payment in return.
- REQ buys the service.
Pays in RIF tokens, RBTC, or any ERC20 whitelisted token
for an amount of transactions that can be scheduled in the future.
The SP is going to execute the transaction and receive the payment in return
- The payment is locked until each transaction is executed.
- REQ wants to schedule a transaction.
The transaction has a destination account and a data field,
and a given time of execution.
REQ submits this in the SP’s smart contract.
The SP service is notified of the new transaction requested.
- The alarm rings and the SP submits the transaction.
- The transaction is confirmed.
REQ is notified and SP gets paid for their service.
Design & architecture
The service is designed in three layers:
The smart contracts layer -
the transaction scheduling logic and the payment model
for the scheduling service are executed in this layer.
The service layer -
this layer implements everything necessary so that
the service provider can execute transactions in a timely manner.
It listens to new schedules and executes them in the given time.
The SDK -
a front-end library for scheduling transactions with web3 providers.