42ad18b216
- could not find a single project that still actually cares about bip70 [0]
- well except maybe BitPay.
- but I cannot test with BitPay:
- they have a testnet3 staging environment on test.bitpay.com
- but the SSL cert they use for bip70 has expired in 2021
- the webUI probably also has not been updated since then...
- they claim to have added LN support in 2022 in a blog post,
but it's not there on test.bitpay.com
- on mainnet, they require KYC before payment
- < ... angry noises >
- their loss then, I don't care.
- this is code that no one wants to maintain
- this does not yet delete the signed bip70 payment data for historical txs
- but it is no longer possible to export it from the GUI
[0]: https://bitcoinops.org/en/topics/bip70-payment-protocol/
56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# Source tarballs
|
|
|
|
✓ _These tarballs should be reproducible, meaning you should be able to generate
|
|
distributables that match the official releases._
|
|
|
|
This assumes an Ubuntu (x86_64) host, but it should not be too hard to adapt to another
|
|
similar system.
|
|
|
|
We distribute two tarballs, a "normal" one (the default, recommended for users),
|
|
and a strictly source-only one (for Linux distro packagers).
|
|
The normal tarball, in addition to including everything from
|
|
the source-only one, also includes:
|
|
- compiled (`.mo`) locale files (in addition to source `.po` locale files)
|
|
- compiled (`_pb2.py`) protobuf files (in addition to source `.proto` files)
|
|
- the `packages/` folder containing source-only pure-python runtime dependencies
|
|
|
|
|
|
## Build steps
|
|
|
|
1. Install Docker
|
|
|
|
See [`contrib/docker_notes.md`](../../docker_notes.md).
|
|
|
|
(worth reading even if you already have docker)
|
|
|
|
2. Build tarball
|
|
|
|
(set envvar `OMIT_UNCLEAN_FILES=1` to build the "source-only" tarball)
|
|
```
|
|
$ ./build.sh
|
|
```
|
|
If you want reproducibility, try instead e.g.:
|
|
```
|
|
$ ELECBUILD_COMMIT=HEAD ELECBUILD_NOCACHE=1 ./build.sh
|
|
$ ELECBUILD_COMMIT=HEAD ELECBUILD_NOCACHE=1 OMIT_UNCLEAN_FILES=1 ./build.sh
|
|
```
|
|
|
|
3. The generated distributables are in `./dist`.
|
|
|
|
|
|
## Differences between the `sourceonly` vs "normal" tar.gz
|
|
|
|
These scripts can either build a source-only or a "normal" tarball.
|
|
The official release process builds both.
|
|
|
|
The source-only tarball is aimed at Linux distro packagers.
|
|
Users wanting to run from source should typically use the normal tarball.
|
|
|
|
The differences are as follows:
|
|
- the normal tarball bundles all the pure-python dependencies of Electrum.
|
|
These are placed into the `packages/` folder, and they are automatically
|
|
found and used at runtime.
|
|
- the normal tarball includes compiled (.mo) locale files, the source-only tarball does not.
|
|
Both tarballs contain (.po) source locale files. If you are packaging for a Linux distro,
|
|
you probably want to compile the .mo locale files yourself (see `contrib/locale/build_locale.sh`).
|