Browse Source

add usage guide, update docs, reset config

master
Adam Gibson 9 years ago
parent
commit
f8be66a63d
No known key found for this signature in database
GPG Key ID: B3AE09F1E9A3197A
  1. 22
      README.md
  2. 4
      docs/INSTALL.md
  3. 50
      docs/USAGE.md
  4. 27
      jmclient/jmclient/configure.py

22
README.md

@ -1,6 +1,24 @@
# joinmarket-clientserver # joinmarket-clientserver
Joinmarket refactored to separate client and backend operations Joinmarket refactored to separate client and backend operations
**NOTE: To use current Joinmarket, use the [latest release](https://github.com/AdamISZ/joinmarket-clientserver/releases).
The master branch is upgraded for segwit and to be used only for testing until the next release.**
### Quickstart
You need to follow the [install guide](docs/INSTALL.md).
The above document will point you to the [segwit upgrade guide](docs/SEGWIT-UPGRADE.md) if you need to update your wallet.
If you are new, follow and read the links in the [usage guide](docs/USAGE.md).
If you are not new to Joinmarket, the notes in the [scripts readme](scripts/README.md) help to understand what has and hasn't changed about the scripts.
There is a joinmarket-qt GUI included but it's not yet ready for the new segwit version.
### Notes on architectural changes (can be ignored)
Motivation: By separating the code which manages conversation with other Motivation: By separating the code which manages conversation with other
Joinmarket participants from the code which manages this participant's Bitcoin Joinmarket participants from the code which manages this participant's Bitcoin
wallet actions, we get a considerable gain at a minor cost of an additional layer: wallet actions, we get a considerable gain at a minor cost of an additional layer:
@ -29,8 +47,6 @@ The IRC layer is also implemented here using Twisted, reducing the complexity re
The "server" is just a daemon service that can be run as a separate process (see `scripts/joinmarketd.py`), or for convenience in the same process (the default for command line scripts). The "server" is just a daemon service that can be run as a separate process (see `scripts/joinmarketd.py`), or for convenience in the same process (the default for command line scripts).
To install, follow the instructions [here](docs/INSTALL.md). ### TESTING
Instructions for running command line scripts are [here](scripts/README.md).
Instructions for developers for testing [here](docs/TESTING.md). Instructions for developers for testing [here](docs/TESTING.md).

4
docs/INSTALL.md

@ -50,9 +50,9 @@ Then:
sudo pip install virtualenv sudo pip install virtualenv
mkdir jmvenv mkdir jmvenv
virtualenv jmvenv virtualenv jmvenv
cd jmvenv; source bin/activate; cd .. source jmvenv/bin/activate
Install this repo in the virtualenv: Install this repo:
git clone https://github.com/AdamISZ/joinmarket-clientserver git clone https://github.com/AdamISZ/joinmarket-clientserver
cd joinmarket-clientserver cd joinmarket-clientserver

50
docs/USAGE.md

@ -0,0 +1,50 @@
### Zeroth step: configuring Bitcoin Core
Until such time as we have a better solution for a light client, Joinmarket only
realistically supports use with Bitcoin Core to connect to the Bitcoin network.
The node *can* be pruned.
**Use with another interface to the blockchain should be considered highly experimental
(and in most cases it doesn't really work, as well as being terrible for privacy). It is not supported at this time.**
For notes on how to configure your Core node for use with Joinmarket, read [here](https://github.com/JoinMarket-Org/joinmarket/wiki/Running-JoinMarket-with-Bitcoin-Core-full-node#requirements--how-to).
### First step: make a Joinmarket wallet
Use [this](https://github.com/JoinMarket-Org/joinmarket/wiki/Using-the-JoinMarket-internal-wallet) guide,
BUT: a couple of differences:
* The `wallet-tool.py` script is in the `scripts/` directory, so start there.
* The output when you "display balance" will look a bit different: the addresses start with '3'.
* The layout is also slightly different, but it's the same information.
* The BIP32 paths look like m/49'/0'/0'/0/000 instead of m/0/0/0/000; that's just a new segwit standard.
(The new standard *should* be compatible with TREZOR, including the 12 word seed; other wallets, mostly not, although standards haven't settled down yet).
### Second step: Funding the wallet.
Read [this section](https://github.com/JoinMarket-Org/joinmarket/wiki/Using-the-JoinMarket-internal-wallet#funding-wallet-and-displaying-balance)
in the previously linked page. Don't neglect the point mentioned that, if you are planning to do your own coinjoins
(act as "Taker", you must fund multiple different addresses to avoid inconvenience in future. For Makers, that's not necessary.
### Third step: Try out a coinjoin
To try doing one coinjoin, use the `sendpayment.py` script. See [here](https://github.com/JoinMarket-Org/joinmarket/wiki/Sending-payments-with-CoinJoin#send-payment)
(Note that the `patientsendpayment` option, also described on that page, is not yet implemented in this version, but probably will be soon).
(Note also that you can use 'schedule' files in this new version, but that's more advanced so ignore it for now.)
### 4a step: if you want to be a "Maker" or "yield generator".
Read the introductory guide [here](https://github.com/JoinMarket-Org/joinmarket/wiki/Running-a-Yield-Generator).
You can use the `yield-generator-basic.py` script in the `scripts/` directory.
The new script (much simplified) has the same fields at the top you can edit; note
the new offertypes are 'swreloffer', 'swabsoffer' - they function the same, but use segwit.
### 4b step: if you want to run the tumbler script.
Read the instructions [here](tumblerguide.md)

27
jmclient/jmclient/configure.py

@ -105,10 +105,11 @@ daemon_host = localhost
use_ssl = false use_ssl = false
[BLOCKCHAIN] [BLOCKCHAIN]
blockchain_source = blockr #options: bitcoin-rpc, regtest, bc.i, electrum-server
#options: blockr, bitcoin-rpc, regtest, bc.i, electrum-server #OPTIONS bc.i, electrum-server ARE EXPERIMENTAL AND MAY NOT WORK
# for instructions on bitcoin-rpc read # for instructions on bitcoin-rpc read
# https://github.com/chris-belcher/joinmarket/wiki/Running-JoinMarket-with-Bitcoin-Core-full-node # https://github.com/chris-belcher/joinmarket/wiki/Running-JoinMarket-with-Bitcoin-Core-full-node
blockchain_source = bitcoin-rpc
network = mainnet network = mainnet
rpc_host = localhost rpc_host = localhost
rpc_port = 8332 rpc_port = 8332
@ -116,19 +117,19 @@ rpc_user = bitcoin
rpc_password = password rpc_password = password
[MESSAGING] [MESSAGING]
host = irc.cyberguerrilla.org host = irc.cyberguerrilla.org, agora.anarplex.net
channel = joinmarket-pit channel = joinmarket-pit, joinmarket-pit
port = 6697 port = 6697, 14716
usessl = true usessl = true, true
socks5 = false socks5 = false, false
socks5_host = localhost socks5_host = localhost, localhost
socks5_port = 9050 socks5_port = 9050, 9050
#for tor #for tor
#host = 6dvj6v5imhny3anf.onion #host = 6dvj6v5imhny3anf.onion, cfyfz6afpgfeirst.onion
#onion / i2p have their own ports on CGAN #onion / i2p have their own ports on CGAN
#port = 6698 #port = 6698, 6667
#usessl = true #usessl = true, false
#socks5 = true #socks5 = true, true
[TIMEOUT] [TIMEOUT]
maker_timeout_sec = 30 maker_timeout_sec = 30

Loading…
Cancel
Save