Code Monkey home page Code Monkey logo

solt-trading-bot's Introduction

SOLT

An Algorithmic Trading Bot For Solana Ecosystem

Overview

SOLT is an algorithmic trading bot designed to automate the trading process of Solana specific ecosystem tokens.

To learn more about the design and algorithm chosen, check Design.

Setup

Ensure that the following are installed on target machine

docker - install the latest docker-desktop for mac/windows here. nodejs - install the latest node.js here.

Certs

Run generateCerts to guide through setting up root ca and service certs for solt.

./generateCerts.sh

certs are generated under ~/solt/certs on the host machine.

ENV

Export the following to your path:

export BIRDEYE_API_KEY=<your-birdeye-api-key>
export WALLET_PRIVATE_KEY=<your-solana-wallet-private-key>
source ~/.zshrc

Optionally, the following fields can also be added:

export SELECTED_MODE=<'production' | 'simLive' | 'simHistorical' | 'offline'>
export SELECTED_SIGNAL=<selected-model>
export SELECTED_TIMEFRAME=<'1m' | '5m' | '10m' | '15m' | '1h' | '1d'>
export SELECTED_SHORT_TERM_INTERVAL=<1 | 7>
export SELECTED_LONG_TERM_INTERVAL=<50 | 200>
export TOKEN_ADDRESS=<selected-token-address>

If the optional fields are not provided, the constants will resolve to default values:

const SELECTED_MODE: TraderMode = 'simHistorical'
const SELECTED_SIGNAL_GENERATOR: SignalGenerator = 'hybridtrend'
const SELECTED_TIMEFRAME: Timeframe = '5m';
const SELECTED_SHORT_TERM_INTERVAL: ShortTermInterval = 7;
const SELECTED_LONG_TERM_INTERVAL: LongTermInterval = 50;
const TOKEN_ADDRESS = 'So11111111111111111111111111111111111111112'; // address for SOL token

Restart your terminal for the changes to take effect.

Birdeye subscription needs to be premium to access utilized websocket and https endpoints

If needed, @sirgallo can be contacted and a key can be generated.

Deployment

In the root of the project, first build Dockerfile.buildapi, which creates a nodejs preimage shared between the different services:

./buildpreimages.sh

Then, to run a development cluster, deploy using docker through startupDev:

./startupDev.sh

This will bind each etcd member's data directory to ~/solt/etcd<member-number>. The bound data will persist through restarts and can be analyzed using bbolt command line tool.

To stop the services, run:

./stopDev.sh

solt-trading-bot's People

Contributors

sirgallo avatar nickscavuzzo33 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.