Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

MMquant/bfx-cpp-api

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 maple@mmquant.net

About

Bitfinex C++ API client

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.