Bitcoin CoinJoin implementation with incentive structure to convince people to take part
View the Project on GitHub JoinMarket-Org/joinmarket-clientserver
(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.