Prior to this change, all callers of ViewLoader#load were forced to handle the (checked) IOException declared by the #load method signature. This resulted in a significant amount of duplicate handling logic where nothing more than logging the error occured. Failing to load a view represents a catastrophic error in the application; i.e. it is not something that can be handled in any way other than shutting the application down, fixing what is broken and restarting the application. For this reason, any IOException raised within ViewLoader#load is now caught, wrapped and re-thrown as an (unchecked) RuntimeException. This will be handled by the platform's UncaughtExceptionHandler, and a dialog will be raised to inform the user that a fatal error has occured. As a result all try/catch blocks around calls to ViewLoader#load have now been removed, making for tighter, more readable, and easier to test code. In the future, the distinction between errors that are programmatically recoverable and those that are catastrophic (typically developer errors) will be used to determine whether methods in the Bitsquare API throw checked or unchecked exceptions. |
||
---|---|---|
.idea | ||
doc | ||
gradle/wrapper | ||
package | ||
src | ||
.gitignore | ||
.travis.yml | ||
build.gradle | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md |

What is Bitsquare?
Bitsquare is a cross-platform desktop application that allows users to trade fiat money (dollars, euros, etc) for bitcoin without relying on centralized exchanges such as Coinbase, Bitstamp or (the former) Mt. Gox.
By running Bitsquare on their local machines, users form a peer-to-peer network. Offers to buy and sell bitcoin are broadcast to that network, and through the process of offering and accepting these trades via the Bitsquare UI, a market is established.
There are no central points of control or failure in the Bitsquare network. There are no trusted third parties. When two parties agree to trade fiat money for bitcoin, the bitcoin to be bought or sold is held in escrow using multisignature transaction capabilities native to the bitcoin protocol.
Because the fiat money portion of any trade must be transferred via traditional means such as a wire transfer, Bitsquare incorporates first-class support for human arbitration to resolve any errors or disputes.
You can read about all of this and more in the overview, whitepaper, arbitration and risk analysis documents. Several screencasts are available as well.
Status
The team is currently working on a series of pre-releases on the way to version 1.0. See the roadmap for details.
Alpha testers welcome! Please see the instructions for alpha testing, where you'll find detailed information about downloading and using our native installers, building from source and more.
Staying in Touch
Contact the team and keep up to date using any of the following:
- The Bitsquare Website
- The #bitsquare IRC channel on Freenode (logs)
- Our mailing list
- @bitsquare_ on Twitter
- Get in contact with us
- GitHub Issues
License
Bitsquare is free software, licensed under version 3 of the GNU Affero General Public License.
In short, this means you are free to fork this repository and do anything with it that you please. However, if you distribute your changes, i.e. create your own build of the software and make it available for others to use, you must:
- Publish your changes under the same license, so as to ensure the software remains free.
- Use a name and logo substantially different than "Bitsquare" and the Bitsquare logo seen here. This allows for competition without confusion.
See LICENSE for complete details.