All Projects → MMquant → bfx-cpp-api

MMquant / bfx-cpp-api

Licence: GPL-3.0 license
Bitfinex C++ API client

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to bfx-cpp-api

Cryptofeed
Cryptocurrency Exchange Websocket Data Feed Handler
Stars: ✭ 643 (+1592.11%)
Mutual labels:  bitfinex
Goex
Exchange Rest And WebSocket API For Golang Wrapper support okcoin,okex,huobi,hbdm,bitmex,coinex,poloniex,bitfinex,bitstamp,binance,kraken,bithumb,zb,hitbtc,fcoin, coinbene
Stars: ✭ 1,188 (+3026.32%)
Mutual labels:  bitfinex
Exchanges Php
This is a virtual currency SDK that brings together multiple exchanges
Stars: ✭ 134 (+252.63%)
Mutual labels:  bitfinex
Bitcoinexchangefh
Cryptocurrency exchange market data feed handler
Stars: ✭ 871 (+2192.11%)
Mutual labels:  bitfinex
Crypto Whale Watcher
An app to keep a watch on big volume trades of cryptocurrecies on different exchanges by sending alerts via a Telegram Bot.
Stars: ✭ 60 (+57.89%)
Mutual labels:  bitfinex
Marginbot
Bitfinex Margin Lending Managment Bot
Stars: ✭ 107 (+181.58%)
Mutual labels:  bitfinex
Crypto Rl
Deep Reinforcement Learning toolkit: record and replay cryptocurrency limit order book data & train a DDQN agent
Stars: ✭ 328 (+763.16%)
Mutual labels:  bitfinex
Gbot Trader
Trading robot for trade on crypto exchanges
Stars: ✭ 222 (+484.21%)
Mutual labels:  bitfinex
Xchange.js
Bitcoin and Altcoin exchange api aggregator / wrapper
Stars: ✭ 74 (+94.74%)
Mutual labels:  bitfinex
Cryptocurrency Portfolio
Google Sheets automatic creation with Google Apps Script (GAS) for managing a cryptocurrency tracking spreadsheet with multi exchanges
Stars: ✭ 134 (+252.63%)
Mutual labels:  bitfinex
Trading Indicator
provide trading technical indicator values based on data of almost crypto currency exchanges
Stars: ✭ 31 (-18.42%)
Mutual labels:  bitfinex
Crypto Trading Bot
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, FTX, Bybit ... (public edition)
Stars: ✭ 1,089 (+2765.79%)
Mutual labels:  bitfinex
Cryptotrader
A responsive dynamic webapp to trade cryptopairs on the most prominent exchanges
Stars: ✭ 118 (+210.53%)
Mutual labels:  bitfinex
Coinbase Pro Trading Toolkit
DEPRECATED — The Coinbase Pro trading toolkit
Stars: ✭ 817 (+2050%)
Mutual labels:  bitfinex
My Token
📈Track token prices of your favorite exchanges in terminal!
Stars: ✭ 141 (+271.05%)
Mutual labels:  bitfinex
Exchangesharp
ExchangeSharp is a powerful, fast and easy to use .NET/C# API for interfacing with many crypto currency exchanges. REST and web sockets are supported.
Stars: ✭ 489 (+1186.84%)
Mutual labels:  bitfinex
Crypto vba
An Excel/VBA project to communicate with various cryptocurrency exchanges APIs
Stars: ✭ 103 (+171.05%)
Mutual labels:  bitfinex
Crypto Exchange
Pulls together list of crypto exchanges to interact with their API's in a uniform fashion.
Stars: ✭ 241 (+534.21%)
Mutual labels:  bitfinex
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+6713.16%)
Mutual labels:  bitfinex
Orko
Trade on and script multiple crypto exchanges from a single user interface on desktop and mobile. In development.
Stars: ✭ 128 (+236.84%)
Mutual labels:  bitfinex

bfx-cpp-api logo


Build status

Linux
lin-badge

Notice

Master branch contains new version of the client. For old version checkout legacy branch.

Synopsis

This header-only library contains class for interfacing Bitfinex REST API v1. Current version supports response JSON schema validation.

Dependencies

bfx-cpp-api depends on following external libraries/packages

How to Build'n'Run src/example.cpp

  1. Install dependencies (via apt, homebrew etc.).
  2. Clone or download bfx-api-cpp repository.
  3. Add key-secret file in bfx-api-cpp/app/doc directory. (or edit example.cpp so that it doesn't use key-secret file)
  4. Peek into self-documented <your_project_dir>/app/src/example.cpp.
  5. Build example binary
cd <your_project_dir>app/build && cmake .. && make
  1. Run example binary from <your_project_dir>app/bin
./example

How to Build'n'Run src/example.cpp in Docker container

  1. Clone or download bfx-api-cpp repository.
  2. Build docker image
cd <your_project_dir>
docker-compose build
  1. Start docker image
docker-compose up &
  1. Spawn bash
docker exec -it bfx-cpp-api_dev_1 /bin/sh
  1. Add key-secret file in /home/bfx-cpp-api/app/doc directory. (or edit example.cpp so that it doesn't use key-secret file)
cd /home/bfx-cpp-api/app/doc
echo <key> > key-secret
echo <secret> >> key-secret
  1. Build example
cd /home/bfx-cpp-api/app/build
cmake ..
make
  1. Run example binary
cd /home/bfx-cpp-api/app/bin
./example

Quick interface overview

// Create API client for both authenticated and unauthenticated requests
BfxAPI::BitfinexAPI bfxAPI("accessKey", "secretKey");

// Create API client for just unauthenticated requests
BfxAPI::BitfinexAPI bfxAPI();

// Fetch data
bfxAPI.getTicker("btcusd");

// Check for errors
if (!bfxAPI.hasApiError())
{
    // Get response in string
    cout << bfxAPI.strResponse() << endl;
}
else
{
    // Inspect errors
    cout << bfxAPI.getBfxApiStatusCode() << endl;
    cout << bfxAPI.getCurlStatusCode() << endl;
}

See self-explanatory src/example.cpp for general usage and more requests.

Change Log

  • 2018-09-26 Using the small Docker image Alpine instead of Debian.
  • 2018-09-26 Using docker-compose to build/up/down the image.
  • 2018-09-26 Grouping project files inside the app folder.
  • 2018-08-01 Dockerfile added. CircleCI added.
  • 2018-07-24 CMakeLists.txt added. Installation instructions changed.
  • 2018-07-11 Schema validation logic complete. Client currently validates public requests only.

Known issues

You will not be able to compile bfx-cpp-api with GCC<7.2 due to this bug. You can use CLANG to avoid GCC bug.

Contribution

  1. Fork bfx-cpp-api repository.
  2. Commit to your develop branch.
  3. Create pull request from your develop branch to origin/develop branch.

No direct pull request to master branch accepted!

Author

Petr Javorik www.mmquant.net [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].