Files
purple-electrumwallet/contrib/build-linux/sdist
SomberNight 42ad18b216 rm bip70 support
- 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/
2026-03-20 18:12:55 +00:00
..
2026-03-20 18:12:55 +00:00
2026-03-20 18:12:55 +00:00

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.

    (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).