So you’re interested in running a Bitcoin Full Node, and need a step-by-step guide for doing this on Windows?
Let’s step into it.
First off, we need to understand some facts about Bitcoin full nodes:
- A full-node, by default, consists of a copy on disk of the entire block-chain. As of January 2018, the disk space required for this is about 170GB. You can prune older blocks from the blockchain, resulting in lower space requirements at the cost of no longer being able to see the details of every transaction confirmed since the genesis block. See below for details about how to configure block-chain pruning. Of course, prior to setting up pruning, you need to have the entire blockchain present on disk.
- Bandwidth requirements for a full node as of January 2018 over a 30-day period are approximately 450GB uploaded, and 50GB downloaded. 5 minute sampling over the past 30 days shows BTC is requiring 164.73KB up and 16.47KB down per second. If you are contemplating running a full node, please ensure you have monthly bandwidth allocation that can handle this, otherwise you may find you have a very nasty bill at the end of the month from your ISP.
- A full node, by itself, does not provide the ability to “mine” Bitcoins. For that, you’d need an ASIC miner, such as the Bitmain AntMiner S9. Be aware, there are many scam websites offering these Bitmain AntMiners for sale at exhorbitant prices; many never deliver. The best place to buy one is from the manufacturer directly.
- Bitcoin Core full nodes provide wallet functionality by default. The wallet is *not* encrypted by default; see the step-by-step instructions below for details about how to encrypt and backup the wallet.
Now that we’ve got those basic details down, let’s get into the step-by-step installation details:
- Choose a path where the blockchain data will reside; for this example, I am using
C:\BitcoinCore
as the root directory for the full node. I’m going to useC:\BitcoinCore\Data
for the blockchain data folder. Create both of those folders. - Download the Bitcoin Core Full Node software. For this guide, you’ll need the 64-bit Windows version.
- Extract the downloaded .zip file into the folder chosen in step 1. In this guide, we’re using
C:\BitcoinCore
as the root directory; once you’ve extracted the .zip file, you should have the following folders:C:\BitcoinCore C:\BitcoinCore\bin C:\BitcoinCore\include C:\BitcoinCore\lib C:\BitcoinCore\share
- Use
notepad.exe
to create a new file with the following contents:debug=0 logips=1 printtoconsole=1 wallet=my_wallet_name.dat conf=C:\Bitcoin\Data\bitcoin.conf datadir=C:\Bitcoin\Data dbcache=8192 maxmempool=2048 blockreconstructionextratxn=512 par=0 persistmempool=1 listen=1 port=8333 bind=0.0.0.0 listenonion=0 maxsendbuffer=2000 fallbackfee=0.0002 discardfee=0.000025 walletrbf=1 maxtxfee=0.01 server=1 rpcuser=some_string_here rpcpassword=some_password_here
- Save the file as
C:\BitcoinCore\Data\bitcoin.conf
- Create a new file using
notepad.exe
with the following content:"C:\BitcoinCore\bin\bitcoin-qt.exe" -conf=C:\BitcoinCore\Data\bitcoin.conf
- Save the file as
C:\BitcoinCore\StartFullNode.cmd
. Once you’ve saved it, you can start the full node by double-clickingStartFullNode.cmd
. The full-node Bitcoin Core wallet will start downloading the blockchain. While the blockchain is downloading, the wallet will not be available. Depending on your download speeds, it may take several days or more to download the entire blockchain. Be patient.
As promised above, you can enable block-chain pruning. To do that, simply add the following line to the C:\BitcoinCore\Data\bitcoin.conf
configuration file:
prune=1024
The 1024
represents the maximum number of megabytes we should retain in the blockchain. The number can be set as low as 550; but I’d recommend keeping as much of the blockchain as you can.