(You've installed using the install.sh or similar as per instructions in the README before
reading this).
This document gives short notes on any necessary configuration steps for using Joinmarket as a Maker or a Taker, in coinjoins. The requirements for Takers are lesser.
(Insert sanity check advice for system tor.)
If you don't currently have a Tor daemon running on your machine you can use the flag --with-local-tor appended to your invocation of ./install.sh as per the installation instructions in the README.
Insert basic instructions on checking Tor is functional and SOCKS port.
To use the new onion messaging system (see here) as a maker it's necessary for your bot to be reachable directly p2p by takers, so you need to run an onion service. This often requires a little extra configuration of your Tor setup, which we now explain:
(These steps were prepared using Ubuntu; you may have to adjust for your distro).
First, ensure you have Tor installed:
sudo apt install tor
Don't start the tor daemon yet though, since we need to do some setup. Edit Tor's config file with sudo:
sudo vim /etc/tor/torrc
and uncomment these three lines to enable onion service startup:
ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1
However if you proceed at this point to try to start your yieldgenerator with python yg-privacyenhanced.py wallet.jmdat or similar, you will almost certainly get an error like this:
Permission denied: '/var/run/tor/control.authcookie'
... because reading this file requires being a member of the group debian-tor. So add your user to this group:
sudo usermod -a -G debian-tor yourusername
... and then you must restart the computer/server (or maybe just logout, login) for that change to take effect (check it with groups yourusername).
Finally, after system restart, ensure Tor is started (it may be automatically, but anyway):
sudo service tor start
Once this is done, you should be able to start the yieldgenerator successfully.
Cookie authentication assumes the Joinmarket and Tor processes have shared filesystem access to where Tor stores its control cookie.
If this is not possible or desired, for example if Tor is running on another machine, you can instead use a password. On the tor node, hash the password:
tor --hash-password !CHANGEME!
sudo vim /etc/tor/torrc
, and add it to the torrc:
ControlPort 9051
HashedControlPassword RESULT_OF_hash-password
Then add the same password to your joinmarket configuration:
tor_control_password=!CHANGEME!