From Scratch

Alekos Filini - @afilini

Overview

  • Basic Linux commands
  • Download Core and verify the signature
  • Setup a system service
  • Common config options
  • Moving to a virtualized environment

Linux Cheatsheet

$ cd         # change dir
$ ls         # list its content
$ mkdir      # new directory
$ cp         # copy a file
$ mv         # move a file

$ sudo       # run as admin

$ useradd    # create a user
$ chown      # change-owner
$ tar        # handle archives
             # `xf` to extract

$ wget       # download files
$ gpg        # verify signatures
$ sha256sum  # compute the SHA256 of a file

$ vim        # text editor

*ALWAYS* Verify Signatures

  • You should follow this rule for every software
  • But it's particularily important in Bitcoin's case
    • For both nodes *and* wallets
  • A malicious software could steal your keys, provide invalid data, follow the wrong chain, and many other bad things
  • By checking the signature we move the trust anchor to the moment we import a public key
  • Just remember that signatures for old, potentially buggy, releases *will remain valid*
    • Always double check you are downloading the latest version
    • A legit but vulnerable version is as bad as a fake version
  • But.. how do you know you are importing the right key?

Well... here it is:

01EA 5486 DE18 A882 D4C2
6845 90C8 019E 36C2 E964
gpg --keyserver keys.gnupg.net --recv-keys <KEY ID>

Isolation through Virtualization

  • Similar to QubesOS' model
  • Different programs are run in isolated VMs
    • They can talk to each other via a virtual lan
  • Can also help to keep things clean
  • Allows you to "safely" run other software on your node
    • Lightning node
    • Block explorer
    • Electrum server
    • Tor relay node

Bitcoin Core from Scratch

By Alekos Filini

Bitcoin Core from Scratch

  • 495