description |
---|
Build your own "DIY" Bitcoin & Lightning node, and other stuff on a Raspberry Pi. No need to trust anyone else. |
{% hint style="danger" %} Attention!! This guide is in the WIP (work in progress) state and hasn't been tested yet. Many steps may be incorrect. Pay special attention to the "Status: Not tested on RaMiX" tag at the beginning of the guides. Be careful and act behind your responsibility. {% endhint %}
Build your own "do-everything-yourself" Bitcoin & Lightning node, and other stuff on a Raspberry Pi, 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 Raspberry Pi, 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 Raspberry Pi. 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 guides | 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 |
🛠️ GitHub 🛠️ | ||
👥 RRSS 👥 |
|
{% hint style="info" %} Feel free to join the many other contributors if you see something that can be improved! {% endhint %}
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 %}
- Status: indicates if the guide has been tested on a RaMiX environment or not
{% hint style="danger" %} Status: Not tested on RaMiX {% endhint %}