# Two ways to install Bitcoin Core: 1. Compile from source 2. Install the pre-compiled binary # Compile from source (Debian Based) 1. Install build dependencies: ``` sudo apt-get install \ build-essential \ libtool \ autotools-dev \ automake \ pkg-config \ bsdmainutils \ python3 \ libevent-dev \ libboost-dev \ libsqlite3-dev ``` 2. Install GUI dependencies: ``` sudo apt-get install \ libqt5gui5 \ libqt5core5a \ libqt5dbus5 \ qttools5-dev \ qttools5-dev-tools \ qtwayland5 \ libqrencode-dev ``` 3. Download the source: ``` git clone https://github.com/bitcoin/bitcoin ``` 4. Checkout a release. At time of writing, the latest is v26.0: ``` git tag -n | sort -V git checkout v26.0 ``` 5. Compile: ``` ./autogen.sh ./configure --disable-wallet make -j "$(($(nproc) + 1))" ``` 7. Configure `~/.bitcoin/bitcoind.conf`: ``` # accept RPCs server=1 rpcuser=foo rpcpassword=bar # allowed IPs rpcbind=0.0.0.0 rpcallowip=192.168.1.0/24 # index transactions txindex=1 # only peer over Tor: #proxy=127.0.0.1:9050 #listen=1 #bind=127.0.0.1 ``` 8. Create, enable and start the systemd service: ``` [Unit] Description=Bitcoin Core Daemon After=network-online.target [Service] User=schwab Type=simple Restart=on-failure ExecStart=/usr/local/bin/bitcoind [Install] WantedBy=multi-user.target ``` ``` sudo systemctl enable bitcoind.service sudo systemctl start bitcoind.service ``` 6. Run bitcoind: ``` ./src/bitcoind ``` 7. Or bitcoin-qt: ``` ./src/qt/bitcoin-qt ``` # Install the pre-compiled binary 1. Import Core Maintainers PGP keys: ``` git clone https://github.com/bitcoin-core/guix.sigs gpg --import guix.sigs/builder-keys/* ``` 2. Download the Bitcoin Core binary: ``` wget https://bitcoincore.org/bin/bitcoin-core-26.0/bitcoin-26.0-x86_64-linux-gnu.tar.gz ``` 3. Download the SHA256 checksums and their signatures: ``` wget https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS wget https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS.asc ``` 4. Verify checksum of the release file: ``` sha256sum --ignore-missing --check SHA256SUMS bitcoin-26.0-x86_64-linux-gnu.tar.gz: OK ``` 5. Extract the binary: ``` tar xzf bitcoin-26.0-x86_64-linux-gnu.tar.gz ``` 6. Install the binary: ``` sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-26.0/bin/* ``` 7. Configure `~/.bitcoin/bitcoind.conf`: ``` # accept RPCs server=1 rpcuser=foo rpcpassword=bar # allowed IPs rpcbind=0.0.0.0 rpcallowip=192.168.1.0/24 # index transactions txindex=1 # only peer over Tor: #proxy=127.0.0.1:9050 #listen=1 #bind=127.0.0.1 ``` 8. Create, enable and start the systemd service: ``` [Unit] Description=Bitcoin Core Daemon After=network-online.target [Service] User= Type=simple Restart=on-failure ExecStart=/usr/local/bin/bitcoind [Install] WantedBy=multi-user.target ``` ``` sudo systemctl enable bitcoind.service sudo systemctl start bitcoind.service ```