5.5 KiB
Building From Source
This guide will walk you through the process of building bisq from source.
NOTE: For most users, building from source is not necessary. See the releases page, where you'll find installers for Windows, Linux and Mac OS X.
There is an install script (2 parts) for setup (JDK, git, maven, Bitcoinj, bisq) on Linux in that directory (install_on_unix.sh, install_on_unix_fin.sh).
System requirements
The prerequisite for building bisq is installing the Java Development Kit (JDK), version 8u131 or better (as well as maven and git).
$ sudo apt-get install openjdk-8-jdk maven git
In Debian/Ubuntu with OpenJDK you'll need OpenJFX as well, i.e. you'll need the openjfx
package besides the openjdk-8-jdk
package.
$ sudo apt-get install openjfx
1. Check the version of Java you currently have installed
$ java -version
If java
is not found, or your version is anything less than 1.8.0_121
, then follow the next steps, otherwise you can skip to step 2:
1.1 Debian based systems (Ubuntu)
You can use either OpenJDK or Oracle JDK.
To install OpenJDK use:
$ sudo apt-get install openjdk-8-jdk maven libopenjfx-java
Unfortunately, Ubuntu 14.04 & Linux Mint 17.3 are missing OpenJdk 8 and OpenJFX, so this might be useful:
If openjdk-8-jdk
is not found you can add this ppa, update, then try again:
$ sudo apt-add-repository ppa:openjdk-r/ppa && sudo apt-get install openjdk-8-jdk
If libopenjfx-java
is not found you can build & install it yourself:
To install the Oracle JDK use:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get -y install oracle-java8-installer
Check if $JAVA_HOME is set:
$ echo $JAVA_HOME
If $JAVA_HOME
is not present, open your .bashrc
file:
$ touch ~/.bashrc
$ gedit ~/.bashrc
- For OpenJDK add:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- For Oracle JDK add:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
- For your current alternative JDK add:
export JAVA_HOME=/usr/lib/jvm/default-java
(or/usr/lib/jvm/default
for Arch or/usr/lib/jvm/java
for Fedora)
Save and close the file.
Reload the file in your shell:
$ . ~/.bashrc
$ echo $JAVA_HOME
1.2 Other systems
Download and install the latest Oracle JDK for your platform.
For Mac OSX, you will need to set JAVA_HOME as:
$ echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.bashrc
$ . ~/.bashrc
Protobuf
Note that Bisq use protobuf during maven build. Installation is done via the maven build.
2.1 Increase the Intellij Idea Code insight limit, because it breaks on the generated protobuffer files:
Go to Help > Edit custom properties => paste the following line: idea.max.intellisense.filesize=12500 Source: https://stackoverflow.com/questions/23057988/file-size-exceeds-configured-limit-2560000-code-insight-features-not-availabl
At IntelliJ 14 you need to edit the idea.properties in the app container: /Applications/IntelliJ\ IDEA\ 14\ CE.app/Contents/bin/idea.properties
2.2 If using Intellij install the Lombok plugin
https://plugins.jetbrains.com/plugin/6317-lombok-plugin
Build bisq
1. Build final bisq jar
Now we have all prepared to build the correct bisq jar.
$ git clone https://github.com/bisq-network/exchange.git exchange
$ cd exchange
$ mvn clean package verify -DskipTests -Dmaven.javadoc.skip=true
When the build completes, you will find an executable jar: target/shaded.jar
and a ./lib directory.
To run it use:
$ java -jar target/shaded.jar
Build binaries
If you want to build the binaries check out the build scripts under the package directory. Use the shaded.jar and the lib directory.
DAO full node
If you want to run your own BSQ transaction verification node you have to run Bitcoin Core with RPC enabled and use dedicated program arguments for the bisq node. See https://github.com/bisq-network/exchange/blob/master/doc/rpc.md for more details.
Development mode
Please check out our wiki for more information about testing and how to use regtest
Here are example program arguments for using regtest with localhost environment (not using Tor):
$ java -jar target/shaded.jar --baseCurrencyNetwork=BTC_REGTEST --useLocalhost=true --myAddress=localhost:2222 --nodePort=2222 --appName=bisq-Local-Regtest-Arbitrator
$ java -jar target/shaded.jar --baseCurrencyNetwork=BTC_REGTEST --useLocalhost=true --myAddress=localhost:3333 --nodePort=3333 --appName=bisq-Local-Regtest-Alice
$ java -jar target/shaded.jar --baseCurrencyNetwork=BTC_REGTEST --useLocalhost=true --myAddress=localhost:4444 --nodePort=4444 --appName=bisq-Local-Regtest-Bob
Running local seed node with Tor and RegTest
See the documentation at https://github.com/bisq-network/bisq-seednode
Problems?
If the instructions above don't work for you, please raise an issue. Thanks!