Decentralized P2P exchange built on Monero and Tor
Find a file
Chris Beams d3f1ec252e
Merge branch 'wip-cbeams'
These changes eliminate the use of "appName" throughout the codebase in
favor of explicitly named, and therefore individually configurable
alternatives specific to each component. For example, instead of passing
the application name through the WalletFacade boundary and then using a
utility like AppDirectory to put construct the wallet directory on the
fly, the path to wallet directory is now passed explicitly as a
@Named(WALLET_DIR) parameter to the WalletFacade constructor.

The result is not only better configurability (e.g. the WALLET_DIR
property can be overridden without affecting any other parts of the
system), but also better understandability. See
BitsquareEnvironment#defaultProperties to see how it all comes together.
Note how the value of appName is mapped to each of these new properties,
all in one place where it's easy to get an overview etc.

Also, as of this commit, there is only one place in the codebase where
the word "Bitsquare" is hard-coded (in `i.b.app.BitsquareEnvironment`):

    $ git grep -h '"Bitsquare"' src
        public static final String DEFAULT_APP_NAME = "Bitsquare";

To keep things clean, further hard-coding should be avoided from this
point forward.

See extended comments for each commit for details.

* wip-cbeams:
  Eliminate remaining uses of @Named("appName")
  Introduce explicit title param in ViewCB
  Introduce io.bitsquare.btc.UserAgent
  Introduce explicit dir and prefix params in Persistence
  Introduce explicit wallet and useragent params in WalletFacade
  Rename environment "app properties"=>"default properties"
2014-11-11 14:59:59 +01:00
.idea Restore GPL copyright header configuration 2014-10-05 19:49:51 +02:00
doc Allow configurability of bitcoin network with --bitcoin.network 2014-11-10 15:42:16 +01:00
gradle/wrapper Remove use of Gradle JavaFX plugin 2014-10-13 11:13:43 +02:00
package removed path to javapackager for windows 2014-11-05 13:43:43 +01:00
src Eliminate remaining uses of @Named("appName") 2014-11-11 14:57:18 +01:00
.gitignore Ignore Structure101 files 2014-11-05 01:13:24 +01:00
.travis.yml Use Xvfb to avoid 'cannot open display' warnings 2014-11-05 01:41:14 +01:00
build.gradle Merge branch 'wip-cbeams' 2014-11-11 04:28:14 +01:00
gradlew Generate Gradle wrapper artifacts 2014-08-28 13:56:04 +02:00
gradlew.bat Generate Gradle wrapper artifacts 2014-08-28 13:56:04 +02:00
LICENSE add basic wallet, update nav buttons, move unused img 2014-04-24 16:55:55 +02:00
README.md Support code coverage using JaCoCo and Coveralls 2014-11-03 13:56:14 +01:00

Build Status Coverage Status

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:

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:

  1. Publish your changes under the same license, so as to ensure the software remains free.
  2. 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.