wavesplatform/data-service

[FEATURE REQUEST] Add old directives to save backward compatibility.

Closed this issue · 7 comments

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is.
Ex. I'm always frustrated when

[waves-lite-client cann't loading the market candles.]

Describe the solution you'd like

A clear and concise description of what you want to happen.

I want to you realize the backward compatibility of this API with old API: https://github.com/PyWaves/WavesDataFeed, and make your api compatible with this.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

I just see in client-side waves-lite-client
the following link: https://marketdata.wavesplatform.com
and there is another API.
There is warning, about this old api is deprecated, but this API is working good.
I see here: https://forum.wavesplatform.com/t/marketdata-deprecation-migration-guide/11050
the guide to migration, and I see here https://api.wavesplatform.com/v0/docs/
the API with another directives.
This API working, as default, on https://waves.exchange/
but this API not woking in client-side waves-lite-client.
Then, I go here: https://api.wavesplatform.com/v0/ and I see there the link to this project.
After this, I decided to create this issue.

Additional context

Add any other context about the feature request here.

As you can see, DATAFEED API on https://marketdata.wavesplatform.com
using another directives, like: /symbols, /markets, /tickers, /ticker, /candles, etc...
But many from this not available in new API.
So, you can add this, to save the backward compatibility.

Best regards.

@username1565, we no longer support Waves Data Feed API, nor the old Waves Client. The main reason for the API deprecation was that it had inherently been not scalable. With the growth of the blockchain it simply became unfeasible. We understand it could be inconvenient for some users and we’re sorry about that, but sometimes old tech just gotta go :)

Hi, @dvshur. Old tech never gotta go, when this is open source, and was working good.
What about all old clients, who was used WAVES DEX, from http://waveswallet.io/
and who cann't open all another your "products", which are have no any backward compatibility?
So, you can see working waves-lite-client for example, here: http://username1565.github.io/waves-lite-client/
But, this is using remote http://marketdata.wavesplatform.com/ to load candles, and I cann't raise my own OLD WAVES DATAFEED API (I just see synchonization errors and throw exception).
Can you help please with this?

Yeap, I understand, that new data-service API have no backward compatibility with old waves-lite-client, and old API, and this was developed for exchange, like https://waves.exchange/
and for desktop-application.
But this online servise seems like semi-centralized service,
because there is no any source code to raise this DECENTRALIZED EXCHANGE on localhost.
Also, not each user can install desktop application, and host this.

Only waves-lite client can working client-side, with custom node on localhost, with custom mathcher on localhost, and this make WAVES DEX - true decentralized.

Hello @username1565,
Have you considered WMD https://github.com/wavesplatform/gowaves/tree/master/cmd/wmd implemented in Go? It implements the old MarketData API almost fully with few exception. And we provide support for this utility.

@username1565, have you tried @alexeykiselev suggestion?

I'm sorry to say that we're not planning to implement Marketdata-compatible API in the Data Service for several reasons, scalability being one of them, so if you still want to use it, that might be the way.

Hi, @dvshur, @alexeykiselev!
Sorry, I cann't compile Go Lang,
because I have not enough space on my HDD.
Over 50GB of space was been eated by WAVES blockchain
(mainnet, testnet, stagenet-blockchains...),
and I cann't install something to compile go.
Do you have already compiled .jar or .exe for windows?
I just wanted to raise waves datafeed api to load candles and trade history,
in old waves-lite-client.
Old API, like this: https://marketdata.wavesnodes.com/api/trades/WAVES/8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS/50

Hi, yes, you can find WMD binaries attached to the latest release. https://github.com/wavesplatform/gowaves/releases/download/v0.3.0/wmd_v0.3.0_Linux-64bit.tar.gz
I have to mention that WMD binary itself takes about 18MB, and its data could take up to 500MB for MainNet.
You can access hosted instance of WMD at http://dexchart-aws-fr-2.wavesnodes.com:6990/api/, swagger available at http://dexchart-aws-fr-2.wavesnodes.com:6990.

@alexeykiselev, thanks!
WMD this all what I needed. Just earlier I tried to setup WAVES DATAFEED API, instead WDF.
I see old directives, there: http://dexchart-aws-fr-2.wavesnodes.com:6990
and API is working good: http://dexchart-aws-fr-2.wavesnodes.com:6990/api/trades/WAVES/8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS/50

So I just close this issue, and as I understanding, all this is not actual now.