diff --git a/README.md b/README.md index e0286edf29..aab6c97fe0 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,64 @@ -# bitsquare.io +![Bitsquare Logo](http://bitsquare.io/images/logo.png) +# Bitsquare +**The P2P Fiat-BTC Exchange.** -Bitsquare is a P2P Fiat-BTC Exchange. +## Dependencies +The project use **Java 8** and **Maven**. +We use the **BitcoinJ** library and **TomP2P** for DHT and direct messaging. -The project use Java 8 and Maven. -We use the bitcoinj library and TomP2P for DHT and direct messaging. +## Development setup -For local testing it is best to use the regtest mode from Bitcoin qt clients. -If you want to use the RegTest mode you need to set regtest=1 in the bitcoin.config file inside the bitcoin data directory (https://en.bitcoin.it/wiki/Running_Bitcoin). -Then you can generate coins on demand with the Bitcoin qt client with that command in the console: setgenerate true 101 (101 only for the first start because the coin maturity of 100 blocks). -More information about how to use regtest mode can be found here: https://bitcoinj.github.io/testing -Take care if you have real bitcoin in your Bitcoin qt wallet (backup and copy first your data directory). -You can change the network mode in the guice module: BitSquareModule.java -Testnet should also work, but was not tested a while now 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. +### Build the 2 master branches of the external libraries: -We use a fork of the actual TomP2P master branch: https://github.com/bitsquare/TomP2P -You need to check that out as well and deploy it to the local maven repository: -mvn clean install -DskipTests +We use [that fork](https://github.com/bitsquare/TomP2P) 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](https://github.com/bitsquare/bitcoinj) 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** -### Resources: -* Web: http://bitsquare.io +### 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](https://en.bitcoin.it/wiki/Running_Bitcoin). + +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](https://bitcoinj.github.io/testing). + +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: +* [Web](http://bitsquare.io) +* [Development mailing list](https://groups.google.com/forum/#!forum/bitsquare) +* [Video](https://www.youtube.com/watch?v=ByfnzJzi0bo) +* [White paper](https://www.youtube.com/watch?v=ByfnzJzi0bo) ### Screenshots of basic the use cases: