Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Installing JoinMarket on Windows

chris-belcher edited this page Mar 22, 2022 · 23 revisions

JoinMarket - installation on Windows.

This guide describes how to install JoinMarket and its dependencies (python, libsodium, secp256k1) on Windows.

Some or all of this may or may not work for all versions of Windows. Reports appreciated. It is not claimed to be in any way comprehensive. Verification of downloads are your own responsibility.

  1. Install JoinMarket - go to https://github.com/JoinMarket-Org/joinmarket/releases and download the most recent release. Unzip it into any location you choose.

  2. You will need to install MinGW from here or go to their website. After a few introductory screens, you will be shown a windows with some optional components that you have to choose; this basic setup is sufficient:

From "Basic Setup" in the left menu:

  • mingw-developer-toolkit
  • mingw32-base
  • mingw32-gcc-g++
  • msys-base

Once you have chosen these, choose "Update" from the main menu first item. These components will be installed into C:\MinGW\bin. Once that is complete, you should have this dll: libgcc_s_dw2-1.dll in that folder C:\MinGW\bin, along with a lot of other files; I'm mentioning this file explicitly, since it's needed specifically for libsecp256k1 to operate in this setup.

Next, you must make sure C:\MinGW\bin is added to your PATH variable. Here's one guide to how to do that; you must append ;C:\MinGW\bin to the end of the path before continuing.

  1. Install Python from https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi. Run the executable. Choose to install the feature Add python.exe to Path (it's the last option in the installer, off by default - switch it on) on local hard drive during installation; Python should then be installed in C:\Python27 (EXTRA NOTE: the most recent 2.7 installation linked here seems to install pip automatically, which is very useful for step 4)

  2. Check that Python runs. Open a new command prompt as administrator by typing cmd.exe into the Start menu and pressing Ctrl+Shift+Enter. Type python and you should see something like:

    Python 2.7.11 (default....
    ....
    >>>
    

Exit the Python console with exit() or by pressing Ctrl+C. Now, make sure your version of pip is up to date: run the command: python -m pip install --upgrade pip.

  1. Go to the directory C:\Python27\Lib\distutils and add a new file, called distutils.cfg. Inside it, put:

    [build]
    compiler=mingw32
    

Close and save the file.

  1. Next, you need to install the dll for libnacl. First go to https://download.libsodium.org/libsodium/releases/ and choose the file libsodium-1.0.4-msvc.zip to download. Unzip anywhere, and then copy the file libsodium.dll from the directory \Win32\Release\v120\dynamic (do not use v140), and paste it into root joinmarket directory (the same directory where README.md lives). Then you need to address the Visual C++ 2013 runtime dependency. Do so by going to www.microsoft.com/en-us/download/details.aspx?id=40784 and clicking Download. Choose x86 even on a 64-bit system, and run the executable.

  2. Note that after doing this, you must run pip install -r requirements-windows.txt from the Joinmarket root directory (where the README.md file is) and should not get an error message (this will install/check the python packages libnacl and secp256k1(-transient)).

  3. Finally it should work! You can try running the script python wallet-tool.py generate to create a new wallet; then follow the guides from the Wiki home page. When you run the files you will get some annoying compiler warning messages at the start, these can safely be ignored (this should be cleaned up in a future rationalisation of this Byzantine process!).

If you are using bitcoinqt or bitcoind and yield-generator

You will need to download curl from https://curl.haxx.se/download.html.

Once installed, configure the PATH as it was done just before so the directory containing cURL is in the list.

Then try to run cURL. (You need to create a new command line prompt for the change to the PATH variable be effective)

If you have an error which tells you a dll is missing then download and install the VC++ Redistributable for Visual Studio 2015 on https://www.microsoft.com/en-us/download/details.aspx?id=48145 for the corresponding cURL process architecture you downloaded. (x86 or x64)