Overhaul README

As a follow-on to the monorepo reconsolidation (#1650):

 - Revise and shorten "What is Bisq" section
 - Remove outdated sections
 - Remove sections documented elsewhere
 - Add instructions for building, running and importing into IDEA
This commit is contained in:
Chris Beams 2018-09-07 15:08:24 +02:00
parent 708d9a4325
commit ac6d93162a
No known key found for this signature in database
GPG Key ID: 3D214F8F5BC5ED73

View File

@ -1,55 +1,49 @@
<img src="https://bisq.network/images/logo_white_bg.png" width="410" />
# Bisq
[![Build Status](https://travis-ci.org/bisq-network/bisq.svg?branch=master)](https://travis-ci.org/bisq-network/bisq)
What is Bisq?
------------------
## What is Bisq?
Bisq is a cross-platform desktop application that allows users to trade national currency (dollars, euros, etc) for bitcoin without relying on centralized exchanges such as Coinbase, Bitstamp or (the former) Mt. Gox.
Bisq is a safe, private and decentralized way to exchange bitcoin for national currencies and other cryptocurrencies. Bisq uses peer-to-peer technology and multi-signature escrow to facilitate trading without the need for a centralized third party exchange. Bisq is non-custodial (never holds your funds), and incorporates a human arbitration system to resolve disputes.
By running Bisq 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 Bisq UI, a market is established.
There are no central points of control or failure in the Bisq network. There are no trusted third parties. When two parties agree to trade national currency for bitcoin, the bitcoin to be bought or sold is held in escrow using multisignature transaction capabilities native to the bitcoin protocol.
Because the national currency portion of any trade must be transferred via traditional means such as a wire transfer, Bisq incorporates first-class support for human arbitration to resolve any errors or disputes.
You can read about all of this and more in the [whitepaper](https://bisq.network/bitsquare.pdf) and [arbitration](https://bisq.network/arbitration_system.pdf) documents. Several [videos](https://bisq.network/blog/category/video) are available as well.
Status
------
Bisq has released the beta version on the 27th of April 2016. It is operational since that time without any major incident.
Please follow the current development state at our [road map]( https://bisq.network/roadmap).
For the latest version checkout our [releases page](https://github.com/bisq-network/exchange/releases) at GitHub.
Building from source
--------------------
See [doc/build.md](doc/build.md).
[AUR for Arch Linux](https://aur.archlinux.org/packages/bisq-git/)
For more information, see https://bisq-network/intro and for step-by-step getting started instructions, see https://bisq.network/get-started.
Staying in Touch
----------------
## Building Bisq
Contact the team and keep up to date using any of the following:
You will need [JDK 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) installed to complete the following instructions.
- The [Bisq website](https://bisq.network)
- GitHub [Issues](https://github.com/bisq-network/bisq-desktop/issues)
- The [Bisq forum]( https://bisq.community)
- The [#bisq](https://webchat.freenode.net/?channels=bisq) IRC channel on Freenode
- Our [contributor mailing list](https://lists.bisq.network/listinfo/bisq-contrib)
- [@bisq_network](https://twitter.com/bisq_network) on Twitter
- The [Bisq newsletter](https://eepurl.com/5uQf9)
1. Clone the Bisq source code and cd into `bisq`
git clone https://github.com/bisq-network/bisq
cd bisq
2. Build Bisq
You do _not_ need to install Gradle to complete the following command. The `gradlew` shell script will install it for you if necessary.
./gradlew build
License
-------
## Running Bisq
Bisq is [free software](https://www.gnu.org/philosophy/free-sw.html), licensed under version 3 of the [GNU Affero General Public License](https://gnu.org/licenses/agpl.html).
With the above build complete, the Bisq executable jar is now available in the `desktop/build/libs/` directory. Run it as follows, replacing `{version}` with the actual version found in the filename:
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:
java -jar desktop/build/libs/desktop-{version}-all.jar`
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 "Bisq" and the Bisq logo seen here. This allows for competition without confusion.
See [LICENSE](LICENSE) for complete details.
## Importing Bisq into Intellij IDEA
_The following instructions have been tested on IDEA 2017.3_
1. Go to `Import Project`, select `settings.gradle` and click `Open`
1. In the `Import Project from Gradle` screen, check the `Use auto-import` option and click `OK`
1. When prompted whether to overwrite the existing `.idea` directory, click `Yes`
1. Go to `Preferences->Build, Execution, Deployment->Compiler->Annotation Processors` and check the `Enable annotation processing` option (to enable processing of Lombok annotations)
1. In the `Project` tool window, right click on the root-level `.idea` folder, select `Git->Revert...` and click OK in the dialog that appears (to restore source-controlled `.idea` configuration files that get overwritten during project import)
1. Go to `Help->Edit Custom Properties...`, add a line to the file that reads `idea.max.intellisense.filesize=12500`, then quit and restart IDEA (to handle Bisq's very large generated `PB.java` Protobuf source file)
1. Go to `Build->Build project`. Everything should build cleanly. You should be able to run tests, run `main` methods in any component, etc.
> TIP: If you encounter compilation errors related to the `io.bisq.generated.protobuffer.PB` class, it is probably because you didn't run the full Gradle build above. You need to run the `generateProto` task in the `common` project. You can do this via the Gradle tool window in IDEA, or you can do it the command line with `cd common; ./gradlew generateProto`. Once you've done that, run `Build->Build project` again and you should have no errors.