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 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
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:
@ -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).
To install, follow the instructions [here](docs/INSTALL.md).
Instructions for running command line scripts are [here](scripts/README.md).
### TESTING
Instructions for developers for testing [here](docs/TESTING.md).

4
docs/INSTALL.md

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

Loading…
Cancel
Save