Giter Club home page Giter Club logo

timebasecryptoconnectors's Introduction

TimeBase Crypto Market Data Connectors

Build CI Language grade: Java Total alerts

With TimeBase Community Edition you get access to free market data connectors you can use to receive normalized market data with any level of granularity (top of the book, L2) from the most popular crypto exchanges and recording it in TimeBase in a matter of minutes.

Quick Start - setup market data collection in 60 seconds:

Prerequisites

Windows

Linux

Start Connectors

  1. Download sample docker-compose.yml
  2. Run docker-compose up command from the directory with your docker-compose.yml file to launch TimeBase crypto connectors.
  3. View live and historical market data stored in TimeBase in your browser at localhost:8099 (default username admin and password admin):
watch_demo_video.mp4

Build and Run

Build the project with Gradle using this build.gradle file.

You will require the Java 11+ and Gradle 8.6 to build:

Full clean and build of all modules

    $ ./gradlew clean build

And start it

    $ ./bin/runner.sh

Configuration

By default, we launch with the default configuration to start all the available data connectors. Recorded market data is saved into /timebase-home directory. You can create custom configurations to run just the selected connectors with specific settings.

Refer to the configuration to learn how to configure.

Refer to the developers tutorials for more in depth information about data model and tutorials on how to develop custom data connectors.

Supported Crypto Exchanges

Exchange Supported Contracts
AscendEX SPOT, Linear Futures
BYBIT SPOT, Inverse and Linear Futures, Options
BITFINEX SPOT, Linear Futures
BITMART SPOT
BitMEX Quanto Contract, Inverse Perpetual SWAP, Linear Perpetual, Quanto Perpetual, Linear Futures, Quanto Futures, Inverse Futures
Coinbase SPOT
CRYPTOFACILITIES Linear Futures
DERIBIT Inverse and Linear Futures, Options, Perpetual
HITBTC SPOT
HUOBI FUTURES Inverse Futures
HUOBI SPOT SPOT
Kraken FUTURES Inverse and Linear Perpetual SWAP, Inverse Futures with Expiration
Kraken SPOT SPOT
Kucoin SPOT, Futures
OKX SPOT, Linear and Inverse SWAP, Inverse and Linear Futures
One Trading (bitpanda) SPOT
POLONIEX SPOT
Uniswap ERC-20 SWAP

timebasecryptoconnectors's People

Contributors

alex-karpovich avatar aliakseinovik avatar anatolygudkov avatar andymalakov avatar dependabot[bot] avatar joshuaulrich avatar mattgor123 avatar romkisel avatar sr-remsha avatar vikyssiko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

timebasecryptoconnectors's Issues

Add stream schema conversion

Update stream schema if it does not match the one required by the specific connector

E.g.: you will get an error if the table does not contain the type:

java.lang.IllegalArgumentException: Message type [class com.epam.deltix.timebase.messages.service.SecurityFeedStatusMessage] is not allowed. Expected: [class com.epam.deltix.timebase.messages.universal.PackageHeader]
	at com.epam.deltix.qsrv.hf.pub.codec.RecordTypeMap.getCode(RecordTypeMap.java:84) ~[timebase-pub-6.0.21.jar:6.0.21]
	at com.epam.deltix.qsrv.hf.tickdb.pub.SimpleBoundEncoder.encode(SimpleBoundEncoder.java:69) ~[timebase-api-6.0.21.jar:6.0.21]
	at com.epam.deltix.qsrv.hf.tickdb.pub.SimpleBoundEncoder.encode(SimpleBoundEncoder.java:33) ~[timebase-api-6.0.21.jar:6.0.21]
	at com.epam.deltix.qsrv.hf.tickdb.comm.client.TickLoaderClient.send(TickLoaderClient.java:378) ~[timebase-client-6.0.21.jar:6.0.21]
	at com.epam.deltix.qsrv.hf.tickdb.comm.client.TickLoaderClient.send(TickLoaderClient.java:50) ~[timebase-client-6.0.21.jar:6.0.21]
	at com.epam.deltix.data.connectors.commons.TbMessageOutputFactory$2.send(TbMessageOutputFactory.java:90) ~[main/:na]
	at com.epam.deltix.data.connectors.commons.SymbolMapper$1.send(SymbolMapper.java:83) ~[main/:na]
	at com.epam.deltix.data.connectors.commons.MdProcessor.close(MdProcessor.java:133) ~[main/:na]
	at com.epam.deltix.data.connectors.commons.MdSingleWsFeed.onClose(MdSingleWsFeed.java:119) ~[main/:na]
	at com.epam.deltix.data.connectors.commons.SingleWsFeed.lambda$doClose$5(SingleWsFeed.java:274) ~[main/:na]

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.