Utopian.io is running this task request on behalf of CoinGecko.com
https://github.com/coingecko/cryptoexchange
Cryptoexchange is a rubygem that allows Ruby developers to interact with over 240+ cryptocurrency exchange market data APIs in a single library. This rubygem is used to power CoinGecko. It is open source under the terms of the MIT License.
For the existing HTTP API, this rubygem has established a pretty good abstraction which allows developers to easily contribute new exchanges.
The websocket API feature, however, is a new addition to this rubygem. As such, we are still figuring out the best abstraction/structure.
This merged pull request https://github.com/coingecko/cryptoexchange/pull/1008 contains the initial proof-of-concept, which supports connecting with Bitfinex ticker, order book, and trade websocket API.
We are looking for candidate's to complete the following tasks:
I have looked into the Coinbase Pro websocket API documentation.
Here is a code you can use to get started making websocket connection for testing purposes in ruby console.
EM.run do
ws = WebSocket::EventMachine::Client.connect(uri: 'wss://ws-feed.pro.coinbase.com')
ws.onopen do
ws.send({
"type": "subscribe",
"product_ids": [
"ETH-USD",
"ETH-EUR"
],
"channels": [
"level2",
"matches",
"heartbeat",
{
"name": "ticker",
"product_ids": [
"ETH-BTC",
"ETH-USD"
]
}
]
}.to_json)
end
ws.onmessage do |message, _|
begin
message = JSON.parse(message)
puts message
rescue Exception => e
puts e
end
end
ws.onclose do
onclose.call if onclose
end
end
The following channels on Coinbase Pro correspond to the data we want to capture:
2 weeks. Set to start upon candidate selection.
Please register your interest at https://discord.gg/pKGV9sp, CoinGecko's official Discord server in the "utopian-io" channel.
You may contact us directly for further information via email at [email protected] or in our Discord developer discussion hub.
Rewards generated by this task request will be sent as liquid STEEM to the task solver once the task is completed, as decided by the project owner.
The task will be considered considered completed after it has been merged by CoinGecko developement team and when the solver published a Steemit post, explaining what they did in order to solve the task.
As this previous task wasn't attended by any candidate, we are offering the amount of STU available here https://steemit.com/utopian-io/@utopian.tasks/steem-bounty-public-websocket-api-connections-for-exchanges for the solver of this task, in addition to the value loaded on this post and the potential reward you may get by publishing your solution via Utopian.