Coder Social home page Coder Social logo

kdmukai / raspi4_bitcoin_node_tutorial Goto Github PK

View Code? Open in Web Editor NEW
63.0 6.0 6.0 814 KB

Raspberry Pi 4 Bitcoin Full Node tutorial

License: MIT License

raspberrypi bitcoin bitcoind tor raspberry-pi raspberry-pi-4 bitcoin-core bitcoin-configuration raspbian tutorial

raspi4_bitcoin_node_tutorial's Introduction

Raspberry Pi 4 Bitcoin Full Node tutorial

Raspi4 A noob-friendly step-by-step guide for selecting the hardware, configuring and running a Raspberry Pi, and configuring and running a Bitcoin full node with a focus on setting it up with enhanced privacy. This is meant for people who have limited or no experience with a Linux/UNIX-style operating system. I do my best to explain what each command is doing and why we're doing it.

Each step is outlined in a short YouTube video. This format allows me to easily insert changes when needed and avoid onerous video editing. The master playlist is here.

This project can be completed in a couple of nights or over a weekend.

Comments, Questions, Suggestions

twitter: @KeithMukai

Introduction to the Hardware

Installing Raspbian OS

main resource: James A Chambers blog: Raspberry Pi 4 USB Boot Config Guide for SSD / Flash Drives

Updating and Securing the Raspi

Installing Bitcoin Core

main resource: Raspnode

Configuring Bitcoin

  • Create the bitcoin.conf file
    • note: The max dbcache might be 1024 so it's probably ignoring any value higher than that.
  • Install Supervisor
  • Configure Supervisor to manage bitcoind
    • UPDATE: no need to capture the stdout logs (what would normally get displayed in the terminal) as all that info is written to ~/.bitcoin/debug.log. So we just write stdout to "/null/dev" which purges it into the abyss.
    • UPDATE: the "-datadir=" is necessary. Without it bitcoind will look for the .bitcoin directory at "/.bitcoin" which would be at the disk root rather than within your user's "/home/youruser/" directory.
    • Configuration file (update youruser accordingly):
        [program:bitcoind]
        user=youruser
        command=bitcoind -datadir=/home/youruser/.bitcoin
        autostart=true
        autorestart=true
        stopwaitsecs=600
        stderr_logfile=/home/youruser/.bitcoin/err.log
        stdout_logfile=/dev/null
    

Tor Integration

Misc

And we're done!

raspi4_bitcoin_node_tutorial's People

Contributors

kdmukai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

raspi4_bitcoin_node_tutorial's Issues

UNAME_VERSION = #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 configure: error: cannot guess build type; you must specify one

Hello all,
I need your help because I will not find a solution.

I use Raspberry Compute Modul an get following error by compiling DB. Can anyone help me in this case?

UNAME_VERSION = #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022
configure: error: cannot guess build type; you must specify one

pi@raspberrypi:~/bin/db-4.8.30.NC/build_unix $ ../dist/configure --enable-cxx
checking build system type... ../dist/config.guess: unable to guess system type

This script, last modified 2009-02-03, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run (../dist/config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to [email protected] in order to provide the needed
information to handle your system.

config.guess timestamp = 2009-02-03

uname -m = aarch64
uname -r = 5.15.61-v8+
uname -s = Linux
uname -v = #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022

/usr/bin/uname -p = unknown
/bin/uname -X =

hostinfo =
/bin/universe =
/usr/bin/arch -k =
/bin/arch = aarch64
/usr/bin/oslevel =
/usr/convex/getsysinfo =

UNAME_MACHINE = aarch64
UNAME_RELEASE = 5.15.61-v8+
UNAME_SYSTEM = Linux
UNAME_VERSION = #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022
configure: error: cannot guess build type; you must specify one
pi@raspberrypi:~/bin/db-4.8.30.NC/build_unix $

[setting up the compile] Could not find a version of the Boost System library

error while setting up the compile : ./configure CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib"

configure: error: Could not find a version of the Boost::System library!

I have find this similar issue https://github.com/bitcoin/bitcoin/issues/3945 with this response :
"Usually this means that boost libraries are installed in multiple locations, and autoconf picks the wrong location. You could --with-boost-libdir="
to explicitly set a directory.

configure.txt
libboost.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.