Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Coinbase API features #2

Open
scawful opened this issue May 4, 2022 · 0 comments
Open

Implement Coinbase API features #2

scawful opened this issue May 4, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@scawful
Copy link
Owner

scawful commented May 4, 2022

Currently, the CBP.hpp inside of include/Interface is blank after copying methods from the old implementation. The goal is for it to be more akin to the TDA.hpp in the same folder.

This means using a Client class that handles the API requests using curl and Boost.Beast for HTTP/TLS and WebSocket connections respectively, as well as using a Parser class that sorts the json data into an object the program can later use. This is a very general feature/issue so it can be expanded on based on the demands of the Coinbase API.

This feature would require editing the following files

  • include/Interface/CBP.hpp
  • src/Services/CoinbasePro/Client.cpp
  • src/Services/CoinbasePro/Parser.cpp

Since I started this project, Coinbase actually merged their API into one for Exchange/Cloud so the specification of "Pro" isn't super necessary but I believe there's still a distinction in which account you access based on the endpoint URL (though I could be wrong as this code hasn't been ran/tested in months)

To test your code you can go to tests/ServiceTestSuite/CBP.cpp and invoke any of the objects besides the actual static interface header. That should be used merely as a means of calling client/parser/socket code.

You can find information about the https://docs.cloud.coinbase.com/exchange/docs

@scawful scawful added the enhancement New feature or request label May 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant