Quest 2: Get on board!
The next step is to complete the guide of setting yourself up for the journey. Some tasks might already be a little bit technical but pay close attention to the instructions and you’ll be fine.
Table of contents
- OBJECTIVE: Gear up!
- OBJECTIVE: Install a fresh Ubuntu Jammy 22.04 LTS
- OBJECTIVE: Join the Bitcoin Plebs community(Progress images)
- OBJECTIVE: Download, verify and Install Tor browser(process similar to Mullvad browser)(Progress images)
- OBJECTIVE: Start using Sparrow wallet(Progress images)
- OBJECTIVE: Configure Sparrow to launch in signet mode(Progress images)
Important notes:
You will encounter highlighted terminal code like this:
cd ..
There is a copy button on the right side of the code box. You can use that but MAKE SURE TO INSPECT CODE BEFORE HITTING ENTER IN THE TERMINAL!
đź’ˇMeans you will be briefed with basic theoretical knowledge before you go on your objectives. The gist of it will be clear just from these concise descriptions but I will include links here and there to decent additional sources for you to go and learn even more if you like.
Simply put: Read –> Apply –> Reflect, Share, Discuss –> Repeat
Anyone serious about Bitcoin and IT security recommends a Linux operating system. Laptops and Desktops have stronger computational capabilities so they are better suited for Bitcoin operations than mobile phones.
OBJECTIVE: Gear up!
- Get a decent new or used Laptop/PC that you dedicate to bitcoin. Main parameters:
- At least 4GB RAM
- 1TB SSD. Many laptops don’t have that much SSD capacity by default but it is easy to get an SSD-case with a USB connector
- SanDisk is a decent brand. Get the 2.5” size
- Ugreen is one option for the case. Look for UASP support and make sure the SSD fits in
- USB stick, at least 8GB to install Operating System
- Place the computer somewhere safe in your apartment and use a wired internet connection
- You can compromise by using a machine with less RAM and SSD because most quests are designed for bitcoin testnet, a simulated bitcoin environment. However, once you want to change to mainnet for the real deal, you will need to meet the above requirements
OBJECTIVE: Install a fresh Ubuntu Jammy 22.04 LTS
- đź’ˇ Learn about the Linux terminal
- If you get stuck Ubuntu website has a guide too(with images)
- The commands in the guide are not always exact because program versions and file names can vary. Text in
<angle brackets>
mean you must replace that with your version. Usetab completion
often to avoid having to type much and get the commands right - Download the desktop image on whatever operating system your machine is running right now
- Download and install Balena Etcher, a great software to burn images. Linux instructions:
- Download the Appimage for Linux x64 from the website
- AppImage files are portable programs. They can be run without installation
- Make the file executable
chmod +x balenaEtcher<version>.AppImage
- Run the software from command line in the Downloads directory
./balenaEtcher<version>
- If you haven’t dealt with AppImage files before it will most probably complain about missing libfuse. Just install it in this case
sudo apt install fuse
- Try to run it again
- Burn the image on the USB drive
- Reboot your computer from the USB stick and select the first option:
“Try or install Ubuntu”
- Select
“Minimal installation”
- Select
“Erase disk and install Ubuntu”
. Follow instructions - Name your user and choose a strong, dedicated password
- Leave it on the default
“Require my password to login”
. Continue - Complete the process
- Once it is done, go for these options for your privacy:
- Don’t connect social accounts
- Don’t send any usage info to canonical
- Switch OFF location services
- Install updates when Ubuntu prompts you
- Set up Firefox
- Make it the default browser
- Make DuckDuckGo your search engine, it is more private. In the settings search bar you can easily find this setting
- Quick tip: To launch an application press the
“Super”
button(mostly with windows icon) and start typing the name - Quick tip: Add to favorites (left column) makes things convenient. by Super –> Type name –> Right-click –> Add to favorites
- Don’t bloat this system too much with unnecessary apps because it is a risk. Try to keep it restricted to software you need for bitcoin
OBJECTIVE: Join the Bitcoin Plebs community(Progress images)
- đź’ˇLearn about the nostr protocol that allows you to connect to the bitcoin plebs community
- đź’ˇLearn about the concept of public key cryptography
- Start taking notes on anything new and noteworthy: techniques, commands, configurations, resources etc.
- Open “gedit” and create a text note file “bitcoin plebs notes”
- Don’t use it for private keys or passwords!
- Don’t use Google keep or any other non-encrypted cloud-based note app for delicate information because you create a security and/or privacy risk! Keep very sensitive notes offline, encrypted and create backups from time to time. More tips on this later…
- Install the Alby extension in your browser
- Create a new Alby account.
Lightning address
too. - Backup your password:
- In a Password manager
- You can even write it in a paper notebook
- Pin the Alby extension in the browser
- Navigate to
Discover
in Alby and find theNostr
section. You can do the same if you click on your account in the top-right corner and selectAccount settings
- Generate a new nostr private key. It will automatically also generate your public key
- You must keep this key as safe as possible! Therefore write it down in your Password manager and/or your paper notebook
- Now all your nostr-related data is handled by Alby. Alby can handle all browser-based nostr client permissions wherever it is installed as an extension
- Go to the Coracle (or your favorite) nostr client. It is a stable browser-based client with great features
- Log into Coracle automatically with Alby:
- Click
Login
- Click
Login
again for a simple login process - Confirm in Alby to allow Coracle to read your public key
- You can edit permissions and automatic actions in Alby for Coracle and other clients
- Click
- In Coracle, go to the
Relay
section in the left menu then go toBrowse Relays
and setup to connect at least to these relays:wss://bitcoiner.social
wss://nos.lol
wss://relay.nostr.band
wss://relay.snort.social
wss://relay.damus.io
- Go to the
Search
section in the left menu. Follow my account if you have any questions. Search thenip05 identity
or my account public key(npub)five@btcplebs.com
npub16p8v7varqwjes5hak6q7mz6pygqm4pwc6gve4mrned3xs8tz42gq7kfhdw
- Share your experience about this program on nostr:
- Follow the hashtag
#bitcoinplebsorg
- Create a note in Coracle (or your favorite nostr client)
- Use the hashtag
#bitcoinplebsorg
in your note - Now others who follow this hashtag can see your notes and start a conversation!
- Follow the hashtag
- You can also use the
nostri-chat widget
located in right corner of the web page to post directly to nostr with the right hashtag added automatically! - Send your first nostr note:
“Hello, fellow Bitcoin Plebs! #bitcoinplebsorg”
- You can install Damus(iOS) or Amethyst(Android) on your phone
- Run a nostr client on your phone:
- Alby cannot handle phone apps so you will have to initialize these apps by putting your nostr private key in the smartphone
- DON’T PASTE YOUR PRIVATE KEY IN CLOUD-BASED NOTE APPS AND DON’T SEND IT VIA EMAIL OR ANY OTHER UNENCRYPTED MEANS!
- Type in character by character or send it to your device in an encrypted way, e.g. a Signal
Note to self
message. Signal can be installed on desktops and has a mobile app too
- If it went fine, shortly you can see the same profile info and messages you sent on your desktop.
- Other Nostr clients with microblogging features:
Note: The feature set of different nostr clients can be different depending on what and how they are implemented. Basic messaging should be available on all clients but e.g. Lightning zaps(small amounts of bitcoin sent to another user) are not included on all clients. More info on feature set of nostr clients
Posting: Beware that there is no central authority on nostr to remove content from all relays. Therefore, there is no 100% surefire way to delete content from nostr relays!
Data backups: You are using multiple relays to store your data redundantly but there is no guarantee that this data will be preserved by relays forever. You should connect to at least one trustworthy relay that stores your data. Furthermore you may create data backups every now and then or even run your own relay for automatic backup purpose
Moderation of discussion: Nostr pushes many functionalities to the client side. This also means that there is no real way for anyone to moderate any discussion single-handedly. In consequence, there is no automatic curation of people and topics that you are interested in
You can choose to use your own content-filtering methods though:
- Some of this happens already based on what
relays
you are connected to(they don’t store anything people send)Following/unfollowing
people and #hashtagsBlocking
and/orReporting
people in most clients. Blocking should discard any messages sent to you from that person by the clients and reporting a person signals to your social network that you found someone abusive for some reasonJoining or leaving
publicgroup
chats- There can be
automatic message filters
implemented inclients
. They could be beneficial if they filter spam but this gives also way to discard things you would want to keep. Always check moderation policies of the clients you are using and opt out if you are uncomfortable with the app developer’s choices. Or even better, fork their open-source projects and implement your own! ;)
Tor
The Tor browser is a powerful privacy tool to fend off snoopers trying to monitor our online activities and potentially do us harm. A bitcoin pleb cannot let this happen. Browsing anything bitcoin-related in clear-net comes with some privacy risks.
Tor is great for looking up simple info but can be a painfully slow experience and time is the scarcest of all things. Instead you can browse with Firefox or Mullvad browser coupled with Proton- or Mullvad VPN service enabled on the desktop. VPN is great but choose wisely because many of the services out there are just a fraud and you trust them not to log your activities and they can start logging without notice anytime the government asks them to do so.
OBJECTIVE: Download, verify and Install Tor browser(process similar to Mullvad browser)(Progress images)
- đź’ˇ Learn about Verification of digital information
- Your Ubuntu came with a handy tool to use for encryption and verification: GPG(Gnu Privacy Guard, implementing the OpenPGP standard). Open a terminal to use it
- Super + start typing “terminal”(add to favorites with right-click)
- Go to the website of the Tor project. It should be a simple https website(check the little lock icon in the address bar)
- Go to
Download Tor Browser
and select Linux - Download the signature file as well
- In the terminal navigate into the download directory
cd ~/Downloads
- Verify Tor Browser (use
man <command>
where you are unsure)- You download the public key(or get it by any other means) of the developer(s) and import it in gpg
gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
- You verify the signature of the file against the public key
gpg --verify tor-browser-linux64-12.0.5_ALL.tar.xz.asc
- Note: Verification processes can vary for different software but the fundamentals remain the same
- You download the public key(or get it by any other means) of the developer(s) and import it in gpg
- Install Tor browser with the command line method according to instructions:
- Run the command to extract the archive
tar -xf tor-browser…. <press Tab to complete>
- Go inside the extracted directory
cd tor-browser
- Make the desktop file executable
sudo chmod +x start-tor….<press Tab>
- Run Tor browser. First time run it with a command argument to register the desktop app
./start-tor-browser<press Tab> --register-app
- You can now launch Tor browser using the
Super + <typing>
method - Add Tor browser to favorites
- Run the command to extract the archive
When you are doing anything bitcoin-related the most interaction is going to be with your bitcoin wallet software. This is the brain coordinating your efforts to manage and monitor your funds. One of the most popular wallets today is Sparrow wallet. It allows for ease of use while implementing advanced features. Learning bitcoin starts with Sparrow wallet in my opinion. So let’s start to use it!
OBJECTIVE: Start using Sparrow wallet(Progress images)
- Open Firefox browser and navigate to the Sparrow wallet website(clearnet link)
- Download is very slow on Tor browser but you can try
- Go to Download and navigate to version 1.7.6 in previous releases(known working version with the this course)
- Download these files(click “show all assets” to expand the list)
- sparrow_1.7.6.1_amd64.deb(debian 64-bit linux package, no server in name!)
- …manifest.txt file
- …manifest.txt.asc file
- Verify the downloaded software according to instructions:
- Import Craig Raw’s(developer of Sparrow wallet) public key
curl https://keybase.io/craigraw/pgp_keys.asc | gpg --import
- The manifest file contains the hash fingerprints of the different releases. If you view the file you can see the release you downloaded is also listed. If we can trust the manifest file then we can generate a fingerprint from our downloaded Sparrow file and compare that fingerprint with the one listed in the manifest file. If the fingerprint we generated matches the one listed in the manifest file then we can trust the downloaded software and go ahead with the installation
- To trust the manifest file you have to check its signature against Craig’s public key
- Go to Downloads
cd ~/Downloads
- Verify the manifest files signature:
gpg –verify sparrowsparrow-1.7.6-manifest.txt.asc
- Now verify that the manifest file contains the exact fingerprint of our release. We ignore missing releases in the list that we did not download
sha256sum -c sparrow-1.7.6-manifest.txt --ignore-missing
- To sum up this kind of verification visually
- Import Craig Raw’s(developer of Sparrow wallet) public key
- Now we can somewhat trust this software so let’s install it
- The most used packages are installed using Ubuntu’s predefined package repositories but since Sparrow is custom Software let’s install the downloaded “.deb” package manually
- In the directory where sparrow was downloaded run this command
sudo apt install ./sparrow_1.7.6-1_amd64.deb
- Sparrow wallet is now installed but don’t launch it just yet!
Bitcoin plebs have a wonderful training ground to hone their skills in a safe environment. It is called bitcoin testnet. These are bitcoin networks that function almost the same as the “mainnet” - i.e. real-money version, just they are for testing, learning and experimenting with fake-bitcoin. There are multiple testnets for different purposes. The one you will use is quite new and it’s called “Signet”. This special Signet called “Mutinynet” produces blocks every 30seconds instead of the 10min usual block time. This makes it better for learning purposes.
OBJECTIVE: Configure Sparrow to launch in signet mode(Progress images)
- The easiest way to make Sparrow always launch in signet mode is to set a so-called “environment variable” which is just a fancy term for “I want this program to run with these special parameters”
- In the terminal edit this file that contains important things to run at startup
nano ~/.profile
- At the bottom insert this line to force Sparrow to launch in signet mode every time
export SPARROW_NETWORK=”signet”
- Then insert another line allowing you to launch Sparrow from anywhere in the terminal not just where it is actually located
/opt/sparrow/bin
export PATH=”$PATH:/opt/sparrow/bin”
- Save the file:
ctrl + o
–>enter
- Exit nano:
ctrl + x
- Restart your computer for it to take effect
reboot
- Now you can launch Sparrow and add it to favorites
- On first launch it gives you an initial mini-tutorial. At the end you can configure your server settings
- This setting is also available from File menu
- In the
Server settings
connect Sparrow to the Mutinynet signet server- Select
Private Electrum
as Server Type - Edit the
URL
andPort
field, respectively:45.79.52.207
50001
- Select
- Press the
“Test Connection”
button and follow the logs - After the connection was established, click
Close
- In the bottom-right corner you have the
Server switch
turned on and color blue - Hover over the icons with your mouse to check additional info. In Sparrow you can hover over many things and it will give you great additional insights
- If Sparrow loses connection for any reason and you cannot re-establish it, you can try this alternative node:
- Onion URL:
e2zh2kfz7zhov4ruas52iyghw6uxgi6dy22rzlnnmao4hmxcvxfiq6ad.onion
- Port:
50001
- Onion URL: