Skip to content
FULMO Blog
  • FULMO
  • Community
  • Shop
Bitcoin Lightning Nodes

RaspiBlitz Unboxing

  • May 22, 2020May 22, 2020
  • by Philipp Giese

Becoming a first class citizen of Bitcoin – My experience with the Raspiblitz

“Be your own bank” – a saying strongly associated with Bitcoin, similarly close, perhaps even more than the Cypherpunk saying “Don’t trust, verify!”. And that is true: Bitcoin promises a monetary system which is not built upon different layers of trust. So you don’t need to trust VISA, your bank, an exchange, the FED or the ECB.

That‘s the ideal, but how does reality usually look like? Even when people are not storing their bitcoins on Coinbase or Binance, a lot of enthusiasts think that the journey to trustlessness ends with a hardware wallet. As reliable as hardware wallets oftentimes tend to be, it is a new layer of trust – and unfortunatelly, hardware wallets are unreliable sometimes.

So, is a paper wallet the solution? Well, a paper wallet is much simpler than a hardware wallet and hence not as error-prone (but much more cumbersome to use, but that’s another story).

With a seed phrase on a sheet of paper… are we trustless now? Of course not, we still have to trust other parties to host the Blockchain!

I hosted a Bitcoin client a long time ago, however, I took it down and never started a new one. A dirty little secret, right? From someone who is quite active in the Bitcoin community it should be expected that he is a first class citizen of Bitcoin. As a data nerd, getting in possession of the whole Blockchain was always quite a temptation for me. Needless to say, setting up and hosting a full node was one evergreen on my bucket list.

What prevented me from “being my own bank”? Beside a huge workload on my day job, I think the main reason was an overestimation of the required hardware and bandwidth requirements. With currently over 300 GB and a growth rate of 100-200 MB per day the greedy hoarder inside me got active. “What if you exceed your bandwidth?”, “Won’t that affect your Netflix-binging?” and other stupid excuses came up.

Finally, during the preparation for the Lightning Hacksprint, the Bitcoin idealist in me won against my inner sloth and thus I was happy that Fulmo helped me getting hands on one Raspiblitz, the Raspberry-Pi-based Lightning Node. As the nerd that I am, I had some prior experience with other Raspberry Pi and Arduino-based projects. So I wanted to assemble the Lightning Node by myself and decided for the Raspiblitz – Heatsink Case.

In this article I would like to describe my first steps towards being a full member of the brotherhood of Bitcoin. The aim is not to provide a guide. The reason is simple: Another guide is not really needed! Setting up the Raspiblitz, transferring funds to it and opening the first channels on the Lightning Network is not complicated at all. At every step it is clear what the software of the Raspiblitz wants you to do, the Github page of Raspiblitz is full of information and the community is eager to help. The aim of this article is rather to illustrate how easy it is to get a Lightning Node up and running.

Getting the Raspiblitz to run

Having said that, a complete technical layman might at first feel a little bit overwhelmed by the collection of electronic items:

RaspiBlitz Parts

But don‘t be afraid: assembling the hardware is as complicated as building something out of Lego – or even more simple. The aforementioned Github Page of the Raspiblitz project is quite helpful, so it ony took a couple minutes until I ended up with an assembled Raspiblitz:

RaspiBlitz Assembled

Yes, there are still some steps to go to a fully functioning node! Up until now we only have assembled some parts. No software, no Blockchain and no funds. So – you guessed it – no fun! So let‘s describe the next steps towards a fully functioning node. As you will see: no need to be afraid of being a first class citizen.

The first step you have to do is installing the operating system for the Raspiblitz. The current version is 1.5 and can once again be found on the mentioned Github page. As you can see: a lot can be found there, so simply put the link into your bookmarks. The easiest way to get this operating system up and running is to write the socalled iso-file on a SD card. That can be done with programs such as Balena Etcher. After writing the iso-file on the SD-card, simply plug this card into the Raspiblitz, connect the latter to a power source – and it‘s alive!

The system boots up and an address is shown over which you can access your Raspiblitz. The address will have the form 192.178.168.228. To access your Raspiblitz from another computer being a friend of the terminal is advantageous. So, open bash or another shell of your choice and enter:

ssh admin@192.168.178.228

You will be prompted for a starting password (which you’ll have to change later on). After some additional steps, the Lightning node is up and running.

Okay, “running” is perhaps not completely correct: The Blockchain is not yet downloaded. Being a bit patient pays off: Synchronizing the whole Blockchain from scratch takes a while!

After some time (usually around 48 hours) you can pride yourself: You now belong to the people with a complete copy of the Blockchain. You are part of the foundation of Bitcoin. Welcome to the elite, pal!

The final step to Lightning: opening and funding channels

Yes, with a node set up, up to this point you won‘t be able to transfer any bitcoins – be it via the Lightning Network or on the base layer. Some funds will still have to be transferred to your full node. Doing that is the same as sending some bitcoin, so everybody who played aaround with a mobile wallet, with a Trezor or an Electrum wallet will know how to do that. Also opening Lightning channels is not that complicated; the menu describes quite well what you have to do.

To open a channel to a peer, you have to connect to him. I set up my first Lightning channel to Fulmo‘s Lightning node, so I‘m all set for the next Lightning Hackday or the day when I can buy nifty Lightning basecaps or T-shirts at the Fulmo shop. All the information needed to connect to a possible peer can be found at 1ML:

Bitcoin Lightning Node

After the connection is established it‘s easy to fund a channel with this peer. Simply state the amount in satoshis. Then you will have to wait for three confirmations and the first channel is opened.

The next steps as a first class citizen

Your Lightning node adventure does not stop here. Sure, you can now send and receive money via the base layer and via Lightning network, but you can do so much more. You can connect several mobile wallets with ease, you can use Joinmarket as a Coinjoin service … there are a lot of possible next steps. For people not loving the terminal as much as I do, there is also a web user interface called „Ride the Lightning“ available:

RaspiBlitz RTL

Speaking of web user interfaces: You don’t need to trust external Blockchain explorers anymore! With the Bitcoin Blockchain at your home, you have everything you need to set up your own Blockchain explorer:

Similar to the lessons regarding the Lightning Hacksprint, I can highly encourage everyone to set up a Raspiblitz. It‘s very easy and straight-forward, the bandwidth at your home won’t break down and you will do an essential job for the decentralization of Bitcoin. “Don’t trust, verify” won‘t be a simple saying anymore, you will live it now. So, get your hands on a Raspiblitz, set up this Lightning node and become a first class citizen of Bitcoin! I’ll be waiting on the other side.

Lightning Network

How to survive your first Hackathon

  • May 15, 2020May 16, 2020
  • by Philipp Giese

My lessons learned at the Lightning Hacksprint

So you want to get your hands dirty and interact with the developer-community around Bitcoin. Great! You seem to understand that “be your own bank” means more than “number go up”. BYOB implies that everyone is proactively involved getting Bitcoin and Lightning running. We are building up the new kind of money. And to do that, in a trust-minimized way, needs everybody.

But where to start? Hackathons can be a good opportunity to take the tech-pill. Or, even more convenient from the comfort of your own home: Dive deep into the coding community of Bitcoin by participating at the Lightning Hacksprint. A wrap-up of this Event is available on Youtube.

The last event, which took place between May 9th and May 10th, was a blast. I can highly recommend everyone interested in Bitcoin and the Lightning Network to be there when the next Hacksprint, organized by Fulmo, takes place. It does not matter if you are a professional developer.

That being said some technical experience can help and prevent you from some humbling experience. Because, to be honest: my biggest lesson learned was that I am not as smart as I thought I would be. Armed with some data science experience (mainly in R, some experience in Python) I knew that it would not be a cakewalk for me but never thought that I was stuck quite early at the beginning. At a first glance the sad news was that I could not participate in the way I planned to do.

The Lightning Hacksprint was Nevertheless a great experience. I could follow development work around, experiment with the code on my machine and in that sense really live the “Don’t trust, verify” in its fullest extend.

Moreover, I learned quite a lot for future Hacksprints. So lets dive right in and look at my personal lessons learned!

Create a distraction-free environment

On the weekend of the Lightning Hacksprint, I was not alone at home. While I could hide myself in my bedroom (which I did for most of Saturday) it was obviously not ideal. Moreover, I had to do some phone calls, and had an appointment on Sunday evening.

At regular Hackathons you are taken from your normal surroundings which can help a great deal, but thanks to Corona we have to find a way to get rid of the distractions at home. So for the next Hacksprint I plan to really seal myself off from the rest of the world.

Get your communication tools ready

The second lesson should be well-known in times of corona: Get all communication tools running! The communication during the Lightning Hacksprint was primarily done over two platforms: Mattermost was, as an open-source-alternative to Slack or Microsoft Teams, the messaging platform of choice, while Jitsi was used for video conferencing. Different projects used additional software to keep in touch but all in all one big lesson was: Check whether the tools at hand work well.

How is the internet connection? Is Jitsi working? And how about your microphone? I personally had to use both my Laptops, one for hacking, one for listening to Jitsi. Moreover, I had to check several Headsets until I found one which worked well. While that was in that case not impeding the work of others obviously work could have been much more fluent with a little bit of preparation.

Install the mandatory programs

My biggest mistake was that my software environment was not completely prepared. While it cannot be stressed enough that everybody should run a Full node (and setting up one is, thanks to the Raspiblitz, pretty easy), some development projects don’t need a running full node. However, the Bitcoin client bitcoind as well as a Lightning client (lightningd when working on a project around c-lightning) should be installed.

Oh, and I should stress installed correctly. My initial approach regarding bitcoind was to download a precompiled version “to save some time”. That ended up in some weird aliasing and extending of $PATH but a decent interaction between lightningd and bitcoind could not be achieved. The solution that worked for me was then to install bitcoind from source.

Even before that, dependent on your respective system and at the task in hand, you will need some programs. Some programs which you definitely won’t regret having installed are:)

  • C and C++
  • git
  • Python (>version 3.0)
  • Pip
  • Some editor or IDE. Most operating systems are shipped with several editor options.

That list, obviously, can be extended dependent on the challenge you plan to work on. If the project involves Rust, it is obviously recommended to install it. If you work with Python, installing the Lightningd-Library pyln would be a good idea.

So one important lesson learned was: get the needed tools together. Already before the Hackathon, get to know these tools. If not you risk losing falling behind the other people working on a project – or, even worse, you slow everyone down.

To install these programs, even when done from source, you don’t need to be an expert programmer. Most of the programs have decent installation scripts which can be invoked with several commands. What is needed, though, is a little bit of tinkering on the command line. With that we come to the next point.

Become a Terminal-maximalist

If you are a Linux-user (or if you know that Mac-OS is, in fact a BSD derivative) you will already know it: the Terminal is your friend! When developing, the Terminal is not only convenient but one of the most important tools you’ll use. The installation of the tools mentioned above will take place on the command line. A lot of editors such as Nano or vi(m) are per default run from the command line, others such as Emacs have the option to do that.

Note also that I said Terminal- and not PowerShell-maximalist. While Windows 10 had made giant steps forward with their Windows Subsystem for Linux, the integration within the Linux file structure for the tools mentioned above is best in a *nix-like system. The community is also larger so that, if you are stuck, more people could help you. Finally, its also a great way to prepare yourself for a Raspiblitz. Yes, when the Lightning Node of Fulmo is up and running a lot of things can be done in the different menus. However, for debugging the Raspiblitz knowledge about the Terminal can be a huge help.

Grab your coffee and hack!

The fifth and most important lesson: do it! Bitcoin-developers are no reclusive, elitist cabal. They are very welcoming to newcomers and quite happy when people want to participate in a Hackaton. Of course, as always the Golden Rule “don’t be a nuisance” applies. Like in other communities a little bit research prior to asking the community can help. During a Hackathon or Hacksprint everybody is quite busy so asking really basic questions can be a distraction. So flex your Google Duckduckgo-Skills and try to find answers before asking every question.

That being said: Irrelevant of your experience I can invite everyone to observe the more technical side of Bitcoin. Even if you think you cannot work on one of the proposed challenges just watch these evolving from the sidelines. You can also work on your Raspiblitz, for example update it to a new version or getting in touch with some new features. So if you have one at home and wanted to ask the developers anything: These Lightning Hacksprints are a great opportunity.

See you guys at the next Hacksprint!

Recent Posts

  • Bitcoin LightningATM – Pocket Edition construction guide
  • Regulatory attention on Bitcoin & privacy techniques to counter
  • WHY BITCOIN CAN ONLY BE AS FREE OPEN SOURCE SOFTWARE
  • The LightningATM – Pocket Edition
  • RaspiBlitz Unboxing

Recent Comments

    Archives

    • August 2022
    • May 2021
    • March 2021
    • September 2020
    • May 2020

    Categories

    • Bitcoin
    • Bitcoin Lightning Nodes
    • Lightning Network

    Impressum

    FULMO

    FULMO Shop

    RaspiBlitz.com

    TheLightningConference

    @rootzoll

    @RaspiBlitz

    @LightRider

    @FulmoLightning

     

    Fulmo Logo

    We’re an open source company dedicated to research, development and consultancy for the Bitcoin Lightning Network.