explaingit

spesmilo/electrum

8,474PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

Electrum is a lightweight Bitcoin wallet for sending, receiving, and storing Bitcoin without downloading the full blockchain, with support for Lightning Network and hardware wallets.

Mindmap

mindmap
  root((repo))
    What it does
      Send and receive Bitcoin
      No full blockchain
      Lightning Network
    Features
      Hardware wallet support
      Desktop and Android
      Crowdin translations
    Tech Stack
      Python
      Qt
      libsecp256k1
    Audience
      Bitcoin developers
      Open source contributors
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run Electrum from source on Linux to send and receive Bitcoin without downloading the full blockchain

USE CASE 2

Build a custom Bitcoin application on top of Electrum's Python codebase

USE CASE 3

Contribute translations, bug fixes, or pull request reviews to a widely-used open-source Bitcoin wallet

Tech stack

PythonQtlibsecp256k1

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires libsecp256k1 (a C library) and Qt packages in addition to Python 3.10+.

In plain English

Electrum is a Bitcoin wallet, which means it is a program you use to send, receive, and store Bitcoin. It is described as a lightweight client because it does not need to download the entire Bitcoin blockchain to work. Instead, it connects to external servers to fetch the information it needs, which makes it faster to set up than a full Bitcoin node. The project has been around for a long time and is one of the better-known open-source Bitcoin wallets, available for desktop and Android. The wallet is written in Python and requires Python 3.10 or higher. For most users who just want to run it, the homepage at electrum.org has ready-made downloads for Windows, macOS, Linux, and Android. The GitHub repository is primarily for people who want to run it directly from source code, build their own binaries, or contribute to its development. Running from source requires a few system libraries beyond Python itself. The most notable is libsecp256k1, a C library used for the elliptic curve math that underlies Bitcoin's cryptography. There is also a Qt-based graphical interface that requires additional Qt packages, and hardware wallet support can be added separately. The README provides the specific install commands for each of these on Linux, with links to separate guides for Windows and macOS. Electrum also supports the Lightning Network, which is a payment layer built on top of Bitcoin that allows faster and cheaper transactions. This is mentioned in the project topics but not elaborated on in the README itself. The project welcomes contributions, including bug reports, testing, pull request reviews, and translations via Crowdin. Larger code changes are encouraged to be discussed on the issue tracker or in the project's IRC channel before work begins, to avoid duplicated or wasted effort.

Copy-paste prompts

Prompt 1
Help me install Electrum from source on Ubuntu, including libsecp256k1 and the Qt dependencies
Prompt 2
Show me how to use Electrum's Python API to generate a new wallet and check a Bitcoin balance programmatically
Prompt 3
How do I set up Electrum with Lightning Network support and make a payment through a Lightning channel?
Open on GitHub → Explain another repo

← spesmilo on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.