Altradits

Run your own Bitcoin node, step by step.

Install Bitcoin Core 32.1 on Windows, macOS or Linux: download and verify it, or build it from source. Exact commands, what you should see at each step, and links to the official sources only.

Why bother? A node downloads every block and checks every rule itself. You stop trusting anyone else's word about which payments are real: "don't trust, verify". Bitcoin Core is the reference software, written in the open at github.com/bitcoin/bitcoin and released at bitcoincore.org.

On this page

  1. Before you start
  2. Path A: download and verify
  3. Path B: build from source
  4. First run: what to expect
  5. Configure it safely
  6. Practise without real money
  7. Keep your node safe
  8. If something goes wrong
  9. Official sources

1. Before you start

Your systemWindows 10 (version 1903) or newer, macOS 14 or newer, or Linux (kernel 3.17 or newer), as tested for this release (release notes).
DiskOver 750 GB for the whole chain, on a fast disk (an SSD helps a lot). Short on space? Pruning keeps only recent blocks, about 7 GB, and still checks everything (bitcoin.org).
Memory2 GB or more. Building from source needs at least 1.5 GB free while compiling.
InternetSeveral hundred GB downloaded the first time; afterwards about 20 GB a month down, and possibly 200 GB or more up (bitcoin.org).
TimeInstall: 10 minutes. First sync: hours to days, depending on your disk and connection. The node can stop and resume any time.

Pick one path:

Path A: download and verifyFor most people. The ready-made app, checked against the developers' signatures. 15 minutes. Path B: build from sourceFor developers and learners. You compile the code you can read. 30–60 minutes.

2. Path A: download and verify

Download only from bitcoincore.org/en/download. For every system you need three files from the 32.1 folder: your download, SHA256SUMS (the list of correct fingerprints) and SHA256SUMS.asc (the developers' signatures on that list). Put all three in one folder.

Windows
  1. Download bitcoin-32.1-win64-setup.exe, SHA256SUMS and SHA256SUMS.asc.
  2. Check the file matches the official list. In PowerShell, in your Downloads folder:
    certUtil -hashfile bitcoin-32.1-win64-setup.exe SHA256
    type SHA256SUMS
    Expect: certUtil prints a 64-character hash. Find the line ending in bitcoin-32.1-win64-setup.exe in SHA256SUMS: the hash on that line must be exactly the same. If it differs, delete the download and stop.
  3. Check who signed the list (recommended, essential for real money). Install Gpg4win (GnuPG for Windows), download the builders' keys from guix.sigs/builder-keys, import them and verify:
    gpg --import fanquake.gpg
    gpg --verify SHA256SUMS.asc SHA256SUMS
    Expect: several lines gpg: Good signature from "…", one per builder whose key you imported. For fanquake's key the line Primary key fingerprint: E777 299F C265 DD04 7930 70EB 944D 35F9 AC3D B76A. A warning that the key "is not certified with a trusted signature" is normal. "BAD signature" means stop.
  4. Install: double-click the setup file and follow the installer.
    Expect: "Bitcoin Core" in your Start menu.
  5. Open Bitcoin Core. Continue at First run.
macOS
  1. Check your Mac: Apple menu → About This Mac. "Apple M…" chip: download bitcoin-32.1-arm64-apple-darwin.zip. "Intel" processor: bitcoin-32.1-x86_64-apple-darwin.zip. Also download SHA256SUMS and SHA256SUMS.asc.
  2. Check the file matches the official list. In Terminal, in the folder with the three files:
    shasum -a 256 --ignore-missing --check SHA256SUMS
    Expect: bitcoin-32.1-arm64-apple-darwin.zip: OK (your file name). "FAILED" means delete the download and stop.
  3. Check who signed the list (recommended, essential for real money). Install GnuPG with Homebrew: brew install gnupg. Then import the builders' keys and verify:
    git clone https://github.com/bitcoin-core/guix.sigs
    gpg --import guix.sigs/builder-keys/*
    gpg --verify SHA256SUMS.asc SHA256SUMS
    Expect: several lines gpg: Good signature from "…", one per builder. A warning that a key "is not certified with a trusted signature" is normal: it means you haven't personally vouched for that person. "BAD signature" means stop.
  4. Install: unzip the file and drag Bitcoin-Qt into Applications.
    Expect: Bitcoin-Qt in your Applications folder.
  5. Open Bitcoin-Qt. Continue at First run.
Linux
  1. Download for your processor (uname -m tells you): x86_64 or aarch64 (e.g. Raspberry Pi 4/5 with a 64-bit system), plus SHA256SUMS and SHA256SUMS.asc.
  2. Check the file matches the official list. In Terminal, in the folder with the three files:
    sha256sum --ignore-missing --check SHA256SUMS
    Expect: bitcoin-32.1-x86_64-linux-gnu.tar.gz: OK (your file name). "FAILED" means delete the download and stop.
  3. Check who signed the list (recommended, essential for real money). GnuPG is usually installed already (gpg --version); if not: sudo apt install gnupg. Then import the builders' keys and verify:
    git clone https://github.com/bitcoin-core/guix.sigs
    gpg --import guix.sigs/builder-keys/*
    gpg --verify SHA256SUMS.asc SHA256SUMS
    Expect: several lines gpg: Good signature from "…", one per builder. A warning that a key "is not certified with a trusted signature" is normal: it means you haven't personally vouched for that person. "BAD signature" means stop.
  4. Install:
    tar xzf bitcoin-32.1-x86_64-linux-gnu.tar.gz      # aarch64: use that file's name
    sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-32.1/bin/*
    Expect: bitcoind --version prints Bitcoin Core daemon version v32.1.
  5. Start it: bitcoin-qt for the window, or bitcoind -daemon for a background node. Continue at First run.

3. Path B: build from source

You compile the exact code published on GitHub. Always build a release tag (here v32.1), never an untested branch, for real money. The official guides: Windows, macOS, Linux.

Get the code and verify the tag (every system)

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
git checkout v32.1
Expect: HEAD is now at …. git status says HEAD detached at v32.1.

The tag is signed by the release manager. With GnuPG and the builders' keys imported (see Path A):

git verify-tag v32.1
Expect: gpg: Good signature from "…".
No GnuPG? Compare git rev-parse v32.1^{commit} with the commit shown on GitHub's v32.1 page (which shows a "Verified" badge) and confirm the release on bitcoincore.org. That cross-check is fine for practice; for real money, do the signature check once.
Windows (Visual Studio)
  1. Install the tools: Visual Studio 2026 (version 18.3 or later) with the "Desktop development with C++" workload, which includes CMake, vcpkg and Git. From PowerShell:
    winget install --id Microsoft.VisualStudio.Community --override "--wait --quiet --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Component.Git --includeRecommended"
    winget install python3
  2. Open "Developer PowerShell for VS" and get the code as above.
  3. Configure and build (with the window app):
    cmake -B build --preset vs2026-static
    cmake --build build --config Release
    ctest --test-dir build --build-config Release
    Without the window app: cmake -B build --preset vs2026 -DBUILD_GUI=OFF.
    Expect: the last test line says 100% tests passed. The programs are under build\bin.
  4. Error "path is too long" or "paths with embedded space": see the troubleshooting at the end of the official Windows guide.
macOS
  1. Install the tools: Xcode Command Line Tools 16.2 or newer, then Homebrew:
    xcode-select --install
    brew install cmake boost capnp
    brew install qt@6 qrencode      # only for the window app
  2. Get the code as above, then configure and build:
    cmake -B build -DBUILD_GUI=ON          # leave out -DBUILD_GUI=ON for no window app
    cmake --build build -j $(sysctl -n hw.ncpu)
    ctest --test-dir build -j $(sysctl -n hw.ncpu)
    Expect: 100% tests passed, and ./build/bin/ holds bitcoind, bitcoin-cli and (with the GUI) bitcoin-qt. ./build/bin/bitcoind --version prints v32.1.
Linux (Ubuntu, Debian, Fedora)
  1. Install the tools. Ubuntu or Debian:
    sudo apt install build-essential cmake pkgconf python3 libboost-dev libsqlite3-dev libcapnp-dev capnproto
    sudo apt install qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libgl-dev qt6-wayland libqrencode-dev   # window app only
    Fedora:
    sudo dnf install gcc-c++ cmake make python3 boost-devel sqlite-devel capnproto capnproto-devel
    sudo dnf install qt6-qtbase-devel qt6-qttools-devel qt6-qtwayland qrencode-devel   # window app only
    Cap'n Proto is only for the IPC feature; to skip it, add -DENABLE_IPC=OFF below.
  2. Get the code as above, then configure and build:
    cmake -B build                  # add -DBUILD_GUI=ON for the window app
    cmake --build build -j $(nproc)
    ctest --test-dir build -j $(nproc)
    Expect: 100% tests passed; ./build/bin/bitcoind --version prints v32.1. Optional: sudo cmake --install build puts the programs in your path.

4. First run: what to expect

The window app (Bitcoin Core / Bitcoin-Qt) asks where to keep the data and offers to limit block chain storage: tick it if your disk is small (pruning). Then a bar shows "Synchronizing with network" and how far behind it is.

The background node (bitcoind -daemon): ask how it's doing.

bitcoin-cli getblockchaininfo

Example while syncing (your numbers will differ):

{
  "chain": "main",
  "blocks": 312004,
  "headers": 922110,
  "verificationprogress": 0.1931…,
  "initialblockdownload": true,
  …
}
Expect: blocks climbing towards headers, and verificationprogress towards 1. When it is done, initialblockdownload turns false: your node has checked every block since 2009 by itself.

Watch it work: the log is debug.log in the data folder, with a line UpdateTip: new best=… for each block.

SystemData folder (bitcoin.conf and debug.log live here)
Windows%LOCALAPPDATA%\Bitcoin\
macOS~/Library/Application Support/Bitcoin/
Linux~/.bitcoin/

Stop it cleanly with bitcoin-cli stop (or close the window and wait): shutting down can take a minute.

5. Configure it safely

Settings go in bitcoin.conf in the data folder; you create the file yourself (official guide). A sensible start for a home node:

# Keep only recent blocks (about 7 GB) and still verify everything. Remove for a full archive.
prune=550
# The control port answers this computer only (the default; never open it to the internet).
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
Never put a plain password in bitcoin.conf, and never expose the RPC port (8332) to the internet: that is how nodes get emptied. bitcoin-cli on the same computer logs in automatically with a cookie file Bitcoin Core rewrites at every start. Other programs can use rpcauth, a salted hash, made by share/rpcauth/rpcauth.py in the source.

6. Practise without real money (regtest)

Regtest is a private chain on your computer: no download, blocks on demand, nothing to lose. Five minutes:

bitcoind -regtest -daemon -fallbackfee=0.00001
bitcoin-cli -regtest createwallet alice
bitcoin-cli -regtest -rpcwallet=alice getnewaddress
bitcoin-cli -regtest generatetoaddress 101 <that address>
bitcoin-cli -regtest -rpcwallet=alice getbalances
Expect: "trusted": 50.00000000 and "immature": 5000.00000000. Block rewards wait 100 blocks before they can be spent, so of 101 blocks only the first counts. Stop with bitcoin-cli -regtest stop.

Want the full walk-through (send a payment, replace it, undo a confirmation)? Ask us for a free session: hello@altradits.com.

7. Keep your node safe

8. If something goes wrong

9. Official sources

Versions change: if bitcoincore.org lists a newer release, use it and replace 32.1 in the commands.