<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Oluwatobi Jolayemi</title>
    <description>The latest articles on DEV Community by Oluwatobi Jolayemi (@leonardra).</description>
    <link>https://dev.to/leonardra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2752017%2Fad7fc287-032b-4287-ad91-8041c920e57a.jpg</url>
      <title>DEV Community: Oluwatobi Jolayemi</title>
      <link>https://dev.to/leonardra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leonardra"/>
    <language>en</language>
    <item>
      <title>Comprehensive Guide: Installing Bitcoin Core on Windows for Beginners</title>
      <dc:creator>Oluwatobi Jolayemi</dc:creator>
      <pubDate>Sun, 26 Oct 2025 21:02:51 +0000</pubDate>
      <link>https://dev.to/leonardra/comprehensive-guide-installing-bitcoin-core-on-windows-for-beginners-20nn</link>
      <guid>https://dev.to/leonardra/comprehensive-guide-installing-bitcoin-core-on-windows-for-beginners-20nn</guid>
      <description>&lt;p&gt;&lt;em&gt;Learn the Easy Steps to Set Up Your Bitcoin Core on Windows and Bitcoin Development Confidently.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Configuring Bitcoin Core on your Windows computer might seem challenging, especially for those new to Bitcoin development. For those unfamiliar with Bitcoin Core, it serves as a client for the Bitcoin protocol and is widely recognized as the reference implementation for a Bitcoin client.&lt;/p&gt;

&lt;p&gt;In this article, I will simplify the process of setting up Bitcoin Core, outlining the steps involved. I trust you will find it informative.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning Outcomes
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You should be able to install Bitcoin Core on your Windows Computer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You should be able to have an understanding of each command you are running.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You should able to configure your node to run on regtest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You should be able to run basic bitcoin-cli commands&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Requirements
&lt;/h3&gt;

&lt;p&gt;I assume you have a computer running the Windows operating system enabled for virtualization. In this tutorial, I'm working with a Windows 11 OS, featuring 16 gigabytes of RAM and a 500-gigabyte hard disk. It's important to mention that running Bitcoin Core on a less powerful PC is still possible.&lt;/p&gt;

&lt;p&gt;Before proceeding, we'll establish a Linux environment on our PC using WSL, enabling us to execute Linux-like commands in the terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up Environment
&lt;/h3&gt;

&lt;p&gt;There are two installations we have to do in this phase: WSL and Ubuntu.&lt;/p&gt;

&lt;p&gt;WSL which stands for Windows Subsystem for Linux allows developers harness the capabilities of both Windows and Linux on the same PC. By having WSL installed on your PC, you can replicate all the sweet spots of Linux without committing your system exclusively to the operating system.&lt;/p&gt;

&lt;p&gt;Go to your PowerShell terminal and type the installation command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wsl &lt;span class="nt"&gt;--install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once the installation is complete, restart your PC to activate the changes.&lt;/p&gt;

&lt;p&gt;After your PC has fully restarted, proceed to install a Linux distribution. A Linux distro refers to the distribution for Linux, and there are various options such as Ubuntu, Kali, Mint, Red Hat, and more. In this guide, I am utilizing an Ubuntu distro, which I installed directly from the Microsoft Store.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqtmb3i3a20y35v1iivg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqtmb3i3a20y35v1iivg.png" alt="Linux Distros on Microsoft Store" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dependencies
&lt;/h3&gt;

&lt;p&gt;To successfully compile and run Bitcoin-Core on your PC, there are libraries you need to install within your linux environment. Navigate to your Linux terminal and type the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command installs all the latest package information available for the packages currently installed on the system. This is to ensure that the currently installed libraries are not outdated.&lt;/p&gt;

&lt;p&gt;Then, you need git installed to enable you clone the bitcoin core repository from its remote source.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libevent-dev
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libsqlite3-dev
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libminiupnpc-dev
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libzmq3-dev
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libqrencode-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Installing Bitcoin Core
&lt;/h3&gt;

&lt;p&gt;Now that the environment setup is complete, it's time to clone the Bitcoin Core repository. Navigate to your linux terminal and input the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; git clone https://github.com/bitcoin/bitcoin.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnad4943trvx72ndi4s5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnad4943trvx72ndi4s5.png" alt="Terminal showing git cloning the bitcoin project locally" width="800" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you are done cloning the repo, go into the directory by running the command below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;bitcoin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, you will need to check the suitable version to install by running the following git command for that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git tag
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;leonardra@DESKTOP-6OA1ID2:~/bitcoin&lt;span class="nv"&gt;$ &lt;/span&gt;git tag
noversion
v0.1.5
v0.1.6test1
v0.10.0
v0.10.0rc1
v0.10.0rc2
v0.10.0rc3
v0.10.0rc4
v0.10.1
v0.10.1rc1
v0.10.1
v0.10.1rc1
v0.10.1rc2
...
// To the latest version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get an output of all the bitcoin-core versions. To navigate, you use the Up and Down arrow key.&lt;/p&gt;

&lt;p&gt;To select a version, escape from the tag page then type this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout v24.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command switches into the &lt;em&gt;v24.0&lt;/em&gt; branch from the &lt;em&gt;master&lt;/em&gt; branch, ultimately making it the active version of the software you'll be working on. To verify that you are indeed in the correct version, execute the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwonqsku1tbeu39qpiov9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwonqsku1tbeu39qpiov9.png" alt="Result of " width="800" height="63"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Within the bitcoin directory, copy and paste the following command to download Berkeley DB, a critical dependency need for the software to compile.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./contrib/install_db4.sh &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once Berkeley DB is installed, execute the following command while still in the bitcoin directory&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./autogen.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;Autogen.sh&lt;/code&gt; is a script that generates the necessary files needed in the project for compilation and installation.&lt;/p&gt;

&lt;p&gt;After this you run the &lt;code&gt;./configure&lt;/code&gt; script.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;./configure&lt;/code&gt; script is used to configure the files generated by the autogen script and most importantly generates the Makefile which is necessary in the next step.&lt;/p&gt;

&lt;p&gt;The next step is to compile the software using the &lt;code&gt;make&lt;/code&gt; command. This process takes a little bit of time and utilizes a considerable amount of resources depending on the available resources you have on your PC.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;make

&lt;span class="c"&gt;# optional: to make the process share resources across your &lt;/span&gt;
&lt;span class="c"&gt;# CPU cores, you can run this&lt;/span&gt;
&lt;span class="c"&gt;# n is the number of cores you want to utilize in parallel&lt;/span&gt;
make &lt;span class="nt"&gt;-j&lt;/span&gt; n
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After it is done compiling, run the make install command to complete the installation process. This process creates the .bitcoin directory in your home directory. It also installs the bitcoind and bitcoin-cli on your computer&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;make &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Post - Installation
&lt;/h3&gt;

&lt;p&gt;Now you are done with the installation, which means you have the bitcoind and bitcoin-cli installed on you computer.&lt;/p&gt;

&lt;p&gt;Bitcoind is the bitcoin daemon that runs and enables you connect to the bitcoin network.&lt;/p&gt;

&lt;p&gt;Bitcoin-Cli is an utility that comes with the bitcoin software and allows you communicate with the software through the terminal.&lt;/p&gt;

&lt;p&gt;While you are eager to jump right into creating wallets and sending bitcoins, it is essential to configure the network you want your node to run on. I will be running on regtest for the purpose of this guide.&lt;/p&gt;

&lt;p&gt;You can do this by updating your bitcoin.conf file, a file generated during your installation and located within the .bitcoin directory.&lt;/p&gt;

&lt;p&gt;From your home directory copy and paste the command below&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; .bitcoin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run the follwoing command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano bitcoin.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command loads an interface for you to place your config. There is an online config generator I used. You can get it &lt;a href="https://jlopp.github.io/bitcoin-core-config-generator/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Copy and paste the following&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Generated by https://jlopp.github.io/bitcoin-core-config-generator/

# This config should be placed in following path:
# ~/.bitcoin/bitcoin.conf

# [chain]
# Regression Test Network
chain=regtest
# Run this node on its own independent test network. Equivalent to -chain=regtest
regtest=1

# [debug]
# Enable debug logging for all categories.
debug=1
# Send trace/debug info to console instead of debug.log.
printtoconsole=1
daemon=0

# Options only for mainnet
[main]

# Options only for testnet
[test]

# Options only for regtest
[regtest]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save file and exit. The above configuration set your node to run on regtest.&lt;/p&gt;

&lt;h3&gt;
  
  
  Running Your First Bitcoin-Cli Command
&lt;/h3&gt;

&lt;p&gt;You finally got to the last stage! You have painstakingly installed the Bitcoin software, it's time to play around with bitcoin-cli command.&lt;/p&gt;

&lt;p&gt;To interact with the bitcoin network, you have to start the bitcoin daemon. Run this command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bitcoind
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3uwuw3xx13e4uxlbi7l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3uwuw3xx13e4uxlbi7l.png" alt="Bitcoin Daemon logs" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You see the logs appear similar to the above image. This shows that the daemon is currently running and is ready to receive command.&lt;/p&gt;

&lt;p&gt;Now let us check information about the network our node is running on.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bitcoin-cli getnetworkinfo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For more a detailed documentation on all the commands made available by the bitcoin-cli, check &lt;a href="https://chainquery.com/bitcoin-cli#network" rel="noopener noreferrer"&gt;here&lt;/a&gt; and &lt;a href="https://developer.bitcoin.org/reference/rpc" rel="noopener noreferrer"&gt;this&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;If you got here, you can finally consider yourself a bitcoin developer and ready to hack your way around the software. The potential for what you can achieve is vast, and this marks only the beginning. Don't hesitate to follow me so you get firsthand notification of my next article.&lt;/p&gt;




&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/bitcoin/bitcoin.git" rel="noopener noreferrer"&gt;https://github.com/bitcoin/bitcoin.git&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/bitcoin/bitcoin.git" rel="noopener noreferrer"&gt;&lt;em&gt;What is the job of autogen.sh when&lt;/em&gt;&lt;/a&gt;&lt;a href="https://stackoverflow.com/questions/50044091/what-is-the-job-of-autogen-sh-when-building-a-c-package-on-linux" rel="noopener noreferrer"&gt;&lt;em&gt;building a c++ package on Linux&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/windows/wsl/install" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/windows/wsl/install&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://jlopp.github.io/bitcoin-core-config-generator/" rel="noopener noreferrer"&gt;https://jlopp.github.io/bitcoin-core-config-generator/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://chainquery.com/bitcoin-cli#network" rel="noopener noreferrer"&gt;https://chainquery.com/bitcoin-cli&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>bitcoin</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>bitcoindevelopment</category>
    </item>
  </channel>
</rss>
