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.

Showing posts with label XChange. Show all posts
Showing posts with label XChange. Show all posts

Saturday, February 8, 2014

Introducing Bitcoin Bounties for Open Source Development

Last week, we started experimenting with offering bounties to help speed up the development of one of our open source projects called XChange. Based on initial success, we've decided to offer bounties beyond the XChange project, and therefore created a centralized page on xeiam.com where all current and paid bounties are listed. Following is the text directly from the bounties page:
Welcome to Xeiam's Bounty Program. Below is a listing of all our current open and past paid bounties. All bounties are paid in Bitcoin, and it's by far the simplest and fastest way to transfer money in today's globally connected community. We'll be posting all new bounties on our twitter feed, so please subscribe to be the first to hear about new bounties!
If you'd like to work on an issue for a bounty, the first thing you should do is claim it by adding a comment on the GitHub issue page where the bounty is defined along with how long you need to finish it. In this way, bounties can be claimed on a first-come first-served manner, but others may attempt it if the original claimer cannot finish it in a reasonable time. To claim the bounty, just leave your Bitcoin address as a comment on the GitHub issue page or in the pull request.
100% of donations to open source projects will be directly recycled back into the project as a bounty or bounties. In you're interested in donating or sponsoring a bounty for a specific feature request, please visit the project on GitHub where you can find the Bitcoin donation address and/or post a new issue.
We have plans to offer many more and higher paid bounties in the near future!

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.

 

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.

 

Sunday, March 10, 2013

XChange 1.5.0 Released!

Our Financial Exchange Library for Java, XChange, has seen a lot of active development since the previous release in January 2013. We added three more exchanges bringing the total exchanges covered to ten! A big thanks to mmazi and veken0m for their efforts! In addition to the new three exchanges: Bitcoin-24, Bitfloor, and BitcoinCentral, trading and account data was added to the CampBX exchange. Furthermore, several small behind-the-scenes improvements and minor bug fixes were added.

 The next major area of improvement within XChange is going to be our streaming data capabilities via Socket.io and Websockets. After this is cleaned up and made more robust, we plan on implementing the streaming APIs of the current exchanges. This will allow for more complex trading bot systems to be built using XChange.

 The polling mechanism we use to fetch JSON over HTTP is going to be stripped out of XChange and encapsulated into its own project. Mmazi created a new project called ResCU, and he will be repackaging and adding features to this super lightweight REST client library. We're looking forward to using ResCU in the future and perhaps our next XChange release will depend on the first version of ResCU. Here's a list of the currently supported exchanges. More detailed info can be found here, which includes planned future exchange implementations.
  • Bitcoin24 - polling market, trading, and account data
  • BitconCentral - polling market, trading, and account data
  • Bitfloor - polling market data
  • 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.