Running A Full Node - Bitcoin (2024)

What Is A Full Node?

A full node is a program that fully validates transactions and blocks.Almost all full nodes also help the network by accepting transactionsand blocks from other full nodes, validating those transactions andblocks, and then relaying them to further full nodes.

Most full nodes also serve lightweight clients by allowing them totransmit their transactions to the network and by notifying them when atransaction affects their wallet. If not enough nodes perform thisfunction, clients won’t be able to connect through the peer-to-peernetwork—they’ll have to use centralized services instead.

Many people and organizations volunteer to run full nodes using sparecomputing and bandwidth resources—but more volunteers are needed toallow Bitcoin to continue to grow. This document describes how you canhelp and what helping will cost you.

Setup a Full Node

Costs And Warnings

Running a Bitcoin full node comes with certain costs and can expose youto certain risks. This section will explain those costs and risks so youcan decide whether you’re able to help the network.

Special Cases

Miners, businesses, and privacy-conscious users rely on particularbehavior from the full nodes they use, so they will often run their ownfull nodes and take special safety precautions. This document does notcover those precautions—it only describes running a full node to helpsupport the Bitcoin network in general.

Please seek out assistance in the community if you need helpsetting up your full node correctly to handle high-value and privacy-sensitivetasks. Do your own diligence to ensure who you get help from is ethical,reputable and qualified to assist you.

Secure Your Wallet

It’s possible and safe to run a full node to support the network and useits wallet to store your bitcoins, but you must take the sameprecautions you would when using any Bitcoin wallet. Please see thesecuring your wallet page for moreinformation.

Minimum Requirements

Bitcoin Core full nodes have certain requirements. If you try running anode on weak hardware, it may work—but you’ll likely spend more timedealing with issues. If you can meet the following requirements, you’llhave an easy-to-use node.

  • Desktop or laptop hardware running recent versions of Windows, Mac OSX, or Linux.

  • 7 gigabytes of free disk space,accessible at a minimum read/write speed of 100 MB/s.

  • 2 gigabytes of memory (RAM)

  • A broadband Internet connection with upload speeds of at least 400kilobits (50 kilobytes) per second

  • An unmetered connection, a connection with high upload limits, or aconnection you regularly monitor to ensure it doesn’t exceed itsupload limits. It’s common for full nodes on high-speed connections touse 200 gigabytes upload or more a month. Download usage is around 20gigabytes a month, plus around an additional 340 gigabytes the firsttime you start your node.

  • 6 hours a day that your full node can be left running. (You can doother things with your computer while running a full node.)More hours would be better, and best of all would be if you can runyour node continuously.

    Note: many operating systems today (Windows, Mac, and Linux) enter a low-power mode after the screensaver activates, slowing or halting network traffic. This is often the default setting on laptops and on all Mac OS X laptops and desktops. Check your screensaver settings and disable automatic “sleep” or “suspend” options to ensure you support the network whenever your computer is running.

Possible Problems

  • Legal: Bitcoin use is prohibited or restricted in someareas.

  • Bandwidth limits: Some Internet plans will charge an additionalamount for any excess upload bandwidth used that isn’t included inthe plan. Worse, some providers may terminate your connection withoutwarning because of overuse. We advise that you check whether yourInternet connection is subjected to such limitations and monitor yourbandwidth use so that you can stop Bitcoin Core before you reach yourupload limit.

  • Anti-virus: Several people have placed parts of known computerviruses in the Bitcoin block chain. This block chain data can’t infectyour computer, but some anti-virus programs quarantine the dataanyway, making it more difficult to run Bitcoin Core. This problem mostlyaffects computers running Windows.

  • Attack target: Bitcoin Core powers the Bitcoin peer-to-peernetwork, so people who want to disrupt the network mayattack Bitcoin Core users in ways that will affect other thingsyou do with your computer, such as an attack that limits youravailable download bandwidth.

Initial Block Download(IBD)

Initial block downloadrefers to the process where nodes synchronize themselvesto the network by downloading blocks that are new to them.This will happen when a node is far behind the tip of the best block chain.In the process of IBD, a node does not accept incoming transactions nor request mempool transactions.

If you are trying to set up a new node following the instructions below, you will gothrough the IBD process at the first run, and it may take a considerable amount of time since a newnode has to download the entire block chain (which is roughly 340 gigabytes now).During the download, there could be a high usage for the network and CPU(since the node has to verify the blocks downloaded), and the client will take up anincreasing amount of storage space (reduce storage provides more details on reducing storage).

Before the node finishes IBD, you will not be able to see a new transaction related to your account untilthe client has caught up to the block containing that transaction.So your wallet may not count new payments/spendings into the balance.

If you are using Bitcoin Core GUI, you can monitor the progress of IBD in the status bar (left bottom corner).

Running A Full Node - Bitcoin (1)

Linux Instructions

The following instructions describe installing Bitcoin Core using toolsavailable in most mainstream Linux distributions. We assume you use aBourne-like shell such as bash.

Using any computer, go to the Bitcoin Core download pageand verify you have made a secure connection to the server.

Running A Full Node - Bitcoin (2)

In the “Linux (tgz)” section of the Download page, choose theappropriate file for your Linux install (either 32-bit or 64-bit) anddownload the file. If necessary, move the file to the computer you wantto use to run Bitcoin Core.

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify ReleaseSignatures link on the download page to download a signed list of SHA256file hashes. The 0.11 and later releases are signed by Wladimir J. vander Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regularkey. That key’s fingerprint is:

71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6

Even earlier releases were signed by Gavin Andresen’skey. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web oftrust or other trustworthy means. Then use PGP to verify the signatureon the release signatures file. Finally, use PGP or another utility tocompute the SHA256 hash of the archive you downloaded, and ensure thecomputed hash matches the hash listed in the verified releasesignatures file.

If you aren’t already logged into the computer you want to installBitcoin on, login now. Make sure you use an account that can use suor sudo to install software into directories owned by the root user.

If you logged in graphically, start a terminal. If you logged inanother way, we will assume you’re already in a shell.

Locate the file you downloaded and extract it using the tar commandfollowed by the argument xzf followed by the file name. The argumentxzf means eXtract the gZipped tar archive File. For example, for a64-bit tar archive in your current directory, the command is:

tar xzf bitcoin-22.0-x86_64-linux-gnu.tar.gz

This will create the directory bitcoin-22.0 within your currentworking directory. We will install the contents of its binsubdirectory into the /usr/local/bin directory using the the installcommand. The install command is part of the GNU coreutils available onnearly every Linux distribution, and the /usr/local/bin directory is astandard location for self-installed executables (you may edit thecommands below to use a different location).

If you use sudo to run commands as root, use the following commandline:

sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-22.0/bin/*

If you use su to run commands as root, use the following command line:

su -c 'install -m 0755 -o root -g root -t /usr/local/bin bitcoin-22.0/bin/*'

To continue, choose one of the following options

  1. To use Bitcoin Core Graphical User Interface (GUI), proceed to theBitcoin Core GUI section below.

  2. To use the Bitcoin Core daemon (bitcoind), which is useful forprogrammers and advanced users, proceed to the Bitcoin CoreDaemon section below.

  3. To use both the GUI and the daemon, read both the GUIinstructions and the daemoninstructions. Note that you can’t run both theGUI and the daemon at the same time using the same configurationdirectory.

Bitcoin Core GUI

In order to use Bitcoin Core GUI, you will need several librariesinstalled. All of them should be available in all majorrecently-released Linux distributions, but they may not be installed onyour computer yet. To determine whether you’re missing any libraries,open a terminal (if you haven’t already) and run the command/usr/local/bin/bitcoin-qt to start Bitcoin Core GUI.

If all the required libraries are installed, Bitcoin Core will start.If a required library is missing, an error message similar to thefollowing message will be displayed:

/usr/local/bin/bitcoin-qt: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

Search your distribution’s package database for the missing filemissing and install package containing that file. Then re-run/usr/local/bin/bitcoin-qt to see if it’s missing another file.Repeat until Bitcoin Core GUI starts.

You will be prompted to choose a directory to store the Bitcoin blockchain and your wallet. Unless you have a separate partition or driveyou want to use, click Ok to use the default.

Running A Full Node - Bitcoin (3)

Bitcoin Core GUI will begin to download the block chain. This step will take atleast several days, and it may take much more time on a slow Internet connectionor with a slow computer. During the download, Bitcoin Core will use asignificant part of your connection bandwidth. You can stop Bitcoin Core at anytime by closing it; it will resume from the point where it stopped the next timeyou start it.

Running A Full Node - Bitcoin (4)

After download is complete, you may use Bitcoin Core as your wallet oryou can just let it run to help support the Bitcoin network.

Optional: Start Your Node At Login

Starting your node automatically each time you login to your computermakes it easy for you to contribute to the network. The easiest way todo this is to tell Bitcoin Core GUI to start at login. This only worksin desktop environments that support the autostartspecification,such as Gnome, KDE, and Unity.

While running Bitcoin Core GUI, open the Settings menu and chooseOptions. On the Main tab, click Start Bitcoin on system login. Clickthe Ok button to save the new settings.

Running A Full Node - Bitcoin (5)

The next time you login to your desktop, Bitcoin Core GUI should beautomatically started as an icon in the tray.

Running A Full Node - Bitcoin (6)

If Bitcoin Core GUI does not automatically start, you may need to add itto an .xinit or .xsession file as describedhere.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Bitcoin Core Daemon

If you’re logged in as an administrative user with sudo access, you maylog out. The steps in this section should be performed as the user youwant to run Bitcoin Core. (This can be a locked account used only byBitcoin Core.) If you changed users in a graphical interface, start aterminal.

Type the following command:

bitcoind -daemon

It will print a message that Bitcoin Core is starting. To interact withBitcoin Core daemon, you will use the command bitcoin-cli (Bitcoincommand line interface).

Note: it may take up to several minutes for Bitcoin Core to start,during which it will display the following message whenever you usebitcoin-cli:

error: {"code":-28,"message":"Verifying blocks..."}

After it starts, you may find the following commands useful for basicinteraction with your node:getblockchaininfo,getnetworkinfo,getnettotals,getwalletinfo,stop, and help.

For example, to safely stop your node, run the following command:

bitcoin-cli stop

A complete list of commands is available in the Bitcoin.org developerreference.

When Bitcoin Core daemon first starts, it will begin to download the blockchain. This step will take at least several days, and it may take much more timeon a slow Internet connection or with a slow computer. During the download,Bitcoin Core will use a significant part of your connection bandwidth. You canstop Bitcoin Core at any time using the stop command; it will resume from thepoint where it stopped the next time you start it.

Optional: Start Your Node At Boot

Starting your node automatically each time your computer boots makes iteasy for you to contribute to the network. The easiest way to do thisis to start Bitcoin Core daemon from your crontab. To edit yourcrontab on most distributions, run the following command:

crontab -e

Scroll to the bottom of the file displayed and add the following line:

@reboot bitcoind -daemon

Save the file and exit; the updated crontab file will be installed foryou. On most distributions, this will cause Bitcoin Core daemon to beautomatically started each time you reboot your computer.

If you’re a expert system administrator and want to use an init script instead, seethe init scripts directory in Bitcoin Core’s source tree.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Windows Instructions

Windows 10

Go to the Bitcoin Core download page and verify you havemade a secure connection to the server.

Running A Full Node - Bitcoin (7)

Click the large blue Download Bitcoin Core button to download theBitcoin Core installer to your desktop.

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify ReleaseSignatures link on the download page to download a signed list of SHA256file hashes. The 0.11 and later releases are signed by Wladimir J. vander Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regularkey. That key’s fingerprint is:

Even earlier releases were signed by Gavin Andresen’skey. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web oftrust or other trustworthy means. Then use PGP to verify the signatureon the release signatures file. Finally, use PGP or another utility tocompute the SHA256 hash of the archive you downloaded, and ensure thecomputed hash matches the hash listed in the verified releasesignatures file.

After downloading the file to your desktop or your Downloads folder(C:\Users\<YOUR USER NAME>\Downloads), run it by double-clicking its icon.Windows will ask you to confirm that you want to run it. Click Yes and theBitcoin installer will start. It’s a typical Windows installer, and it willguide you through the decisions you need to make about where to install BitcoinCore.

Running A Full Node - Bitcoin (8)

To continue, choose one of the following options

  1. If you want to use the Bitcoin Core Graphical User Interface (GUI),proceed to the Bitcoin Core GUI section below.

  2. If you want to use the Bitcoin Core daemon (bitcoind), which isuseful for programmers and advanced users, proceed to the BitcoinCore Daemon section below.

  3. If you want to use both the GUI and the daemon, read both the GUIinstructions and the daemoninstructions. Note that you can’t run both the GUIand the daemon at the same time using the same configurationdirectory.

Bitcoin Core GUI

Press the Windows key (⊞ Win) and start typing “bitcoin”. When theBitcoin Core icon appears (as shown below), click on it.

Running A Full Node - Bitcoin (9)

You will be prompted to choose a directory to store the Bitcoin blockchain and your wallet. Unless you have a separate partition or driveyou want to use, click Ok to use the default.

Running A Full Node - Bitcoin (10)

Your firewall may block Bitcoin Core from making outbound connections.It’s safe to allow Bitcoin Core to use all networks. (Note: you willstill need to configure inbound connections as described later in theNetwork Configuration section.)

Running A Full Node - Bitcoin (11)

Bitcoin Core GUI will begin to download the block chain. This step will take atleast several days, and it may take much more time on a slow Internet connectionor with a slow computer. During the download, Bitcoin Core will use asignificant part of your connection bandwidth. You can stop Bitcoin Core at anytime by closing it; it will resume from the point where it stopped the next timeyou start it.

Running A Full Node - Bitcoin (12)

After download is complete, you may use Bitcoin Core as your wallet oryou can just let it run to help support the Bitcoin network.

Optional: Start Your Node At Login

Starting your node automatically each time you login to your computermakes it easy for you to contribute to the network. The easiest wayto do this is to tell Bitcoin Core GUI to start at login.

While running Bitcoin Core GUI, open the Settings menu and chooseOptions. On the Main tab, click Start Bitcoin on system login. Clickthe Ok button to save the new settings.

Running A Full Node - Bitcoin (13)

The next time you login to your desktop, Bitcoin Core GUI will beautomatically started minimized in the task bar.

Warning: to prevent data corruption, do not force shutdown of yourcomputer from the Windows shutdown screen when you have BitcoinCore running.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Bitcoin Core Daemon

To start Bitcoin Core daemon, first open a command window: press theWindows key (⊞ Win) and type “cmd”. Choose the option labeled“Command Prompt”.

Running A Full Node - Bitcoin (14)

If you installed Bitcoin Core into the default directory, type thefollowing at the command prompt:

C:\Program Files\Bitcoin\daemon\bitcoind

Bitcoin Core daemon should start. To interact with Bitcoin Core daemon, you willuse the command bitcoin-cli (Bitcoin command line interface). If youinstalled Bitcoin Core into the default location, type the following at thecommand prompt to see whether it works:

C:\Program Files\Bitcoin\daemon\bitcoin-cli getblockchaininfo

Note: it may take up to several minutes for Bitcoin Core to start,during which it will display the following message whenever you usebitcoin-cli:

error: {"code":-28,"message":"Verifying blocks..."}

After it starts, you may find the following commands useful for basicinteraction with your node:getblockchaininfo,getnetworkinfo,getnettotals,getwalletinfo,stop, and help.

For example, to safely stop your node, run the following command:

C:\Program Files\Bitcoin\daemon\bitcoin-cli stop

A complete list of commands is available in the Bitcoin.org developerreference.

When Bitcoin Core daemon first starts, it will begin to download the blockchain. This step will take at least several days, and it may take much more timeon a slow Internet connection or with a slow computer. During the download,Bitcoin Core will use a significant part of your connection bandwidth. You canstop Bitcoin Core at any time using the stop command; it will resume from thepoint where it stopped the next time you start it.

Optional: Start Your Node At Boot

Starting your node automatically each time your computer boots makes iteasy for you to contribute to the network. The easiest way to do thisis to start Bitcoin Core daemon when you login to your computer.

Start File Explorer and go to:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Right-click on the File Explorer window and choose New → Text file.Name the file start_bitcoind.bat. Then right-click on it and chooseOpen in Notepad (or whatever editor you prefer). Copy and paste thefollowing line into the file.

C:\Program Files\Bitcoin\daemon\bitcoind

(If you installed Bitcoin Core in a non-default directory, use thatdirectory path instead.)

Save the file. The next time you login to your computer, Bitcoin Coredaemon will be automatically started.

Warning: to prevent data corruption, do not force shutdown of yourcomputer from the Windows shutdown screen when you have BitcoinCore running.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Windows 8.x

Go to the Bitcoin Core download page and verify you havemade a secure connection to the server.

Running A Full Node - Bitcoin (15)

Click the large blue Download Bitcoin Core button to download theBitcoin Core installer to your desktop.

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify ReleaseSignatures link on the download page to download a signed list of SHA256file hashes. The 0.11 and later releases are signed by Wladimir J. vander Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regularkey. That key’s fingerprint is:

71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6

Even earlier releases were signed by Gavin Andresen’skey. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web oftrust or other trustworthy means. Then use PGP to verify the signatureon the release signatures file. Finally, use PGP or another utility tocompute the SHA256 hash of the archive you downloaded, and ensure thecomputed hash matches the hash listed in the verified releasesignatures file.

After downloading the file to your desktop or your Downloads folder(C:\Users\<YOUR USER NAME>\Downloads), run it by double-clicking its icon.Windows will ask you to confirm that you want to run it. Click Yes and theBitcoin installer will start. It’s a typical Windows installer, and it willguide you through the decisions you need to make about where to install BitcoinCore.

Running A Full Node - Bitcoin (16)

To continue, choose one of the following options

  1. If you want to use the Bitcoin Core Graphical User Interface (GUI),proceed to the Bitcoin Core GUI section below.

  2. If you want to use the Bitcoin Core daemon (bitcoind), which isuseful for programmers and advanced users, proceed to the BitcoinCore Daemon section below.

  3. If you want to use both the GUI and the daemon, read both the GUIinstructions and the daemoninstructions. Note that you can’t run both the GUIand the daemon at the same time using the same configurationdirectory.

Bitcoin Core GUI

Press the Windows key (⊞ Win) and start typing “bitcoin”. When theBitcoin Core icon appears (as shown below), click on it.

Running A Full Node - Bitcoin (17)

You will be prompted to choose a directory to store the Bitcoin blockchain and your wallet. Unless you have a separate partition or driveyou want to use, click Ok to use the default.

Running A Full Node - Bitcoin (18)

Your firewall may block Bitcoin Core from making outbound connections.It’s safe to allow Bitcoin Core to use all networks. (Note: you willstill need to configure inbound connections as described later in theNetwork Configuration section.)

Running A Full Node - Bitcoin (19)

Bitcoin Core GUI will begin to download the block chain. This step will take atleast several days, and it may take much more time on a slow Internet connectionor with a slow computer. During the download, Bitcoin Core will use asignificant part of your connection bandwidth. You can stop Bitcoin Core at anytime by closing it; it will resume from the point where it stopped the next timeyou start it.

Running A Full Node - Bitcoin (20)

After download is complete, you may use Bitcoin Core as your wallet oryou can just let it run to help support the Bitcoin network.

Optional: Start Your Node At Login

Starting your node automatically each time you login to your computermakes it easy for you to contribute to the network. The easiest wayto do this is to tell Bitcoin Core GUI to start at login.

While running Bitcoin Core GUI, open the Settings menu and chooseOptions. On the Main tab, click Start Bitcoin on system login. Clickthe Ok button to save the new settings.

Running A Full Node - Bitcoin (21)

The next time you login to your desktop, Bitcoin Core GUI will beautomatically started minimized in the task bar.

Warning: to prevent data corruption, do not force shutdown of yourcomputer from the Windows shutdown screen when you have BitcoinCore running.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Bitcoin Core Daemon

To start Bitcoin Core daemon, first open a command window: press theWindows key (⊞ Win) and type “cmd”. Choose the option labeled“Command Prompt”.

Running A Full Node - Bitcoin (22)

If you installed Bitcoin Core into the default directory, type thefollowing at the command prompt:

C:\Program Files\Bitcoin\daemon\bitcoind

Bitcoin Core daemon should start. To interact with Bitcoin Core daemon, you willuse the command bitcoin-cli (Bitcoin command line interface). If youinstalled Bitcoin Core into the default location, type the following at thecommand prompt to see whether it works:

C:\Program Files\Bitcoin\daemon\bitcoin-cli getblockchaininfo

Note: it may take up to several minutes for Bitcoin Core to start,during which it will display the following message whenever you usebitcoin-cli:

error: {"code":-28,"message":"Verifying blocks..."}

After it starts, you may find the following commands useful for basicinteraction with your node:getblockchaininfo,getnetworkinfo,getnettotals,getwalletinfo,stop, and help.

For example, to safely stop your node, run the following command:

C:\Program Files\Bitcoin\daemon\bitcoin-cli stop

A complete list of commands is available in the Bitcoin.org developerreference.

When Bitcoin Core daemon first starts, it will begin to download the blockchain. This step will take at least several days, and it may take much more timeon a slow Internet connection or with a slow computer. During the download,Bitcoin Core will use a significant part of your connection bandwidth. You canstop Bitcoin Core at any time using the stop command; it will resume from thepoint where it stopped the next time you start it.

Optional: Start Your Node At Boot

Starting your node automatically each time your computer boots makes iteasy for you to contribute to the network. The easiest way to do thisis to start Bitcoin Core daemon when you login to your computer.

Start File Explorer and go to:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Right-click on the File Explorer window and choose New → Text file.Name the file start_bitcoind.bat. Then right-click on it and chooseOpen in Notepad (or whatever editor you prefer). Copy and paste thefollowing line into the file.

C:\Program Files\Bitcoin\daemon\bitcoind

(If you installed Bitcoin Core in a non-default directory, use thatdirectory path instead.)

Save the file. The next time you login to your computer, Bitcoin Coredaemon will be automatically started.

Warning: to prevent data corruption, do not force shutdown of yourcomputer from the Windows shutdown screen when you have BitcoinCore running.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Windows 7

Go to the Bitcoin Core download page and verify you havemade a secure connection to the server.

Running A Full Node - Bitcoin (23)

Click the large blue Download Bitcoin Core button to download theBitcoin Core installer to your desktop.

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify ReleaseSignatures link on the download page to download a signed list of SHA256file hashes. The 0.11 and later releases are signed by Wladimir J. vander Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regularkey. That key’s fingerprint is:

71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6

Even earlier releases were signed by Gavin Andresen’skey. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web oftrust or other trustworthy means. Then use PGP to verify the signatureon the release signatures file. Finally, use PGP or another utility tocompute the SHA256 hash of the archive you downloaded, and ensure thecomputed hash matches the hash listed in the verified releasesignatures file.

After downloading the file to your desktop or your Downloads folder(C:\Users\<YOUR USER NAME>\Downloads), run it by double-clicking its icon.Windows will ask you to confirm that you want to run it. Click Yes and theBitcoin installer will start. It’s a typical Windows installer, and it willguide you through the decisions you need to make about where to install BitcoinCore.

Running A Full Node - Bitcoin (24)

To continue, choose one of the following options

  1. If you want to use the Bitcoin Core Graphical User Interface (GUI),proceed to the Bitcoin Core GUI section below.

  2. If you want to use the Bitcoin Core daemon (bitcoind), which isuseful for programmers and advanced users, proceed to the BitcoinCore Daemon section below.

  3. If you want to use both the GUI and the daemon, read both the GUIinstructions and the daemoninstructions. Note that you can’t run both the GUIand the daemon at the same time using the same configurationdirectory.

Bitcoin Core GUI

Open the Start menu, type bitcoin into the search box, and click theBitcoin Core icon.

Running A Full Node - Bitcoin (25)

You will be prompted to choose a directory to store the Bitcoin blockchain and your wallet. Unless you have a separate partition or driveyou want to use, click Ok to use the default.

Running A Full Node - Bitcoin (26)

Your firewall may block Bitcoin Core from making outbound connections.It’s safe to allow Bitcoin Core to use all networks. (Note: you willstill need to configure inbound connections as described later in theNetwork Configuration section.)

Running A Full Node - Bitcoin (27)

Bitcoin Core GUI will begin to download the block chain. This step will take atleast several days, and it may take much more time on a slow Internet connectionor with a slow computer. During the download, Bitcoin Core will use asignificant part of your connection bandwidth. You can stop Bitcoin Core at anytime by closing it; it will resume from the point where it stopped the next timeyou start it.

Running A Full Node - Bitcoin (28)

After download is complete, you may use Bitcoin Core as your wallet oryou can just let it run to help support the Bitcoin network.

Optional: Start Your Node At Login

Starting your node automatically each time you login to your computermakes it easy for you to contribute to the network. The easiest wayto do this is to tell Bitcoin Core GUI to start at login.

While running Bitcoin Core GUI, open the Settings menu and chooseOptions. On the Main tab, click Start Bitcoin on system login. Clickthe Ok button to save the new settings.

Running A Full Node - Bitcoin (29)

The next time you login to your desktop, Bitcoin Core GUI will beautomatically started minimized in the task bar.

Warning: to prevent data corruption, do not force shutdown of yourcomputer from the Windows shutdown screen when you have BitcoinCore running.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Bitcoin Core Daemon

To start Bitcoin Core daemon, first open a command window: press theWindows key (⊞ Win) and type “cmd”. Choose the program named “cmd.exe”

Running A Full Node - Bitcoin (30)

If you installed the Bitcoin Core into the default directory, type the following at the command prompt :

C:\Program Files\Bitcoin\daemon\bitcoind

Bitcoin Core daemon should start. You can now try using Bitcoin Cli Utility.

To interact with Bitcoin Core daemon, you will use the command bitcoin-cli(Bitcoin command line interface). If you installed Bitcoin Core into the defaultlocation, type the following at the command prompt to see whether it works:

C:\Program Files\Bitcoin\daemon\bitcoin-cli getblockchaininfo

Note: it may take up to several minutes for Bitcoin Core to start,during which it will display the following message whenever you usebitcoin-cli:

error: {"code":-28,"message":"Verifying blocks..."}

After it starts, you may find the following commands useful for basicinteraction with your node:getblockchaininfo,getnetworkinfo,getnettotals,getwalletinfo,stop, and help.

For example, to safely stop your node, run the following command:

C:\Program Files\Bitcoin\daemon\bitcoin-cli stop

A complete list of commands is available in the Bitcoin.org developerreference.

When Bitcoin Core daemon first starts, it will begin to download the blockchain. This step will take at least several days, and it may take much more timeon a slow Internet connection or with a slow computer. During the download,Bitcoin Core will use a significant part of your connection bandwidth. You canstop Bitcoin Core at any time using the stop command; it will resume from thepoint where it stopped the next time you start it.

Optional: Start Your Node At Boot

Starting your node automatically each time your computer boots makes it easy for you to contribute to the network. The easiest way to do this is to start Bitcoin Core daemon when you login to your computer.

Start File Explorer and go to:

C:\Users\Example\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartUp

You can also access this folder by executing the following command after reaching the Execute... prompt :

shell:startup

Right-click on the File Explorer window and choose New → Text file. Name the file start_bitcoind.bat. Then right-click on it and choose Open in Notepad (or whatever editor you prefer). Copy and paste the following line into the file.

C:\Program Files\Bitcoin\daemon\bitcoind

(If you installed Bitcoin Core in a non-default directory, use that directory path instead.)

Save the file. The next time you login to your computer, Bitcoin Core daemon will be automatically started.

Warning: to prevent data corruption, do not force shutdown of yourcomputer from the Windows shutdown screen when you have BitcoinCore running.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Mac OS X Instructions

Mac OS X Yosemite 10.10.x+

Go to the Bitcoin Core download page and verify you havemade a secure connection to the server.

Running A Full Node - Bitcoin (31)

Click the large blue Download Bitcoin Core button to download theBitcoin Core installer to your Downloads folder.

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify ReleaseSignatures link on the download page to download a signed list of SHA256file hashes. The 0.11 and later releases are signed by Wladimir J. vander Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regularkey. That key’s fingerprint is:

71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6

Even earlier releases were signed by Gavin Andresen’skey. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web oftrust or other trustworthy means. Then use PGP to verify the signatureon the release signatures file. Finally, use PGP or another utility tocompute the SHA256 hash of the archive you downloaded, and ensure thecomputed hash matches the hash listed in the verified releasesignatures file.

After downloading the file to your Downloads folder(/Users/<YOUR USER NAME>/Downloads), run it by double-clickingits icon. OS X will open a Finder window for you to drag Bitcoin Core to yourApplications folder.

Running A Full Node - Bitcoin (32)

Bitcoin Core GUI

The first time running Bitcoin Core, Max OS X will ask you to confirm thatyou want to run it:

Running A Full Node - Bitcoin (33)

You will be prompted to choose a directory to store the Bitcoin blockchain and your wallet. Unless you have a separate partition or driveyou want to use, click Ok to use the default.

Running A Full Node - Bitcoin (34)

Bitcoin Core GUI will begin to download the block chain. This step will take atleast several days, and it may take much more time on a slow Internet connectionor with a slow computer. During the download, Bitcoin Core will use asignificant part of your connection bandwidth. You can stop Bitcoin Core at anytime by closing it; it will resume from the point where it stopped the next timeyou start it.

Running A Full Node - Bitcoin (35)

After download is complete, you may use Bitcoin Core as your wallet oryou can just let it run to help support the Bitcoin network.

Optional: Start Your Node At Login

Starting your node automatically each time you login to your computermakes it easy for you to contribute to the network. The easiest wayto do this is to tell Bitcoin Core GUI to start at login.

While running Bitcoin Core GUI, open the Bitcoin Core menu and choosePreferences. On the Main tab, click Start Bitcoin on system login. Clickthe Ok button to save the new settings.

Running A Full Node - Bitcoin (36)

The next time you login to your desktop, Bitcoin Core GUI will beautomatically started minimized in the task bar.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Bitcoin Core Daemon

The Bitcoin Core daemon (bitcoind) is not included in the .dmg file you may have downloaded to install Bitcoin-QT. Bitcoind, along with its support binaries, is instead included in the OS X .tar.gz file listed on the official Bitcoin Core download page. To download this file using Terminal, execute the following command:

curl -O https://bitcoin.org/bin/bitcoin-core-22.0/bitcoin-22.0-osx64.tar.gz

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify ReleaseSignatures link on the download page to download a signed list of SHA256file hashes. The 0.11 and later releases are signed by Wladimir J. vander Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regularkey. That key’s fingerprint is:

71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6

Even earlier releases were signed by Gavin Andresen’skey. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web oftrust or other trustworthy means. Then use PGP to verify the signatureon the release signatures file. Finally, use PGP or another utility tocompute the SHA256 hash of the archive you downloaded, and ensure thecomputed hash matches the hash listed in the verified releasesignatures file.

Extract bitcoind and its support binaries from the archive we just downloaded by running this command in Terminal:

tar -zxf bitcoin-22.0-osx64.tar.gz

Now we’ll move the executables into your default path to make running and stopping bitcoind easier. To move the executables, run these commands (note that we have to use sudo to perform these commands since we are modifying directories owned by root):

sudo mkdir -p /usr/local/binsudo cp bitcoin-22.0/bin/bitcoin* /usr/local/bin/.

To clean up the directory we’ve been working in, run:

rm -rf bitcoin-22.0*

You should now be able to start up your full node by running bitcoind -daemon in any Terminal window. If you need to stop bitcoind for any reason, the command is bitcoin-cli stop

Optional: Start Your Node At Login

Starting your node automatically each time you login to your computer makes it easy for you to contribute to the network. The easiest way to do this is to tell Bitcoin Core Daemon to start at login. In OS X, the way to start background programs at login is using a Launch Agent. Here is how to install a Launch Agent for Bitcoin Core daemon on your machine:

mkdir ~/Library/LaunchAgentscurl https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/init/org.bitcoin.bitcoind.plist > ~/Library/LaunchAgents/org.bitcoin.bitcoind.plist

The next time you login to your desktop, Bitcoin Core daemon will be automatically started.

You have now completed installing Bitcoin Core. If you have any questions, please ask in one of Bitcoin’s many communities, such as Bitcoin StackExchange, BitcoinTalk technical support, or the #bitcoin IRC chatroom on Freenode.

To support the Bitcoin network, you also need to allow incomingconnections. Please read the NetworkConfiguration section for details.

Upgrading Bitcoin Core

If you are running an older version, shut it down. Wait until it has completelyshut down (which might take a few minutes for older versions), then run theinstaller (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) orbitcoind/bitcoin-qt (on Linux).

The blockchain and wallet files in the data directory are compatible betweenversions so there is no requirement to make any changes to the data directorywhen upgrading. Occasionally the format of those files changes, but the newBitcoin Core version will include code that automatically upgrades the files tothe new format so no manual intervention is required.

Sometimes upgrade of the blockchain data files from very old versions to the newversions is not supported. In those cases it may be necessary to redownload theblockchain. Check the release notes of the new version if you are planning toupgrade from a very old version.

Sometimes downgrade is not possible because of changes to the data files. Again,check the release notes for the new version if you are planning to downgrade.

Network Configuration

If you want to support the Bitcoin network, you must allow inboundconnections.

When Bitcoin Core starts, it establishes 10 outbound connections to otherfull nodes so it can download the latest blocks and transactions. If youjust want to use your full node as a wallet, you don’t need more thanthese 10 connections—but if you want to support lightweight clients andother full nodes on the network, you must allow inbound connections.

Servers connected directly to the Internet usually don’t require anyspecial configuration. You can use the testing instructions below toconfirm your server-based node accepts inbound connections.

Home connections are usually filtered by a router or modem. BitcoinCore will request your router automatically configure itself to allowinbound connections to Bitcoin’s port, port 8333. Unfortunately manyrouters don’t allow automatic configuration, so you must manuallyconfigure your router. You may also need to configure your firewall toallow inbound connections to port 8333. Please see the followingsubsections for details.

Testing Connections

The BitNodes project provides an online tool to let you test whetheryour node accepts inbound connections. Before using BitNodes, you must firstensure that your node is fully synced with the block chain. Once you’ve done so,start Bitcoin Core (either the GUI or the daemon), wait 10 minutes, and thenvisit the Bitnodes page. The toolwill attempt to guess your IP address—if the address is wrong (orblank), you will need to enter your address manually.

Running A Full Node - Bitcoin (37)

After you press Check Node, the tool will inform you whether your portis open (green box) or not open (red box). If you get the green box, youdon’t need to do anything—you accept inbound connections. If you getthe red box, please read the enablingconnections subsection.

For confirmation that you accept inbound connections, you can useBitcoin Core. Bitcoin Core can’t tell you directly whether you allowinbound connections, but it can tell you whether or not you currentlyhave any inbound connections. If your node has been online for at least30 minutes, it should normally have inbound connections. If want tocheck your peer info using Bitcoin Core, choose the appropriateinstructions below:

  • Peer info in Bitcoin Core GUI

  • Peer info in Bitcoin Core daemon

GUI Peer Info

In the bottom right corner of the Bitcoin Core GUI are several icons.If you hover over the signal strength icon, it will tell you how manyconnections you have. The icon won’t turn green until you have morethan 10 active connections, which only happens if inbound connectionsare allowed.

Running A Full Node - Bitcoin (38)

For confirmation, you can go to the Help menu, choose Debug Window, andopen the Information tab. In the Network section, it will tell youexactly how many inbound connections you have. If the number is greaterthan zero, then inbound connections are allowed.

Running A Full Node - Bitcoin (39)

If you don’t have inbound connections, please read the instructions for enabling inboundconnections.

Daemon Peer Info

The getconnectioncountcommand will tell you how many connections you have. If you have morethan 10 connections, inbound connections are allowed. For example:

$ bitcoin-cli getconnectioncount52

For confirmation, you can use thegetpeerinfo command to getinformation about all of your peers. Each peer’s details will includean inbound field set to true if the connection is inbound. If youhave any inbound connections, then inbound connections are allowed.

If you don’t have inbound connections, please read instructions for enabling inboundconnections.

Enabling Connections

If Bitcoin Core can’t automatically configure your router to open port8333, you will need to manually configure your router. We’ve tried tomake the following instructions generic enough to cover most routermodels; if you need specific help with your router, please ask for helpon a tech support site such as SuperUser.

Enabling inbound connections requires two steps, plus an extra thirdstep for firewall users:

  1. Giving your computer a static (unchanging) internal IP address byconfiguring the Dynamic Host Configuration Protocol (DHCP) on yourrouter.

  2. Forwarding inbound connections from the Internet through yourrouter to your computer where Bitcoin Core can process them.

  3. Configuring your firewall to allow inbound connections. This stepmainly applies to Windows users, as Mac OS X and most Linuxes do notenable a firewall by default.

Configuring DHCP

In order for your router to direct incoming port 8333 connections toyour computer, it needs to know your computer’s internal IP address.However, routers usually give computers dynamic IP addresses that changefrequently, so we need to ensure your router always gives your computerthe same internal IP address.

Start by logging into your router’s administration interface. Mostrouters can be configured using one of the following URLs, so keepclicking links until you find one that works. If none work, consultyour router’s manual.

Upon connecting, you will probably be prompted for a username andpassword. If you configured a password, enter it now. If not,the Router Passwords site provides adatabase of known default username and password pairs.

After logging in, you want to search your router’s menus for optionsrelated to DHCP, the Dynamic Host Configuration Protocol. These optionsmay also be called Address Reservation. For example, the router pageshown below calls the option we need “DHCP Reservation”:

Running A Full Node - Bitcoin (40)

In the reservation configuration, some routers will display a list ofcomputers and devices currently connected to your network, and then letyou select a device to make its current IP address permanent:

Running A Full Node - Bitcoin (41)

If that’s the case, find the computer running Bitcoin Core in the list,select it, and add it to the list of reserved addresses. Make a note ofits current IP address—we’ll use the address in the next section.

Other routers require a more manual configuration. For these routers,you will need to look up the fixed address (MAC address) for yourcomputer’s network card and add it to the list. This operation differsby operating system:

  • Windows 7 & 8: Press Win-R (Windows key plus the R key) to openthe Run dialog. Type cmd to open the console. Type ipconfig /all andfind the result that best matches your connection—usually a wirelessconnection. Look for a line that starts with “Physical Address” andcontains a value like this:

     Physical Address. . . . . . . . . : 01-23-45-67-89-AB

    Replace all the dashes with colons, so the address looks like this: 01:23:45:67:89:AB. Use that address in the instructions below.

  • Linux: open a terminal and type ifconfig. Find the result thatbest matches your connection—a result starting with wlan indicatesa wireless connection. Find the field that starts with HWaddr and copythe immediately following field that looks like 01:23:45:67:89:ab. Usethat value in the instructions below.

  • Mac OS X: open a terminal and type ifconfig. Find the resultthat best matches your connection—a result starting with en1usually indicates a wireless connection. Find the field that startswith ether: and copy the immediately following field that looks like01:23:45:67:89:ab. Use that value in the instructions below.

Once you have the MAC address, you can fill it into your router’smanual DHCP assignment table, as illustrated below. Also choose an IPaddress and make a note of it for the instructions in the nextsubsection. After entering this information, click the Add or Savebutton.

Running A Full Node - Bitcoin (42)

Then reboot your computer to ensure it gets assigned the address youselected and proceed to the Port Forwarding instructions below.

Port Forwarding

For this step, you need to know the local IP address of the computerrunning Bitcoin Core. You should have this information from configuringthe DHCP assignment table in the subsection above.

Login to your router using the same steps described near the top of theDHCP subsection. Look for an option called Port Forwarding, PortAssignment, or anything with “Port” in its name. On some routers,this option is buried in an Applications & Gaming menu.

The port forwarding settings should allow you to map an external port onyour router to the “internal port” of a device on your network as shownin the screenshot below.

Running A Full Node - Bitcoin (43)

Both the external port and the internal port should be 8333 for Bitcoin.(You may also want to map port 18333 for Bitcoin’s testnet, althoughthis guide does not cover using testnet.) Make sure the IP address youenter is the same one you configured in the previous subsection.

After filling in the details for the mapping, save the entry. You shouldnot need to restart anything. Start Bitcoin Core (if you haven’talready) and follow the Testing Connections instructions to testyour connection.

If you still can’t connect and you use a firewall, you probably need tochange your firewall settings. See the Firewall section below.

If something else went wrong, it’s probably a problem with your routerconfiguration. Re-read the instructions above to see if you missedanything, search the web for help with “port forwarding”, and ask forhelp on sites like SuperUser.

We can’t provide direct support, but if you see a way to improve theseinstructions, please open an issue.

Firewall Configuration

Firewalls block inbound connections. To use Bitcoin, you need toconfigure your computer’s firewall to allow connections to port 8333.This is usually as easy as starting your firewall configuration softwareand defining a new rule to allow inbound connections to port 8333. Foradditional information for Windows, see the links below:

Mac OS X comes with its firewall disabled by default, but if you haveenabled it, see the section Allowing Specific Applications from theofficial Apple guide.

Ubuntu also comes with its firewall disabled by default, but if you haveenabled it, see the Ubuntu wikipage for information aboutadding port forwarding rules.

Once you have allowed inbound connections to port 8333, start BitcoinCore (if you haven’t already) and follow the Testing Connectionsinstructions to test your connection.

If something else went wrong re-read the DHCP, port forwarding, andfirewall instructions above to see if you missed anything, search theweb for help with “port forwarding” and “opening firewall ports”, andask for help on sites like SuperUser.

We can’t provide direct support, but if you see a way to improve theseinstructions, please open an issue.

Configuration Tuning

This section contains advice about how to change your Bitcoin Coreconfiguration to adapt it to your needs.

There are two ways to change your configuration. The first is to startBitcoin Core with the options you want. For example, if you want tolimit it to using one CPU core for signature verification, you can startBitcoin Core like this:

### Bitcoin Core daemonbitcoind -par=1 -daemon### Bitcoin Core GUIbitcoin-qt -par=1

Once you’ve decided you like an option, you can add it to the BitcoinCore configuration file. You can find that file in the followingdirectories:

  • Windows: %APPDATA%\Bitcoin\

  • OSX: $HOME/Library/Application Support/Bitcoin/

  • Linux: $HOME/.bitcoin/

To add an option to the configuration file, just remove its leadingdash. You may also need to remove any quotation marks you used in your shell.For example, the -par option seen above would look like this in theconfiguration file:

par=1

A user-friendly configuration file generator is available here.If you have any questions about configuring Bitcoin Core, please stop byone of our forums or livechatrooms.

Reduce Storage

It is possible to configure your node to run in pruned mode in order toreduce storage requirements. This can reduce the disk usage from over 350GB toaround 7GB.

Running a node in pruned mode is incompatible with -txindex and -rescan. Italso disables the RPC importwallet. Two RPCs that are available andpotentially helpful, however, are importprunedfunds and removeprunedfunds.

To enable block pruning set prune=N on the command line or in bitcoin.conf,where N is the number of MiB to allot for raw block and undo data.

A value of 0 disables pruning. The minimal value above 0 is 550. Yourwallet is as secure with high values as it is with low ones. Higher valuesmerely ensure that your node will not shut down upon blockchain reorganizationsof more than 2 days - which are unlikely to happen in practice. In futurereleases, a higher value may also help the network as a whole because storedblocks could be served to other nodes.

Reduce Traffic

Some node operators need to deal with bandwidth caps imposed by their ISPs.

By default, Bitcoin Core allows up to 125 connections to different peers, 10 ofwhich are outbound. You can therefore have at most 115 inbound connections.

The default settings can result in relatively significant traffic consumption.

Ways to reduce traffic:

Maximum Upload Targets

-maxuploadtarget=<MiB per day>

A major component of the traffic is caused by serving historic blocks to other nodesduring the initial blocks download phase (syncing up a new node).This option can be specified in MiB per day and is turned off by default.This is not a hard limit; only a threshold to minimize the outboundtraffic. When the limit is about to be reached, the uploaded data is cut by nolonger serving historic blocks (blocks older than one week).Keep in mind that new nodes require other nodes that are willing to servehistoric blocks. The recommended minimum is 144 blocks per day (max. 144MiBper day)

Disable listening

-listen=0

Disabling listening will result in fewer nodes connected (remember the maximum of 10outbound peers). Fewer nodes will result in less traffic usage as you are relayingblocks and transactions to fewer nodes.

Reduce maximum connections

-maxconnections=<num>

Reducing the maximum connected nodes to a minimum could be desirable if trafficlimits are tiny. Keep in mind that Bitcoin’s trustless model works best if you areconnected to a handful of nodes.

Blocks-only mode

-blocksonly

Causes your node to stop requesting and relaying transactions unless they arepart of a block and also disables listening as described above.

This reduces your node’s bandwidth to the absolute minimum necessary to staysynchronized with the network, about 150 megabytes incoming data per day andabout 1 megabyte of outgoing data per day, but it does mean that your nodewon’t see incoming transactions until they’ve received at least one confirmation.

You will still be able to send transactions from the built-in wallet or frompeers you’ve whitelisted using the -whitelist parameter.

Running A Full Node - Bitcoin (2024)

FAQs

Is running a full Bitcoin node profitable? ›

While there are no monetary rewards, running a full Bitcoin node comes with its own intangible benefits. For example, it increases the security of transactions conducted by a user. This is especially important if you plan to conduct multiple bitcoin transactions in a day.

Is it worth running a Bitcoin node? ›

Running your own Bitcoin node allows you to preserve your privacy and bolster your security. It also allows you to prove that no one is manipulating the Bitcoin network or changing its rules.

How much does it cost to run Bitcoin full node? ›

So, the node alone costs $0.125 per day to run. That's $3.74 per month or $45.55 per year for electricity alone.

What does it mean to run a full Bitcoin node? ›

According to Bitcoin Core documentation, “a full node is a program that fully validates transactions and blocks. Almost all full nodes also support the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.”

What crypto nodes pay the most? ›

Crypto Nodes That Pay
  • Alchemy.
  • All That Node.
  • Ankr.
  • BlockDaemon.
  • Chainstack.
  • DataHub.
  • GetBlock.
  • InfStones.
Jan 23, 2023

How many coins does it take to run a node? ›

To create a Vapor Node, it requires a minimum of 15,000 tokens which at their current price of .

How much strong do I need to buy a node? ›

STRONG allows you to set up nodes that offer rewards every day. Currently,building a node requires 10 STRONG tokens(plus gas fees). Then each node will receive 0.091 STRONG tokens as a reward. This is a huge return on capital.

Can anyone run a Bitcoin node? ›

Anyone can become a Bitcoin node operator and participate in securing the network by simply downloading the Bitcoin Core software, thus making the blockchain transparent, immutable and decentralized.

Are crypto nodes risky? ›

Ethereum 2.0 validators who run their own node run the risk of losing their keys, forgetting the password, or damaging the hardware where the keys are stored. In some cases, the hardware may have been physically damaged — but it's also possible for crucial data to be lost as a result of a technical fault.

What can you do with a Bitcoin full node? ›

The main types of Bitcoin node

Full nodes store the entire blockchain and can fully verify all rules of the Bitcoin network using the Bitcoin software. A full node checks the transaction's validity against the blockchain history and the set of rules encoded in the Bitcoin software.

How much RAM do I need for Bitcoin node? ›

HARDWARE AND BANDWIDTH REQUIREMENTS:

RAM requirements: 4 GB of RAM. Bandwidth requirements: Internet connection with upload speeds of at least 50 Kbps A full node can have upload usage of over 200 GB a month and download usage of over 20 GB a month.

What you need to build a Bitcoin node? ›

If you can meet the following requirements, you'll have an easy-to-use node.
  1. Desktop or laptop hardware running recent versions of Windows, Mac OS X, or Linux.
  2. 200 gigabytes of free disk space, accessible at a minimum read/write speed of 100 MB/s.
  3. 2 gigabytes of memory (RAM)

Is running a full node the same as mining? ›

A bitcoin node vs miner is both important for the health of the Bitcoin network, but they have different roles. Miners are responsible for verifying transactions and adding them to the blockchain, while nodes keep a copy of the entire blockchain and relay transactions.

What if all Bitcoin nodes turned off? ›

Without nodes, there is no Bitcoin network.

And without the Bitcoin network, there is no blockchain since nodes are needed to store copies of the blockchain. And with no blockchain, there is no Bitcoin system.

Do I need to run a full node? ›

“Full node” refers to nodes that fully validate bitcoin's history, as opposed to non-full nodes which rely on other full nodes to do the validation. You absolutely do not need to run a full node to use Bitcoin but there are some interesting advantages to doing it.

How do full nodes get paid? ›

People who run full nodes typically do not get paid to do so. They simply run the full node because it helps the cryptocurrency preserve its blockchain, and to keep the ledger distributed. Many people who run full nodes are just cryptocurrency enthusiasts who want to make sure that cryptocurrencies run correctly.

Can you earn passive income with Bitcoin? ›

In exchange for staking your funds, PoS blockchains pay you rewards in their native cryptocurrency. Staking is one of the most basic and popular ways to earn passive cryptocurrency income. By staking your funds, you not only earn passive income but also help secure the network against spam and malicious threats.

How much pocket do you need to run a node? ›

The minimum stake at launch required to become a Service Node is 15,000 POKT. This node stake keeps nodes honest and incentivized to provide high quality service. Additionally, a node with sufficient stake allows nodes to participate in PoS consensus as a Validator Node. Per the changes in RC-0.7.

How much is one node worth? ›

The live price of Node is $ 0.0000244 per (NODE / USD) today with a current market cap of $ 24,360.00 USD.

What are the benefits of running a node? ›

You may not get the financial rewards that validators earn, but there are many other benefits of running a node for any Ethereum user to consider, including privacy, security, reduced reliance on third-party servers, censorship resistance and improved health and decentralization of the network.

What is the average node size? ›

Normal nodes are usually less than ½ inch (12 mm) across. This is the size of a pea or baked bean.

How many nodes does Bitcoin need to work? ›

And each node has a role in the network. But the Bitcoin blockchain has four primary nodes.

What equipment do I need to run a node? ›

Hardware Requirements for Bitcoin Node

A desktop or laptop hardware with at least 500 gigabytes HDD or SSD and 2 gigabytes of memory (RAM). Note that you need as much as 350 gigabytes of storage to download the entirety of the Bitcoin blockchain. Moreover, the Bitcoin blockchain grows at an average of 1 GB per week.

Can a Bitcoin node be hacked? ›

So while hacking a blockchain is possible, it's unlikely on large networks like Bitcoin or Ethereum (ETH). If a cryptocurrency hacker were to corrupt a blockchain, they'd likely focus on smaller altcoin projects.

How many Bitcoin full nodes are there? ›

Keeping Bitcoin decentralized

There are currently over 10,000 reachable full nodes distributed across the world.

Are crypto nodes taxable? ›

Crypto Capital Gains Tax rates

If you've held crypto for less than a year, you'll pay the short-term Capital Gains Tax rate. If you've held crypto for more than a year, you'll pay the long-term Capital Gains Tax rate.

Can I lose crypto by staking? ›

However, staking is not without risk. You'll earn rewards in crypto, a volatile asset that can decline in value. Sometimes, you have to lock up your crypto for a set period of time. And there is a chance that you could lose some of the cryptocurrency you've staked as a penalty if the system doesn't work as expected.

Can you lose money with yield nodes? ›

The Yieldnodes risks

And they also say all over their website that this is a risky investment. So, I am not investing ANY money that I would not be okay if I lost. But, at the same time, they have said that the loss of capital is highly unlikely because it's not trading.

How much can you make per strong node? ›

STRONG allows you to set up nodes that offer rewards every day. Currently,building a node requires 10 STRONG tokens(plus gas fees). Then each node will receive 0.091 STRONG tokens as a reward.

How much money can you make running an ETH node? ›

Compare the percentage returns available: running a validator node offers an average annualised return of around 14.2%. Staking ETH through a third-party pooled service like a staking pool can earn an average of 13%, while through an exchange is more likely to earn in the region of 12%.

What are the incentives of running a Bitcoin node? ›

The Benefits of Running a Node
  • Increased Security: By running a full node, you can help to secure the Bitcoin network by verifying transactions and blocks. ...
  • Improved Privacy: Full nodes help to improve privacy on the Bitcoin network by hiding which addresses belong to which user.
Mar 2, 2023

Top Articles
Latest Posts
Article information

Author: Barbera Armstrong

Last Updated:

Views: 6379

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Barbera Armstrong

Birthday: 1992-09-12

Address: Suite 993 99852 Daugherty Causeway, Ritchiehaven, VT 49630

Phone: +5026838435397

Job: National Engineer

Hobby: Listening to music, Board games, Photography, Ice skating, LARPing, Kite flying, Rugby

Introduction: My name is Barbera Armstrong, I am a lovely, delightful, cooperative, funny, enchanting, vivacious, tender person who loves writing and wants to share my knowledge and understanding with you.