Requirements
- Docker
Install
git clone https://github.com/JulianWe/price-bot.git
create .env file and replace following variables
RPC_URL="https://mainnet.infura.io/v3/<API_KEY>"
PRIVATE_KEY="<META_MASK_PK>"
ACCOUNT="<META_MASK_ADDRESS>"
Dockerfile
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5001
CMD [ "node", "index.js" ]
start node application
docker build . -t price-bot
docker run -p 5001:5001 -d price-bot
docker logs <CONTAINER ID>
docker logs output:
Listening on 5001
Checking prices...
┌─────────┬─────────────┬──────────────┬──────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'DAI' │ '1.0' │ '1823.050080222385197257' │ '1824.444499677818058964' │ '1769.711164687483517195' │ '2023-08-04T15:16:16-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'KNC' │ '1.0' │ '2165.567525112236405307' │ '2163.559973534022354486' │ '2098.653174328001683851' │ '2023-08-04T15:16:18-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'LINK' │ '1.0' │ '255.759663646868473434' │ '256.183152153487629265' │ '248.497657588883000387' │ '2023-08-04T15:16:19-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬───────────────────────┬────────────────────────┬────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼───────────────────────┼────────────────────────┼────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'MKR' │ '1.0' │ '1.40842670887409021' │ '1.407213285137073579' │ '1.364996886582961371' │ '2023-08-04T15:16:21-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴───────────────────────┴────────────────────────┴────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'MATIC' │ '1.0' │ '2721.114705841861804087' │ '2738.241277168906020416' │ '2656.094038853838839803' │ '2023-08-04T15:16:23-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬─────────────────────────┬──────────────────────────┬──────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼─────────────────────────┼──────────────────────────┼──────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'UNI' │ '1.0' │ '300.69503002874059555' │ '300.729612002838688019' │ '291.707723642753527378' │ '2023-08-04T15:16:24-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴─────────────────────────┴──────────────────────────┴──────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼───────────────────────────┼───────────────────────────┼───────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'BAT' │ '1.0' │ '8422.429495474021270814' │ '8414.253469305252487777' │ '8161.825865226094913143' │ '2023-08-04T15:16:25-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬──────────────────────────┬──────────────────────────┬──────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'SNX' │ '1.0' │ '735.899181541730798686' │ '737.360824153132429237' │ '715.239999428538456359' │ '2023-08-04T15:16:27-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬──────────────────────────┬───────────────────────────┬───────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'BNT' │ '1.0' │ '3654.65078538991621491' │ '3749.785568122654750122' │ '3637.292001078975107618' │ '2023-08-04T15:16:29-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴──────────────────────────┴───────────────────────────┴───────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬───────────────────────────┬──────────────────────────┬───────────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ '1INCH' │ '1.0' │ '5813.222182393980265241' │ '5906.99832600060178057' │ '5729.788376220583727152' │ '2023-08-04T15:16:30-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴───────────────────────────┴──────────────────────────┴───────────────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬────────────────────────────┬─────────────────────┬──────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼────────────────────────────┼─────────────────────┼──────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'GETH' │ '1.0' │ '13271.877616005472363949' │ '0.0' │ '0.0' │ '2023-08-04T15:16:32-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴────────────────────────────┴─────────────────────┴──────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬────────────────────────────┬─────────────────────┬──────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼────────────────────────────┼─────────────────────┼──────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'GRT' │ '1.0' │ '17043.273371754954461314' │ '0.0' │ '0.0' │ '2023-08-04T15:16:33-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴────────────────────────────┴─────────────────────┴──────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬──────────────────────────┬─────────────────────┬──────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼──────────────────────────┼─────────────────────┼──────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'ENS' │ '1.0' │ '135.415064238099413736' │ '0.0' │ '0.0' │ '2023-08-04T15:16:35-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴──────────────────────────┴─────────────────────┴──────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬──────────────────────────┬─────────────────────┬──────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼──────────────────────────┼─────────────────────┼──────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'EWTB' │ '1.0' │ '733.428875784256823646' │ '0.0' │ '0.0' │ '2023-08-04T15:16:36-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴──────────────────────────┴─────────────────────┴──────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬────────────────────────┬─────────────────────┬──────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼────────────────────────┼─────────────────────┼──────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'OCEAN' │ '1.0' │ '0.000000001822987575' │ '1827.65529' │ '1772.8256313' │ '2023-08-04T15:16:38-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴────────────────────────┴─────────────────────┴──────────────────┴─────────────────────────────┘
┌─────────┬─────────────┬──────────────┬──────────────┬────────────────────────┬─────────────────────┬────────────────────┬─────────────────────────────┐
│ (index) │ Input Token │ Output Token │ Input Amount │ Uniswap Return │ Kyber Expected Rate │ Kyber Min Return │ Timestamp │
├─────────┼─────────────┼──────────────┼──────────────┼────────────────────────┼─────────────────────┼────────────────────┼─────────────────────────────┤
│ 0 │ 'WETH' │ 'UBT' │ '1.0' │ '0.000002704205388709' │ '27015.75180402' │ '26205.2792498994' │ '2023-08-04T15:16:39-05:00' │
└─────────┴─────────────┴──────────────┴──────────────┴────────────────────────┴─────────────────────┴────────────────────┴─────────────────────────────┘