Andre has a set of node.js scripts for 3 of the jobs on the keeper.network Github repo. You can find them here.
You can download node.js and download these files and run these from the command line doing “node UniswapV2OracleKeeper.js”, for example.
Note that you have to edit the files to replace some placeholders Andre added:
const provider = new Web3.providers.HttpProvider(**<PROVIDER>**);
const account = <ETH-ADDRESS>;
const privateKey = Buffer.from(<PRIVATEKEY>, 'hex');
For <PROVIDER>, you can make an https://infura.io/ account and replace with your mainnet infura https:// endpoint.
After registering and making a project, you can find it here:
Copy paste that url and replace <PROVIDER> with it in the text file. Make sure to wrap it in single quotes like ‘https://mainnet.infura.io/v3/deadbeefdeadbeefdeadbeef’
For <ETH-ADDRESS>, just put your Keeper’s ethereum address in single quotes.
For <PRIVATEKEY>, I just first want to slap on a huge warning about this. Exporting your private key and putting it in a file is extremely dangerous. This instantly turns any cold wallet into a hot wallet and you should only be doing this with wallets you are prepared to lose. As soon as someone else sees your private key, that wallet is compromised and your coins will be stolen. Do not screenshot this code after pasting your private key and try to ask questions for help here. Be very careful.
I repeat, exporting your private key and putting it in a file is not secure. Do NOT under any circumstance put your main wallet’s private key into a file like this. If you bonded with your main wallet, too bad. Make a new account, send it some ether, bond again and wait 3 days. It is worth the safety.
Now after heeding this warning, you should have a throwaway wallet that is bonded and includes a small amount of Eth. You can now replace with your wallet’s private key and run the script using node in the command line.
Currently the script will check every 5 minutes if a job is workable and will work the job if it is workable.
You can change the milliseconds that the script waits to try again by editing this line:
You can change 300000 to something smaller. Remember this is in milliseconds, so 300000 ms is 5 minutes and 1000 ms is a second. Be careful not to refresh too quickly or you might use too many api calls on your Infura node. 1 minute might be plenty, aka 60000 ms.
This isn’t the best way to do this and a more secure and reliable automated option is described by Andre here. OpenZeppelin defender’s relayer technology will generate a new private key for each transaction which is much more secure. Consider it if you are going into the business of cloud automated Keepers.