Basic Atomic Swap Proof of Concept
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

2.0 KiB

Tor

Basicswap can be configured to route all traffic through a tor proxy.

Note that TOR integration is experimental and should not yet be relied upon.

basicswap-prepare

basicswap-prepare can be configured to download all binaries through tor and to enable or disable tor in all active coin config files.

Create initial files

Docker will create directories instead of files if these don't exist.

mkdir -p $COINDATA_PATH/tor
echo 'SocksPort 0.0.0.0:9050' > $COINDATA_PATH/tor/torrc

For a new install

Use the --usetorproxy argument to download the coin binaries over tor, then enable tor with --enabletor. Note that some download links, notably for Litecoin, are unreachable when using tor.

docker compose -f docker-compose_with_tor.yml run --rm swapclient \
    basicswap-prepare --usetorproxy --datadir=/coindata --withcoins=monero,particl

docker compose -f docker-compose_with_tor.yml run --rm swapclient \
    basicswap-prepare --enabletor --datadir=/coindata

The --enabletor option will add config to the torrc file, the tor container must afterwards be stopped to load the new config:

docker compose -f docker-compose_with_tor.yml stop

Start Basicswap with:

docker compose -f docker-compose_with_tor.yml up

Enable tor on an existing datadir

docker compose -f docker-compose_with_tor.yml run --rm swapclient \
    basicswap-prepare --datadir=/coindata --enabletor

docker compose -f docker-compose_with_tor.yml stop

Disable tor on an existing datadir

docker compose -f docker-compose_with_tor.yml run --rm swapclient \
    basicswap-prepare --datadir=/coindata --disabletor

docker compose -f docker-compose_with_tor.yml stop

Update coin release

docker compose -f docker-compose_with_tor.yml up -d tor
docker compose -f docker-compose_with_tor.yml run --rm swapclient \
    basicswap-prepare --usetorproxy --datadir=/coindata --preparebinonly --withcoins=bitcoin
docker compose -f docker-compose_with_tor.yml stop