This blog has moved!

You will be automatically redirected to the new address. If that does not occur, visit
http://blog.xeiam.com
and update your bookmarks.

Saturday, April 27, 2013

XChange 1.6.0 Released!

Our Financial Exchange Library for Java, XChange, has seen a lot of active development, mainly improvements and bug fixes, since the previous release in early March 2013. Ironically, we had to remove the three exchanges we added in the previous release: Bitcoin-24, Bitfloor, and BitcoinCentral as they either indefinitely or permanently shut their doors. There were a total of 75 commits in this release and we've seen the number of forks and contributions from new people skyrocket.

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)
To finish off this release announcement, we leave you with a screenshot of Mt Gox's market depth or "order book" generated using XChange. The code to generate this plot can see seen here on Github. The charting library used to make the plot is XChart.

 

No comments:

Post a Comment