From 26c157d2f90e61fb9bcd458c59950c56ff031765 Mon Sep 17 00:00:00 2001 From: Marnix <93143998+MarnixCroes@users.noreply.github.com> Date: Thu, 28 Mar 2024 10:38:12 +0100 Subject: [PATCH 1/2] small fixes/updates in tumblerguide doc --- docs/tumblerguide.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/tumblerguide.md b/docs/tumblerguide.md index adac0b6e3..8aacff076 100644 --- a/docs/tumblerguide.md +++ b/docs/tumblerguide.md @@ -8,7 +8,7 @@ Note that the tumbler can be run as a script: or from the JoinmarketQt app in the "Multiple Joins" tab (see [the guide](JOINMARKET-QT-GUIDE.md)), -or using the RPC-API via a webapp like [JAM](https://github.com/joinmarket-webui/joinmarket-webui). +or using the RPC-API via a webapp like [JAM](https://github.com/joinmarket-webui/jam). # Contents @@ -30,8 +30,9 @@ or using the RPC-API via a webapp like [JAM](https://github.com/joinmarket-webui 7. [Tweaking the schedule](#tweaking) +8. [How often do retries occur](#how-often-do-retries-occur) -8. [Possible failure vectors](#failure-vectors) +9. [Possible failure vectors](#failure-vectors) @@ -111,7 +112,7 @@ Amounts and times: these are both randomized. You can't control how much goes to First, note you can use more than 3 destination addresses (and it's good to do so), if you're mixing through more than the default 4 mixdepths. -Second, note that the tumbler algorithm as of [this commit](ADD_LINK_HERE), now **cycles** through the default 5 mixdepths, instead of creating extra ones. This means that the mixdepth path goes as follows: +Second, note that the tumbler algorithm as of [this commit](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1324/commits/d3dc9d7bbd8f0464f86ff086f86e8d52e56424ac), now **cycles** through the default 5 mixdepths, instead of creating extra ones. This means that the mixdepth path goes as follows: Phase 1: * Sweep from mixdepth 2 to mixdepth 3 @@ -196,7 +197,7 @@ In this implementation, each coinjoin has an associated "schedule" of format lik For the `sendpayment.py` script, this schedule can indeed be simply written in a file and passed as a parameter (for this reason it's likely the tumbler and sendpayment scripts can merge in future). -As you can imagine, the idea for the `tumbler.py` script, and the MultiJoin wizard in [JoinmarketQt](JOINMARKET-QT-GUIDE.md#tumbler) is simply that a tumbler *schedule* is generated, according to the algorithm introduced in [this PR](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/387) ([code](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/77422231207c7c3e984a88e944b6c715cece46b5/jmclient/jmclient/schedule.py#L87)), however here it is persisted - see the next section. +As you can imagine, the idea for the `tumbler.py` script, and the MultiJoin wizard in [JoinmarketQt](JOINMARKET-QT-GUIDE.md#tumbler) is simply that a tumbler *schedule* is generated, according to the algorithm introduced in [this PR](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/387) ([code](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/fd96f960895c35579407b81236b0679f63871b8f/src/jmclient/schedule.py#L91)), however here it is persisted - see the next section. @@ -264,7 +265,7 @@ This tweaking process is repeated as many times as necessary until the transacti ## How often do retries occur? -This is hardcoded currently to `20 * maker_timeout_sec`, the figure 20 being hardcoded is due to me not wanting yet another config variable, although that could be done of course. This is the rate at which the stall monitor wakes up in the client protocol, the setting is in the code [here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/acc00fc6f5a1cd1f21052c5af06cd06e78c6edda/jmclient/jmclient/client_protocol.py#L359-L363). Note that by default this is fairly slow, 10 minutes. +This is hardcoded currently to `20 * maker_timeout_sec`, the figure 20 being hardcoded is due to me not wanting yet another config variable, although that could be done of course. This is the rate at which the stall monitor wakes up in the client protocol, the setting is in the code [here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/fd96f960895c35579407b81236b0679f63871b8f/src/jmclient/client_protocol.py#L608-L611). Note that by default this is fairly slow, 10 minutes. From 4040aced18ec63c68ef9621d2bc1b89461f36412 Mon Sep 17 00:00:00 2001 From: Marnix <93143998+MarnixCroes@users.noreply.github.com> Date: Thu, 28 Mar 2024 10:43:47 +0100 Subject: [PATCH 2/2] update sourcing commitments link --- docs/tumblerguide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tumblerguide.md b/docs/tumblerguide.md index 8aacff076..21c0fad8d 100644 --- a/docs/tumblerguide.md +++ b/docs/tumblerguide.md @@ -169,7 +169,7 @@ Delaying the whole process by stopping and restarting it is quite sensible anywa ### Reminder about commitments. -Follow the [usage guide](USAGE.md) on how to fund your wallet. Don't neglect to read [this](https://github.com/JoinMarket-Org/joinmarket/wiki/Sourcing-commitments-for-joins) page, otherwise you could encounter problems. +Follow the [usage guide](USAGE.md) on how to fund your wallet. Don't neglect to read [this](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/SOURCING-COMMITMENTS.md) page, otherwise you could encounter problems. This is actually a really important area with the tumbler, because we use sweeps often. It's not really crucial to use 3 utxos to fund at the start, but try to fund with 2, anyway. And: