Preparations
Login as user with sudo privileges and change to a temporary directory which is cleared on reboot
$ cd /tmp
Set a temporary version environment variable to the installation
$ VERSION=25.0
Download binary, checksum, and signature files
$ wget https://bitcoincore.org/bin/bitcoin-core-$VERSION/bitcoin-$VERSION-x86_64-linux-gnu.tar.gz
$ wget https://bitcoincore.org/bin/bitcoin-core-$VERSION/SHA256SUMS
$ wget https://bitcoincore.org/bin/bitcoin-core-$VERSION/SHA256SUMS.asc
Checksum check
Check that the reference checksum in the file SHA256SUMS matches the checksum calculated by you
$ sha256sum --ignore-missing --check SHA256SUMS
Example of expected output:
> bitcoin-25.0-x86_64-linux-gnu.tar.gz: OK
Signature check
Bitcoin releases are signed by several individuals, each using its own key. To verify the validity of these signatures, you must first import the corresponding public keys into your GPG key database.
The next command download and imports automatically all signatures from the Bitcoin Core release attestations (Guix) repository
$ curl -s "https://api.github.com/repositories/355107265/contents/builder-keys" | grep download_url | grep -oE "https://[a-zA-Z0-9./-]+" | while read url; do curl -s "$url" | gpg --import; done
Example of expected output:
> gpg: key 17565732E08E5E41: 29 signatures not checked due to missing keys
> gpg: /home/admin/.gnupg/trustdb.gpg: trustdb created
> gpg: key 17565732E08E5E41: public key "Andrew Chow <[email protected]>" imported
> gpg: Total number processed: 1
> gpg: imported: 1
> gpg: no ultimately trusted keys found
[...]
Verify that the checksums file is cryptographically signed by the release signing keys. The following command prints signature checks for each of the public keys that signed the checksums.
$ gpg --verify SHA256SUMS.asc
Check that at least a few signatures show the following text
> gpg: Good signature from ...
> Primary key fingerprint: ...
Binaries installation
If you're satisfied with the checksum, signature, extract the Bitcoin Core binaries
$ tar -xvf bitcoin-$VERSION-x86_64-linux-gnu.tar.gz
Install the binaries on the OS
$ sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-$VERSION/bin/*
Check the correct installation requesting the output of the version
$ bitcoind --version
The following output is just an example of one of the versions:
> Bitcoin Core version v25.0.0
> Copyright (C) 2009-2022 The Bitcoin Core developers
> [...]
Source: https://v2.minibolt.info/bitcoin/bitcoin/bitcoin-client