joinmarket: add usage documentation
This commit is contained in:
parent
d0701f518c
commit
dd882753e6
117
docs/usage.md
117
docs/usage.md
|
@ -221,3 +221,120 @@ Initialize a Trezor for Bitcoin Core's Hardware Wallet Interface
|
||||||
```
|
```
|
||||||
|
|
||||||
8. Follow Bitcoin Core's instructions on [Using Bitcoin Core with Hardware Wallets](https://github.com/bitcoin-core/HWI/blob/master/docs/bitcoin-core-usage.md) to use your Trezor with `bitcoin-cli` on your nix-bitcoin node
|
8. Follow Bitcoin Core's instructions on [Using Bitcoin Core with Hardware Wallets](https://github.com/bitcoin-core/HWI/blob/master/docs/bitcoin-core-usage.md) to use your Trezor with `bitcoin-cli` on your nix-bitcoin node
|
||||||
|
|
||||||
|
JoinMarket
|
||||||
|
---
|
||||||
|
|
||||||
|
## Diff to regular JoinMarket usage
|
||||||
|
|
||||||
|
For clarity reasons, nix-bitcoin renames all scripts to `jm-*` without `.py`, for
|
||||||
|
example `wallet-tool.py` becomes `jm-wallet-tool`. The rest of this section
|
||||||
|
details nix-bitcoin specific workflows for JoinMarket.
|
||||||
|
|
||||||
|
## Initialize JoinMarket Wallet
|
||||||
|
|
||||||
|
By default, nix-bitcoin's JoinMarket module automatically generates a wallet for
|
||||||
|
you. If however, you want to manually initialize your wallet, follow these steps.
|
||||||
|
|
||||||
|
1. Enable JoinMarket in your node configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
services.joinmarket.enable = true;
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Move the automatically generated `wallet.jmdat`
|
||||||
|
|
||||||
|
```console
|
||||||
|
rm /var/lib/joinmarket/wallet.jmdat /var/lib/joinmarket/bak.jmdat
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Generate wallet on your node
|
||||||
|
|
||||||
|
```console
|
||||||
|
jm-wallet-tool generate
|
||||||
|
```
|
||||||
|
Follow the on-screen instructions and write down your seed.
|
||||||
|
|
||||||
|
In order to use nix-bitcoin's `joinmarket.yieldgenerator`, use the password
|
||||||
|
from `/secrets/jm-wallet-password` and use the suggested default wallet name
|
||||||
|
`wallet.jmdat`. If you want to use your own `jm-wallet-password`, simply
|
||||||
|
replace the password string in your local secrets directory.
|
||||||
|
|
||||||
|
## Run the tumbler
|
||||||
|
|
||||||
|
The tumbler needs to be able to run in the background for a long time, use screen
|
||||||
|
to run it accross ssh sessions. You can also use tmux in the same fashion.
|
||||||
|
|
||||||
|
1. Add screen to your `environment.systemPackages`, for example
|
||||||
|
|
||||||
|
```
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vim
|
||||||
|
screen
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Start the screen session
|
||||||
|
|
||||||
|
```console
|
||||||
|
screen -S "tumbler"
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Start the tumbler
|
||||||
|
|
||||||
|
Example: Tumbling into your wallet after buying from an exchange to improve privacy:
|
||||||
|
|
||||||
|
```console
|
||||||
|
jm-tumbler wallet.jmdat <addr1> <addr2> <addr3>
|
||||||
|
```
|
||||||
|
|
||||||
|
After tumbling your bitcoin end up in these three addresses. You can now
|
||||||
|
spend them without the exchange collecting data on your purchases.
|
||||||
|
|
||||||
|
Get more information [here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/tumblerguide.md)
|
||||||
|
|
||||||
|
3. Detach the screen session to leave the tumbler running in the background
|
||||||
|
|
||||||
|
```
|
||||||
|
Ctrl-a d or Ctrl-a Ctrl-d
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Re-attach to the screen session
|
||||||
|
|
||||||
|
```console
|
||||||
|
screen -r tumbler
|
||||||
|
```
|
||||||
|
|
||||||
|
5. End screen session
|
||||||
|
|
||||||
|
Type exit when tumbler is done
|
||||||
|
|
||||||
|
```console
|
||||||
|
exit
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run a "maker" or "yield generator"
|
||||||
|
|
||||||
|
The maker/yield generator in nix-bitcoin is implemented using a systemd service.
|
||||||
|
|
||||||
|
See [here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/YIELDGENERATOR.md) for more yield generator information.
|
||||||
|
|
||||||
|
1. Enable yield generator bot in your node configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
services.joinmarket.yieldgenerator.enable = true;
|
||||||
|
|
||||||
|
# Optional: Add custom parameters
|
||||||
|
services.joinmarket.yieldgenerator.customParameters = ''
|
||||||
|
txfee = 200
|
||||||
|
cjfee_a = 300
|
||||||
|
'';
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Check service status
|
||||||
|
|
||||||
|
```console
|
||||||
|
systemctl status joinmarket-yieldgenerator
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Profit
|
||||||
|
|
Loading…
Reference in New Issue
Block a user