From 4089f3c9dba6b5a83766f23f6380e656dcf0fcd1 Mon Sep 17 00:00:00 2001 From: AdamISZ Date: Tue, 15 May 2018 12:10:15 +0200 Subject: [PATCH] Update docs to include non-segwit option and updates on segwit info --- README.md | 3 ++- docs/SEGWIT-UPGRADE.md | 36 +++++++++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b152f9b..787aa88 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ Joinmarket refactored to separate client and backend operations **The [latest release](https://github.com/AdamISZ/joinmarket-clientserver/releases) -is upgraded for segwit and to be used only for that; to use non-segwit use [0.2.2](https://github.com/AdamISZ/joinmarket-clientserver/tree/v0.2.2) or earlier.** +is upgraded for segwit and to be used only for that; to use non-segwit you can use [0.2.2](https://github.com/AdamISZ/joinmarket-clientserver/tree/v0.2.2), or you can run +the latest commit on the master branch; see [here](docs/SEGWIT-UPGRADE.md) (first section) for more details on the new non-segwit option.** ### Quickstart diff --git a/docs/SEGWIT-UPGRADE.md b/docs/SEGWIT-UPGRADE.md index abdd330..6e8c23e 100644 --- a/docs/SEGWIT-UPGRADE.md +++ b/docs/SEGWIT-UPGRADE.md @@ -1,3 +1,28 @@ +### What if I don't want to migrate to segwit yet? + +If, for whatever reason, you want to keep using the non-segwit version of Joinmarket, +you can do so by adding the following entry in your `joinmarket.cfg` file: + +``` +[POLICY] +segwit = false +``` + +(obviously, add it *into* the `POLICY` section, don't create a duplicate of that +section. Also make sure to enter exactly `false` in lower case, otherwise it +will be ignored. The default is segwit). + +If you do this, the pre-existing Joinmarket wallet should load fine and you should +be able to do coinjoins just as before. + +Note, however, that most are migrating to segwit, and we strongly encourage it +(it's better not to have a split into two groups), not least because segwit +transactions are cheaper. + +The rest of this document will assume you *do* want to migrate. + +--- + ### Migrating to a new segwit based wallet. To do joinmarket coinjoins with other participants using segwit, you need to use @@ -40,7 +65,7 @@ Note down at least 3 addresses from mixdepth 0 if you plan to use as a Taker; if a Maker (yieldgenerator), best to note down one address from each mixdepth. Next, load your old wallet; you have two options - either (1) use your old Joinmarket -installation (easier), or (2) use this one, and go into joinmarket.cfg and add: +installation, or (2) use this one, and go into joinmarket.cfg and add: segwit = false @@ -140,8 +165,8 @@ Second, this new wallet type is not compatible with the old; that doesn't make s you would still have to transfer to new segwit style outputs. Third, the new type is based on [BIP49](https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki), -which is currently supported only by TREZOR to my knowledge, although others may later adopt it. -So these Joinmarket wallets could be loaded into TREZOR; at least, that's expected. +which is currently supported by TREZOR, Ledger, Electrum (via custom HD path option, only one account at a time), Samourai, Eclair to my knowledge, and probably others. +So these Joinmarket wallets could be loaded into those wallets, but be wary of privacy issues if querying your addresses over some external server. BIP49 is a modification of BIP44 for segwit, but really it's just a new BIP32 HD path. (To get even further into the technical weeds, these standards (44/49) use hardened derivation except for keys below the account level). @@ -166,5 +191,6 @@ Since segwit-style joinmarket must be done "all-in-one" for privacy (otherwise a risks creating a single '1' address output), the yieldgenerator in this implementation makes `swreloffer` and `swabsoffer` offer types, and won't also offer original-type offers. However, the parameters of the offer are the same, and are still set in the (now much -simplified) `yield-generator-basic.py` script. Other variants may be added later subject to -anyone getting around to doing it. \ No newline at end of file +simplified) `yield-generator-basic.py` or `yg-privacyenhanced.py` scripts. + +Other variants may be added later subject to anyone getting around to doing it. \ No newline at end of file