Skip to content

A step-by-step guide to building a Bitcoin & Lightning node, and other stuff on a personal computer

License

Notifications You must be signed in to change notification settings

minibolt-guide/minibolt

Repository files navigation

description layout
Build your own "DIY" Bitcoin & Lightning node, and other stuff on a personal computer. No need to trust anyone else.
width title description tableOfContents outline pagination metadata
default
visible
true
visible
true
visible
true
visible
true
visible
true
visible
true

MiniBolt

Forks Stargazers MIT License Contributors Issues GitHub release (latest by date) GitHub followers GitBook

What is the MiniBolt?

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 your 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.

MiniBolt overview

This guide explains setting up your Bitcoin node on a personal computer. However, it works on most hardware platforms because it only uses standard Debian-based Linux commands.

Features

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.

Target audience

  • 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.

Structure

We aim to keep the core of this guide well-maintained and up-to-date:

🖥️ SystemPrepare the hardware and set up the operating systemoperating-system.mdremote-access.mdsystemoperating-system.gif
🟠 ₿itcoinSync your own Bitcoin full node, Electrum server, Blockchain Explorer, and connect a desktop wallet to the Electrum serverelectrum-server.mdblockchain-explorer.mdbitcoincore_logo.png
LightningRun your Lightning client with web-based node management, connect a mobile app, and save safely your SCB backupchannel-backup.mdweb-app.mdlightninglightning-network-daemon-logo.png
Bonus guideThe 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.systembitcoinnostrsecuritynetworkingbroken-referencebonus-logo.png

How to build

{% embed url="https://youtube.com/playlist?list=PL7-Q40ihLbmP9vXZGdQgEozQnFISzT8ms" %}

Community

👥 RRSS 👥

🌲 Linktr (FOSS)

🦩 Nostr account

🏅 MiniBolter Badge

Amboss community

🛠️ GitHub 🛠️

{% hint style="info" %} Feel free to join the many other contributors if you see something that can be improved! {% endhint %}

Resources

🌐 Network mapnetworkmap_icon.pnghttps://bit.ly/minibolt-ramix_netmap
🛣️ Roadmaproadmap_icon.pnghttps://github.com/orgs/minibolt-guide/projects/1
📋Guides listlist.pnghttps://habla.news/u/twofaktor@twofaktor.github.io/1734856867447
📅 Launchpad (Calendar)calendar.png
📺 Streamsstreams.png

Free services

{% tabs %} {% tab title="Nostr relay" %} {% hint style="info" %} Use a Nostr client to connect {% endhint %}

  • Nostr relay in Rust (🚾clearnet):
wss://relay.minibolt.info
  • Nostr relay in Rust (🧅onion):
ws://xib7qeea6f5nz3ueko4kwcsddpvggdray4nhagcvofbioot3n2qrapid.onion

{% 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" %}

http://rzcj4r2p6wterkto5prigsplq6iva5bqhcxr7y3d6w4hoc3uwizpp5qd.onion

{% endtab %}

{% tab title="Keyserver" %}

  • Hockeypuck OpenPGP Public Keyserver (🚾clearnet):

👉 CLICK to access: https://keyserver.minibolt.info 👈

  • Hockeypuck OpenPGP Public Keyserver (🧅onion - use Tor browser):
http://fr2bbk7gitvpielymw7jmbkmm7glrzs2avxyxsh3rqbszkwavmqkklid.onion

{% endtab %} {% endtabs %}

Rating

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 reference

PortProtocolUse
🖥️ SYSTEM
22TCPDefault SSH server
9050TCPDefault Tor SOCKS
9051TCPDefault Tor control
7656TCPDefault I2P SAM proxy
7070TCPDefault I2Pd web console HTTP
7071SSLI2Pd web console HTTPS
🟠 ₿ITCOIN
8332TCPDefault Bitcoin Core RPC
8333TCPDefault Bitcoin Core P2P
8334TCPDefault Bitcoin Core P2P Tor
50001TCPFulcrum TCP
50002SSLFulcrum SSL
8000TCPFulcrum Admin
3002TCPDefault BTC RPC Explorer HTTP
4000SSLBTC RPC Explorer HTTPS
⚡ LIGHTNING
9735TCPDefault LND P2P
10009TCPDefault LND gRPC
9911TCPDefault LND Watchtower server
3000TCPDefault ThunderHub HTTP
4002SSLThunderHub HTTPS
8080TCPLND REST
➕ BONUS GUIDES
5432TCPDefault PostgreSQL relational DB
51820UDPDefault WireGuard VPN
RandomTCPRandom Cloudflared
<TODO1>TCPobfs4 bridge OR port
<TODO2>TCPobfs4 port
9001TCPOR port Guard/Middle relay
9052TCPTor obfs4 bridge control port
9053TCPTor Guard/Middle relay control port
50021TCPElectrs TCP
50022SSLElectrs SSL
48333TCPDefault Bitcoin Core P2P Testnet4
48334TCPDefault Bitcoin Core P2P Testnet4 Tor secondary
48332TCPDefault Bitcoin Core RPC Testnet4
40001TCPFulcrum Testnet4 TCP
40002SSLFulcrum Testnet4 SSL
40021TCPElectrs Testnet4 TCP
40022SSLElectrs Testnet4 SSL
24444TCPDefault NBXplorer
23000TCPDefault BTCPay Server
8880TCPDefault Nostr relay
8090TCPDefault Alby Hub HTTP
3003SSLAlby Hub HTTPS
4040TCPPublic Pool HTTPS
23333TCPDefault Public Pool API
23334TCPDefault Stratum