One major area of improvement within XChange was the streaming data capabilities via Websockets. We ditched the buggy socket.io code we had and refactored everything to use the 3rd-party project Java-Websockets, which coincidentally was finally mavenized. We also added a mechanism called "ReconnectService" that attempts to establish a new connection if any type of websocket error occurs and streaming is interrupted. It also appears that MtGox updated their streaming infrastructure and it is working better than ever. Before it was pretty much unusable, and now it's actually quite impressive. To see it yourself, just run MtGoxWebSocketMarketDataDemo.java.
The polling mechanism we use to fetch JSON over HTTP was also stripped out of XChange and encapsulated into its own project. Mmazi created this new project called ResCU, and XChange now depends on its first version.
To see a full list of all the changes in this release as well as download the jars, please visit the XChange Change Log page.
Here's a list of the currently supported exchanges. More detailed info can be found here, which includes planned future exchange implementations.
- MtGox - polling and streaming market data, authenticated trading
- Bitstamp - polling market data, authenticated trading
- BTC-E - polling market data, authenticated trading
- VirtEx - polling market data
- CampBX - polling market, trading, and account data
- BitcoinCharts - polling market data (Bitcoin Exchange Rates)
- OpenExchangeRates - polling market data (Fiat Currency Exchange Rates)
No comments:
Post a Comment