Overview
The Road to Node version: 4.1.0
Check Telegram if you can't figure something out. Join the Amboss community and share your link in the Telegram.
On this site you will find all the necessities to set up your own Bitcoin and Lightning node. Have fun!
Introduction
In the introduction section you will find information about the purpose and why of this guide. Also covered are the supplies, because making a node is not free.
Raspberry Pi
The Raspberry Pi is a mini computer that can be used for all sorts of fun things. But to use it, you first have to connect it and put an operating system on it. Also, of course, you want to get the best performance out of your Pi, which in this guide you do by doing everything from the SSD. If you're interested in using Bitcoin anonymously, you can do so with Tor. For information about your Pi, you can check the monitoring section. Here you will find standard things like checking the temperature of your Pi, but also custom things like overviews of the software you are running.
The software you will be running often depends on other software. the dependencies section was created for that. Many parts of the guide will refer to dependencies.
If you also want to use your Pi as a Lightning node, you will need to manage the necessary funds on the device. Good security is then crucial. The firewall section combined with the port overview will help you with security.
Bitcoin Core
The beating heart of this guide. First of all, we'll pull in the source code of Bitcoin Core ourselves and install it. To make use of it and follow the rest of the guide, you need certain settings. The settings will determine subsequent apps and Lightning. In this guide, Bitcoin Core is used as an implementation. From research, this appears to be the fastest Bitcoin implementation. In addition, it is the most developed, contains the latest features, has the largest share in the market, and is the most mature implementation of the protocol.
Bitcoin Core extensions
The "extensions" section related to Bitcoin Core, mainly has to do with tools that lean directly on Core. Take for example Specter, an easy-to-use tool to set up a multisig construction. You can also use this guide to set up an Electrum server using tools like Electrs, Electrum Personal Server or Electrum X. Or maybe you want your own blockchain explorer? You can with BTC RPC Explorer and Mempool.space.
Lightning
Bitcoin's second layer, the Lightning network, should solve Bitcoin's scalability problem. If you really want to cowboy digitally, then Lightning is the place to be. To get Lighting working, we need to install the programming language Golang. That has to do with the implementation of the Lightning protocol called Lighting Network Daemon (LND). This is what Lightning Labs is behind and is well maintained.
Lightning extensions
To make easier use of the Lightning network, you can attach all kinds of software to it. With a user interface like Ride The Lightning, you'll be using LND in a terrible and unfriendly way. If you're looking for RTL's user-friendly little brother, you might want to look at Thunderhub. It offers almost the same functionality as RTL, but without getting under your skin.
One of the coolest parts of the guide is Lightning Terminal. A tool developed by Lightning Labs for visually managing other tools (Pool, Loop and Faraday?) on top of LND.
Wallets
The wallets chapter focuses on linking different wallets to your node. Both your bitcoin and lightning node are supported by different wallets. For example, it explains how to use the app Zap to open channels and make Lightning transactions - via Tor or otherwise - with your own node. Fully Noded can also be attached to your own node, but focuses mainly on Bitcoin Core. With Fully Noded, you can manage your node and create and broadcast PSBT, for example.
Contribute
Do you want to contribute to the guide? You can! And we'd love to have you. To make it as streamlined as possible, a flow has been devised:
- Create an issue on the Github page. The word "issue" can be interpreted a bit wider than just "errors" or "problems". A new feature can also be announced with an issue.
- In the Telegram group, indicate which issue you are working on, then a maintainer can put it in your name. This way no one else picks it up by accident.
- Create a fork of the repository and branch off from
master
. - Is your feature or hotfix ready? Then make it known by making a pull request. Link it to the earlier created issue.