A decentralized bitcoin exchange network
Go to file
2014-08-06 01:22:02 +02:00
design add settings, arbitration selection, arb. registration, change setup, change funding, manage keys in wallet 2014-06-18 21:48:40 +02:00
META-INF add system try support, add address to create offer screen 2014-07-07 16:28:40 +02:00
screenshots update screenshots 2014-05-19 19:54:29 +02:00
src update to bitcoinJ master 2014-08-05 23:30:17 +02:00
.gitignore Ignore all .log files 2014-07-31 22:58:23 -07:00
bitsquare.properties add system try support, add address to create offer screen 2014-07-07 16:28:40 +02:00
bitsquare.xml packed into mac app 2014-07-07 18:59:55 +02:00
LICENSE add basic wallet, update nav buttons, move unused img 2014-04-24 16:55:55 +02:00
pom.xml update readme 2014-08-06 00:26:56 +02:00
README.md update readme 2014-08-06 01:22:02 +02:00

Bitsquare

Bitsquare Logo

About Bitsquare

Bitsquare is a P2P Fiat-BTC Exchange.
It allows to trade fiat money (USD, EURO, ...) for Bitcoins without relying on a centralized exchange like MtGox.
Instead, all participants form a peer to peer market.

Dependencies

The project use Java 8 and Maven.
We use the BitcoinJ library and TomP2P for DHT and direct messaging.

Development setup

Build the 2 master branches of the external libraries:

We use that fork from the actual TomP2P master branch.
You need to check that branch out and deploy it to the local maven repository.
Build the project with:
mvn clean install -DskipTests (DskipTests because some unit tests are failing in the master branch)

We use also that fork of the latest BitcoinJ master branch.
You need to check that branch out as well and deploy it to the local maven repository.
Build the project with:
mvn clean install

Regtest mode for local testing

For local testing it is best to use the regtest mode from the Bitcoin QT client.
You need to edit (or first create inside the bitcoin data directory) the bitcoin.config file and set regtest=1.

Here are the typical locations for the data directory:

Windows:
%APPDATA%\Bitcoin\
(XP) C:\Documents and Settings\username\Application Data\Bitcoin\bitcoin.conf
(Vista, 7) C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf

Linux:
$HOME/.bitcoin/
/home/username/.bitcoin/bitcoin.conf

Mac OSX:
$HOME/Library/Application Support/Bitcoin/
/Users/username/Library/Application Support/Bitcoin/bitcoin.conf

Take care if you have real bitcoins in your Bitcoin QT wallet (backup and copy first your data directory)!
More information about bitcoin.conf can be found here.

You can generate coins on demand with the Bitcoin QT client with the following command in the console (under the help menu you find the console window):
setgenerate true 101
101 is used only for the first start because of the coin maturity of 100 blocks. Later for mining of a single block you can use 1 as number of blocks to be created.

More information about the regtest mode can be found here.

The network mode is defined in the guice module (BitSquareModule) and is default set to regtest.
Testnet should also work, but was not tested for a while as for developing regtest is much more convenient.
Please don't use main net with real money, as the software is under heavy development and you can easily lose your funds!

Resources:

Screenshots of the basic use cases (first prototype):

Transactions of a trade on main net: