joinmarket/docs
Adam Gibson 23d0b8f39c
BIP78 receiver over a Tor hidden service.
This commit implements a command line script and a GUI
dialog to receive a payment using the BIP78 protocol,
by setting up an ephemeral hidden service.

It also deprecates the pre-existing inter-Joinmarket
protocol for payjoin payments, since we now have
both sending and receiving support for BIP78. Thus,
much code in Maker, Taker and client-daemon protocol
is removed, as is some documentation in docs/PAYJOIN.md.
Also the script `sendpayment.py` is altered to support
only the BIP78 variant.

The test in jmclient/test/test_payjoin now implements
BIP78 over a TCP connection, while the custom tests in
test/payjoinserver.py can support hidden service based
tests, but the latter is not included in the test suite
and may not always work (it is only for manual
investigations).

The following features of BIP78 are supported:
minfeerate
additionalfeeoutputindex - but *only* for single
change output transactions
maxadditionalfeecontribution

The receiver does not have nor request payment
output substitution.

Utxo selection is no longer sophisticated, instead
we only choose a single utxo to keep the size
increase of the transaction minimal. Thus UIH is
not addressed at the moment.

Errors returned are in line with BIP78.

Sequence numbers are checked by receiver, and
kept identical if uniform, otherwise respected.
Receiver uses transaction monitor to shut down
when the payment is seen.

The workflow is almost entirely implemented in
jmclient/payjoin.py and the command line script
is in scripts/receive-payjoin.py. The setup, including
configuration changes for Tor, are documented in
docs/PAYJOIN.md, including a user guide video linked.
2020-09-23 15:04:59 +01:00
..
images Update JOINMARKET-QT-GUIDE.md 2020-02-09 21:15:53 +00:00
release-notes release notes and version update for 0.7.0 2020-08-20 17:25:05 +01:00
architecture-notes.md Add explaining text to readme from old repository 2020-01-15 12:26:57 +00:00
config-irc-update.md improve irc server setting handling 2018-10-27 14:40:56 +02:00
fidelity-bonds.md Add usage guide for fidelity bond wallets 2020-06-02 21:33:24 +01:00
INSTALL.md Merge #631: Update macos installation instructions 2020-07-18 22:01:54 +03:00
JOINMARKET-QT-GUIDE.md release notes and version update for 0.7.0 2020-08-20 17:25:05 +01:00
PAYJOIN.md BIP78 receiver over a Tor hidden service. 2020-09-23 15:04:59 +01:00
SEGWIT-UPGRADE.md Update docs to include non-segwit option and updates on segwit info 2018-05-15 12:24:09 +02:00
signed-donation-address.txt Add signed donation addresses to README 2018-12-21 17:29:05 +00:00
SOURCING-COMMITMENTS.md Docs: add commitments explainer 2020-08-06 21:00:20 -04:00
TESTING.md update testing docs 2020-08-09 16:17:07 +01:00
TODO.md updates to TODO.md 2019-12-23 11:28:30 +00:00
tumblerguide.md address review/nits of @PulpCattel 2020-07-24 13:17:31 +01:00
USAGE.md Docs: add commitments explainer 2020-08-06 21:00:20 -04:00
wallet-upgrade.md move wallet upgrade docs and improve wallet opening error handling 2018-08-19 15:04:28 +02:00
YIELDGENERATOR.md add link to custom-scripts ygs in docs 2019-11-19 14:49:08 +00:00