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.

Sunday, October 13, 2013

XChange 1.9.0 Released!

Our Financial Exchange Library for Java, XChange, has seen a lot of active development, mainly new exchange implementations with a few improvements and bug fixes to existing code, since the previous release in July 2013. There were a total of 130 commits in this release and we've added several new contributors to our Contributor's List. The Blockchain.info API is also now implemented, which allows one to get information on Bitcoin addresses including the Bitcoin balance at that address.

The new exchange implementations include:
  • BTC-E Trading and Account API
  • BTC-China Market Data, Trading and Account API
  • Bitcurex Market Data API
  • Kraken Market Data, Trading and Account API
  • Blockchain Info API
  • Bitstamp and BTC-E TradeHistory

The Bitstamp authenticated API accessing code was updated as well to reflect the changes made at Bitstamp.

One major API change in this release is that all API calls now throw checked IOExceptions. This stems from the fact that the REST library we use (ResCU) was 'leaking' all sorts of network-related exceptions and clients of XChange were having to deal with unknown surprises. We decided that ResCU should catch all exceptions internally and wrap them into IOExceptions and throw them further. This future proofs the XChange API. If we ever want to change our REST dependency, it is likely that the future REST dependency will also throw IOExceptions, and no change to the XChange API will be necessary. We also think it's better to throw a checked exception for networking issues rather than unchecked exceptions, because it forces clients of XChange to EXPECT networking issues and handle them properly sooner rather than later.

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, trading and account data
  • VirtEx - polling market data
  • BTC-E - polling market data, trading and account data
  • Bitstamp - polling market data, trading and account data
  • CampBX - polling market data, trading and account data
  • Bitcurex - polling market data
  • BTC-China - polling market data, trading and account data
  • Kraken - polling market data, trading and account data
  • BitcoinCharts - polling market data (Bitcoin Exchange Rates)
  • OpenExchangeRates - polling market data (Fiat Currency Exchange Rates)
  • Blockchain Info - polling market data (Bitcoin Address Information)


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