# Run a Bitcoin Node

This guide is designed for setting up a Glittr node on testnet4 or a local network.

## Getting bitcoind executables&#x20;

Download or build `bitcoind` and `bitcoin-cli`

Make sure you are using at least version 28.x (testnet4 support).

#### Linux

* Download prebuilt executables: <https://bitcoincore.org/bin/bitcoin-core-28.0/bitcoin-28.0-x86_64-linux-gnu.tar.gz>
* Build from source: <https://github.com/bitcoin/bitcoin/blob/28.x/doc/build-unix.md>

After you obtain the executables, set your PATH environment variable to where the binaries are are (bitcoin-28.0/bin/ for prebuilt).

#### MacOS

* Install using brew <https://formulae.brew.sh/formula/bitcoin>
* Build from source: <https://github.com/bitcoin/bitcoin/blob/28.x/doc/build-osx.md>

After you build the executables by building from source, set your PATH environment variable to where the binaries are are (src/ usually). You may not need to do this if you installed using brew.

#### Windows

* Download prebuilt executables: <https://bitcoincore.org/bin/bitcoin-core-28.0/bitcoin-28.0-win64.zip>
* Build from source: <https://github.com/bitcoin/bitcoin/blob/28.x/doc/build-windows.md>

After you obtain the executables, set your PATH environment to where the binaries are are (bitcoin-28.0/bin/ for prebuilt).&#x20;

### Checking correct installation

To check that bitcoind is installed correctly, open a terminal and run bitcoind. To avoid syncing the entire blockchain (very long process), follow the instructions for testnet4 or local development below THE FIRST TIME YOU RUN bitcoind.

### Bitcoin Config for testnet4

Create a new directory \[mkdir], e.g. bitcointestnet4, and then create a new file bitcoin.conf

Copy the text below into bitcointestnet4/bitcoin.conf

note: rpcauth can be generated by using this script <https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py>

```
testnet4=1

[testnet4]
rpcuser=root
rpcpassword=root
# generate using https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py
rpcauth=rpcauth=root:98307881641a85ed72ac421b4997b8ce$206a7001fc977b92a67fd0bc9012765335eff452a2fde6a943d53f998a71256d

coinstatsindex=1
blockfilterindex=1
server=1
txindex=1
listen=1

maxconnections=100
datadir=/home/bitcoind/data
```

### Bitcoin Config for local development

Create a new directory \[mkdir], e.g. bitcoinlocal, and then create a new file bitcoin.conf

Copy the text below into bitcoinlocal/bitcoin.conf

```
[regtest]
regtest=1
dnsseed=0
rpcuser=user
rpcpassword=password
txindex=1
rpcallowip=127.0.0.1/0
rpcbind=127.0.0.1
fallbackfee=0.00001
datacarriersize=10000
maxburnamount=10000
```

### Running the bitcoin node

Open your terminal (or PowerShell if you are on Windows). Run bitcoind using the datadir parameter and then add the network `-testnet4`or `-regtest`.

```bash
$ bitcoind -datadir=<bitcoin-data-location> -testnet4
```

e.g.

```bash
$ bitcoind -datadir=./bitcointestnet4/ -testnet4
```

```bash
$ bitcoind -datadir=./bitcoinlocal/ -regtest
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.glittr.fi/node/run-a-bitcoin-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
