coingecko / cryptoexchange Goto Github PK
View Code? Open in Web Editor NEW[UNMAINTAINED] Ruby library to query market data from cryptocurrency exchanges (https://www.coingecko.com)
Home Page: https://www.coingecko.com
License: MIT License
[UNMAINTAINED] Ruby library to query market data from cryptocurrency exchanges (https://www.coingecko.com)
Home Page: https://www.coingecko.com
License: MIT License
Discussion of this issue at
#58
#68
Affected exchanges are
Currently hotfixing it by dividing the last
value.
But opening discussion on other ways to approach this, for example
1. Dictate and divide the target volume with the price to get volume in base
2. If base volume is not available, then do not assign to the volume. Create a new column like volume_target. Give the user the option to use that and decide if they want to divide it.
There is a trailing slash in two of the exchange::{name}::market.rb files that need to be removed otherwise complete url will include a double slash:
NAME = 'bitflyer'
API_URL = 'https://api.bitflyer.jp/v1/'
NAME = 'coincheck'
API_URL = 'https://coincheck.com/api/'
I noticed a few glitch with using EtherDelta that we need to fix
For the pair with space ie. ETH_Mothership Token
- We would get an error. Probably because the market_pair.target returns an upcase symbol which makes the hash key invalid
Most of EtherDelta pair is ETH_<Some_symbol>, we might need to flip the base/target for this as well.
Thoughts? @yihangho
We are going to start implementing "Trades" API for all exchanges.
It has not been implemented yet, and we should come to a standard which will be consistent across exchanges like the Ticker and Orderbook APIs
seems like some stickers pass timestamp in millisecond:
http://developer.maicoin.com/#introduction
I'll do this
[X] Ticker
[ ] Orderbook
[ ] Trades
The volume under Ticker should refer to the base currency. Need to check all existing implementation exchanges if that value is correct.
@yihangho We implemented novaexchange to have the base/target switched.
However the novaexchange API returns the volume based on their API base
For instance
On their API pair of BTC_ETH which translates to base of ETH and target BTC.
The volume needs to be in terms of ETH, however the API returns in BTC terms
For example,
client = Cryptoexchange::Client.new
client.exchanges_for('BTC')
['gatecoin', 'anx', ...]
Noticed that there has been a wrong implementation on assigning base target
This is especially true for API that returns something like BTC-LTC
When typically BTC is a target, and LTC is a base.
TODO: We will need to do another sanity check on all exchanges to ensure this is correct.
This needs to be in the PR acceptance process (alongside checking if volume is correctly assigned)
Following exchanges are wrong, and I am pushing a hotfix
#86
Potential problems (need to fix):
Yihang's comment on the array over at https://github.com/yihangho/cryptoexchange/blob/0cb165b4d1160985bfabefa0bb5e6d918ecdac4c/lib/cryptoexchange/client.rb#L3-L18
from what I can see it serves 2 purposes - 1. for the user to know which exchanges we support; 2. to require the correct files
either way, I think we can load this array by looking at the directory structure
in essence, when the lib is loaded, we can just do a ls on the lib/cryptoexchange/exchanges and use that to populate the array
if you're familiar with Rails, this is very similar to how the controllers and models are autoloaded
@tmlee found that in Cryptopia ticker api, basevolume not respond base to us instead of volume, so we need to check if other api send the wrong volume to us too
[X] Ticker
Orderbook and Trades N/A
[X] Ticker #130
[ ] Orderbook
[ ] Trades
Currently we are only running integration tests which is a great way to ensure full coverage of the specs.
However, the integration test is not reliable in that 3rd party services may fail and timeout causing test to fail.
Having 3rd party API mocked out may pose as a false positive.
Opening this discussion up for suggestions and ways to improve
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.