Browse Source

Merge #580: Update tumbler doc for the new schedule format

f2e100e fix sample schedule for testnet (Adam Gibson)
031b8f6 Update tumbler doc for the new schedule format (chris-belcher)

Tree-SHA512: c456863cfe4e18a81e4e769a6c28ef1b01c2a516332281cb7868cb2c7e7e9f62e0c566185911958803ca3c22ae03b764b4c2b3ac969fd47614d728cca15b88f3
master
chris-belcher 6 years ago
parent
commit
02bb537c3a
No known key found for this signature in database
GPG Key ID: EF734EA677F31129
  1. 4
      docs/tumblerguide.md
  2. 9
      scripts/sample-schedule-for-testnet

4
docs/tumblerguide.md

@ -11,7 +11,7 @@ This document explains the delta to the operation of that script, which is almos
In this implementation, each coinjoin has an associated "schedule" of format like this:
```
[mixdepth, amount-fraction, N-counterparties (requested), destination address, wait time in minutes, flag indicating incomplete/broadcast/completed (0/txid/1)]
[mixdepth, amount-fraction, N-counterparties (requested), destination address, wait time in minutes, rounding, flag indicating incomplete/broadcast/completed (0/txid/1)]
```
`[]` here represents a Python list. It's recorded in files in a csv format (because in some cases users may edit). See [this](https://github.com/AdamISZ/joinmarket-clientserver/blob/master/scripts/sample-schedule-for-testnet) testnet sample given in the repo. A couple of extra notes on the format:
@ -22,6 +22,8 @@ In this implementation, each coinjoin has an associated "schedule" of format lik
* 0 amounts for the second entry indicate, as for command line flags, a sweep; decimals indicate mixdepth fractions (for tumbler)
* the 6th entry, `rounding`, is how many significant figures to round the coinjoin amount to. For example a rounding of `2` means that `0.12498733` will be rounded to `0.1200000`. A rounding value of `16` means no rounding. Sweep coinjoin amounts are never rounded.
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 is simply that a tumbler *schedule* is generated, according to the same algorithm that was used in the original implementation ([code](https://github.com/AdamISZ/joinmarket-clientserver/blob/master/jmclient/jmclient/schedule.py#L61-L133)), however here it is persisted - see the next section.

9
scripts/sample-schedule-for-testnet

@ -19,9 +19,12 @@
# in the tumbler, to prompt the user for a new address.
#index 4: waittime: a decimal value in minutes to wait, after confirmation of this
# transaction, before continuing to the next.
#index 5: completion flag: 0 until the transaction is seen on the network, when it
#index 5: rounding: how many significant figures to round the coinjoin amount to.
# For example a rounding of `2` means that `0.12498733` will be rounded to `0.1200000`.
# A rounding value of `16` means no rounding. Sweep coinjoin amounts are never rounded.
#index 6: completion flag: 0 until the transaction is seen on the network, when it
# is changed to the txid. This is particularly useful for the `--restart` feature
# of tumbler. Then changes to 1 when tx is confirmed.
#==========================
1, 110000000, 3, INTERNAL, 0.8, 0
0, 20000000, 2, mnsquzxrHXpFsZeL42qwbKdCP2y1esN3qw, 0, 0
1, 110000000, 3, INTERNAL, 0.8, 16, 0
0, 20000011, 2, mnsquzxrHXpFsZeL42qwbKdCP2y1esN3qw, 0, 16, 0

Loading…
Cancel
Save