diff --git a/README.md b/README.md index 1f59c24aeb8..c810696be43 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,49 @@ - +# Bisq +[![Build Status](https://travis-ci.org/bisq-network/bisq.svg?branch=master)](https://travis-ci.org/bisq-network/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. +## What is Bisq? -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. +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. -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. +For more information, see https://bisq-network/intro and for step-by-step getting started instructions, see https://bisq.network/get-started. -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. +## Building Bisq -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. +You will need [JDK 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) installed to complete the following instructions. -Building from source --------------------- +1. Clone the Bisq source code and cd into `bisq` -See [doc/build.md](doc/build.md). + git clone https://github.com/bisq-network/bisq + cd bisq -[AUR for Arch Linux](https://aur.archlinux.org/packages/bisq-git/) +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. -Staying in Touch ----------------- + ./gradlew build -Contact the team and keep up to date using any of the following: - - 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) +## Running Bisq +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: -License -------- + java -jar desktop/build/libs/desktop-{version}-all.jar` -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). -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: +## Importing Bisq into Intellij IDEA - 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. +_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. -See [LICENSE](LICENSE) for complete details.