From ac6d93162af0f4a4d59a4df71e791f2c48c99b44 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 7 Sep 2018 15:08:24 +0200 Subject: [PATCH 1/7] 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 --- README.md | 76 +++++++++++++++++++++++++------------------------------ 1 file changed, 35 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 1f59c24aeb..c810696be4 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? ------------------- +## 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. + From d4ec79c95b306c66a92e54c25095d2a127f869b8 Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Mon, 10 Sep 2018 12:20:01 +0200 Subject: [PATCH 2/7] Add mentioned step 2 --- doc/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build.md b/doc/build.md index d8abf4f497..d12ef8c612 100644 --- a/doc/build.md +++ b/doc/build.md @@ -80,7 +80,7 @@ For Mac OSX, you will need to set JAVA_HOME as: $ . ~/.bashrc -### If using Intellij install the Lombok plugin +### 2. If using Intellij install the Lombok plugin https://plugins.jetbrains.com/plugin/6317-lombok-plugin Build Bisq From 7dab42f4515d73beb2c923681c32bd63744dc5a0 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 11 Sep 2018 15:30:29 +0200 Subject: [PATCH 3/7] Add installing Lombok to build instructions Also, separate one-time IDEA configuration items from details of importing the project. --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c810696be4..a3492d3915 100644 --- a/README.md +++ b/README.md @@ -37,12 +37,15 @@ With the above build complete, the Bisq executable jar is now available in the ` _The following instructions have been tested on IDEA 2017.3_ + 1. Open IDEA + 1. Go to `Help->Edit Custom Properties...`, add a line to the file that reads `idea.max.intellisense.filesize=12500` (to handle Bisq's very large generated `PB.java` Protobuf source file) + 1. Go to `Preferences->Plugins`. Search for and install the _Lombok_ plugin. When prompted, do not restart IDEA. + 1. Go to `Preferences->Build, Execution, Deployment->Compiler->Annotation Processors` and check the `Enable annotation processing` option (to enable processing of Lombok annotations) + 1. Restart IDEA 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. From a89d22118d17cffc503d082876d8c52e53923920 Mon Sep 17 00:00:00 2001 From: Aruna Surya Date: Tue, 11 Sep 2018 21:40:40 +0200 Subject: [PATCH 4/7] Improve grammar of seed info --- core/src/main/resources/i18n/displayStrings.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 540fab9501..b8ed307acb 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -1039,9 +1039,9 @@ account.seed.backup.title=Backup your wallets seed words account.seed.info=Please write down both wallet seed words and the date! \ You can recover your wallet any time with those seed words and the date.\n\ The seed words are used for both the BTC and the BSQ wallet.\n\n\ -You should write down the seed words on a sheet of paper and not save them on your computer.\n\n\ +You should write down the seed words on a sheet of paper. Do not save them on your computer.\n\n\ Please note that the seed words are NOT a replacement for a backup.\n\ -You need to backup the whole application directory at the \"Account/Backup\" screen to recover the valid application state and data.\n\ +You need to create a backup of the whole application directory at the \"Account/Backup\" screen to recover the valid application state and data.\n\ Importing seed words is only recommended for emergency cases. The application will not be functional without a proper backup of the database files and keys! account.seed.warn.noPw.msg=You have not setup a wallet password which would protect the display of the seed words.\n\n\ Do you want to display the seed words? From 155bfba83a66c62d953e6faa86e4e10abfe4c6dd Mon Sep 17 00:00:00 2001 From: KristianNilsen Date: Wed, 12 Sep 2018 15:52:22 +0200 Subject: [PATCH 5/7] Updated readme.md with the tested IDEA version 2018.2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3492d3915..46d25b1402 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ With the above build complete, the Bisq executable jar is now available in the ` ## Importing Bisq into Intellij IDEA -_The following instructions have been tested on IDEA 2017.3_ +_The following instructions have been tested on IDEA 2018.2_ 1. Open IDEA 1. Go to `Help->Edit Custom Properties...`, add a line to the file that reads `idea.max.intellisense.filesize=12500` (to handle Bisq's very large generated `PB.java` Protobuf source file) From 9ec47d2292fa23c2ffa859346ae11ff77c9e9d85 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Thu, 13 Sep 2018 08:06:37 +0200 Subject: [PATCH 6/7] Check bisq.asset.Asset sort order during CI This check had been set up for some time in the original bisq-network/bisq-assets repository. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index ed2abf26c0..3f1c60c652 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ language: java jdk: oraclejdk8 +before_install: + grep -v '^#' src/main/resources/META-INF/services/bisq.asset.Asset | sort --check --dictionary-order --ignore-case notifications: slack: on_success: change From cd5c5eda65521ded69ffa1544f50cb09895317a8 Mon Sep 17 00:00:00 2001 From: Aruna Surya Date: Thu, 13 Sep 2018 20:01:10 +0200 Subject: [PATCH 7/7] Improve grammar of Welcome text --- core/src/main/resources/i18n/displayStrings.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index b8ed307acb..749f2cb40e 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -925,11 +925,11 @@ setting.about.subsystems.val=Network version: {0}; P2P message version: {1}; Loc account.tab.arbitratorRegistration=Arbitrator registration account.tab.account=Account account.info.headline=Welcome to your Bisq Account -account.info.msg=Here you can setup trading accounts for national currencies & altcoins, select arbitrators and backup your wallet & account data.\n\n\ +account.info.msg=Here you can add trading accounts for national currencies & altcoins, select arbitrators and create a backup of your wallet & account data.\n\n\ An empty Bitcoin wallet was created the first time you started Bisq.\n\ We recommend that you write down your Bitcoin wallet seed words (see button on the left) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\n\ Privacy & Security:\n\ -Bisq is a decentralized exchange – meaning all of your data is kept on your computer, there are no servers and we have no access to your personal info, your funds or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the arbitrator will see the same data like your trading peer). +Bisq is a decentralized exchange – meaning all of your data is kept on your computer - there are no servers and we have no access to your personal info, your funds or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the arbitrator will see the same data as your trading peer). account.menu.paymentAccount=National currency accounts account.menu.altCoinsAccountView=Altcoin accounts