### How to use Tor with Joinmarket
(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.
### Contents
1. [Checking Tor is installed](#torinstall)
2. [Using Tor as a Taker](#tortaker)
3. [Using Tor as a Maker](#tormaker)
a. [Configuring Tor to setup an onion service](#torconfig)
### Checking Tor is installed
(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.
### Using Tor as a Taker
Insert basic instructions on checking Tor is functional and SOCKS port.
### Using Tor as a Maker
To use the new onion messaging system (see [here](onion-message-channels.md)) 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:
#### Configuring Tor to setup an onion service
(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.