description |
---|
Build your own "DIY" Bitcoin & Lightning node, and other stuff on a personal computer. No need to trust anyone else. |
Build your own "do-everything-yourself" Bitcoin & Lightning node, and other stuff on a personal computer, making you sovereign.
No need to trust anyone else. Don't trust, verify!
With this guide, you can set up a Bitcoin, Lightning node, and other stuff on a personal computer, doing everything yourself. You will learn about Linux, Bitcoin, Lightning, and much more.
There are many reasons why you should run your own Bitcoin node:
👥 Keep Bitcoin decentralized: use your node to help enforce your Bitcoin consensus rules.
🗽 Take back your sovereignty: let your node validate your Bitcoin transactions. No need to ask someone else to tell you what's happening in the Bitcoin network.
🥷🏽 Improve your privacy: connect your wallets to your node so you no longer need to reveal their financial history to external servers.
⚡️ Be part of Lightning: run your Lightning node for everyday payments and help build a robust and decentralized Lightning network.
This guide explains setting up your own Bitcoin node on a personal computer. However, it works on most hardware platforms because it only uses standard Debian-based Linux commands.
Your Bitcoin node will offer the following functionality:
🟠 Bitcoin: direct and trustless participation in the Bitcoin peer-to-peer network, full validation of blocks and transactions.
⚛️ Electrum server: connect your compatible wallets (including hardware wallets) to your node.
⛓️ Blockchain Explorer: web-based Explorer to privately look up transactions, blocks, and more.
⚡ Lightning: full client with stable long-term channels and web-based and mobile-based management interfaces.
🔋 Always on: services are constantly synced and available 24/7.
🌐 Reachable from anywhere: connect to all your services through the Tor network and Wireguard VPN.
- We strive to give foolproof instructions. But the goal is also to do everything ourselves.
- Shortcuts that involve trusting someone else are not allowed. This makes this guide quite technical, but we try to make it as straightforward as possible.
- You'll gain a basic understanding of the how and why.
- If you want to learn about Linux, Bitcoin, and Lightning, this guide is for you.
We aim to keep the core of this guide well-maintained and up-to-date:
| Prepare the hardware and set up the operating system | operating-system.md | remote-access.md | system | operating-system.gif | ||
| Sync your own Bitcoin full node, Electrum server, Blockchain Explorer, and connect a desktop wallet to the Electrum server | electrum-server.md | blockchain-explorer.md | bitcoin | core_logo.png | ||
Run your Lightning client with web-based node management, connect a mobile app, and save safely your SCB backup | channel-backup.md | web-app.md | lightning | lightning-network-daemon-logo.png | |||
➕ Bonus guide | The bonus section contains more specific guides that build on top of the main section. More fun, lots of knowledge, but with lesser maintenance guarantees. Everything is optional. | system | bitcoin | nostr | Broken link | bonus-logo.png |
- YouTube list building MiniBolt in live with Albercoin of Laboratorio Virtual Bitcoin (Spanish).
{% embed url="https://youtube.com/playlist?list=PL7-Q40ihLbmP9vXZGdQgEozQnFISzT8ms" %}
👥 RRSS 👥 |
| |
🛠️ GitHub 🛠️ |
{% hint style="info" %} Feel free to join the many other contributors if you see something that can be improved! {% endhint %}
{% tabs %} {% tab title="Nostr relay" %} {% hint style="info" %} Use a Nostr client to connect {% endhint %}
wss://relay.minibolt.info
{% endtab %}
{% tab title="Electrum server" %} {% hint style="info" %} Use a signing app (Sparrow Wallet or Electrum Wallet desktop) to connect {% endhint %}
Fulcrum - mainnet (🧅onion):
tcp://vr4bgiwqlhuweftttc6bj7lm5ijjyafwsr43nmeiu3k4mcgtl4tpozyd.onion:50001
Fulcrum - testnet4 (🧅onion):
tcp://bnfpvanrc2g7r5o5kaabbbyjv6ddh46jmasfatrvbbsvjb7cdik5n7ad.onion:40001
ssl://bnfpvanrc2g7r5o5kaabbbyjv6ddh46jmasfatrvbbsvjb7cdik5n7ad.onion:40002
{% endtab %}
{% tab title="Explorer" %} BTC RPC Explorer - mainnet (🚾clearnet):
-> CLICK to access -> https://explorer.minibolt.info <-
BTC RPC Explorer - mainnet (🧅onion - Use Tor browser):
http://rzcj4r2p6wterkto5prigsplq6iva5bqhcxr7y3d6w4hoc3uwizpp5qd.onion
{% endtab %}
{% tab title="Lightning Watchtower (only LND)" %}
{% hint style="info" %}
Use lncli
to connect to it:
{% code overflow="wrap" %}
lncli wtclient add 02ad47b4e41cfce258e2db8d7eb9a194570ca29beba2897970d1ecc7d1c9a2726b@zm32w2qs2lf6xljnvqnmv6o2xlufsf4g6vfjihyydg4yhxph4fnqcvyd.onion:9911
{% endcode %} {% endhint %}
Lightning Watchtower server - mainnet (🧅onion):
{% code overflow="wrap" %}
02ad47b4e41cfce258e2db8d7eb9a194570ca29beba2897970d1ecc7d1c9a2726b@zm32w2qs2lf6xljnvqnmv6o2xlufsf4g6vfjihyydg4yhxph4fnqcvyd.onion:9911
{% endcode %} {% endtab %} {% endtabs %}
All guides are rated with labels to help you assess their difficulty and whether they are tested against the most recent version of the main guide.
- Difficulty: indicates how difficult the bonus guide is in terms of installation procedure or usage
{% hint style="success" %} Difficulty: Easy {% endhint %}
{% hint style="warning" %} Difficulty: Medium {% endhint %}
{% hint style="danger" %} Difficulty: Hard {% endhint %}
- Cost: indicates if the service used in the guide is free or paid
{% hint style="warning" %} Cost: Paid service {% endhint %}
Port | Protocol | Use |
---|---|---|
🖥️ SYSTEM | ||
22 | TCP | Default SSH server port |
9050 | TCP | Default Tor SOCKS port |
9051 | TCP | Default Tor control port |
7656 | TCP | Default I2P SAM proxy port |
🟠 ₿ITCOIN | ||
8332 | TCP | Default Bitcoin Core Tor RPC port |
8333 | TCP | Default Bitcoin Core P2P port |
8334 | TCP | Default Bitcoin Core Tor port |
50001 | TCP | Fulcrum TCP port |
50002 | SSL | Fulcrum SSL port |
8000 | TCP | Fulcrum Admin port |
3002 | TCP | Default BTC RPC Explorer HTTP port |
4000 | SSL | BTC RPC Explorer HTTPS port (encrypted) |
⚡ LIGHTNING | ||
9735 | TCP | Default LND P2P port |
10009 | TCP | Default LND gRPC port |
9911 | TCP | Default LND Watchtower server port |
3000 | TCP | Default ThunderHub HTTP port |
4002 | SSL | ThunderHub HTTPS port (encrypted) |
8080 | TCP | LND REST port |
➕ BONUS GUIDES | ||
5432 | TCP | Default PostgreSQL relational DB port |
51820 | UDP | Default WireGuard VPN port |
Random | TCP | Random Cloudflared port |
<TODO1> | TCP | obfs4 bridge OR port |
<TODO2> | TCP | obfs4 port |
9001 | TCP | OR port Guard/Middle relay |
9052 | TCP | Tor obfs4 bridge control port |
9053 | TCP | Tor Guard/Middle relay control port |
50021 | TCP | Electrs TCP port |
50022 | SSL | Electrs SSL port |
48333 | TCP | Default Bitcoin Core P2P Testnet4 port |
48334 | TCP | Default Bitcoin Core P2P Testnet4 secondary port |
48332 | TCP | Default Bitcoin Core RPC Testnet4 port |
40001 | TCP | Fulcrum Testnet4 port |
40002 | SSL | Fulcrum Testnet4 SSL port |
40021 | TCP | Electrs Testnet4 port |
40022 | SSL | Electrs server Testnet4 SSL port |
24444 | TCP | Default NBXplorer port |
23000 | TCP | Default BTCPay Server port |
8880 | TCP | Default Nostr relay port |