update to bitcoinJ master

This commit is contained in:
Manfred Karrer 2014-08-06 00:21:08 +02:00
parent e0e6df6383
commit c3039e8361

View file

@ -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: