mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2024-11-29 11:28:20 +00:00
CH03::running a node: update resource requirements
- Update resource requirements to their 2023 figures (and mention that they may increase in the future). - Be more precise about the minimal data a node needs, e.g. disk space requirements with pruning enabled and bandwidth in blocks-only mode. - Mention bandwidth alternatives, like Blockstream Satellite - Drop text about running on a VPS, since that's not useful to the network and not sure for anyone using a wallet.
This commit is contained in:
parent
ff1d3fb92e
commit
8e9fc4485c
@ -343,50 +343,55 @@ $ which bitcoin-cli
|
||||
((("Bitcoin Core", "running core nodes", id="BCnode03")))((("Bitcoin
|
||||
nodes", "running core nodes", id="BNcore03")))Bitcoin's peer-to-peer
|
||||
network is composed of network "nodes," run mostly by volunteers and
|
||||
some of the businesses that build bitcoin applications. Those running
|
||||
some of the businesses that provide Bitcoin services. Those running
|
||||
Bitcoin nodes have a direct and authoritative view of the Bitcoin
|
||||
blockchain, with a local copy of all the transactions, independently
|
||||
validated by their own system. By running a node, you don't have to rely
|
||||
on any third party to validate a transaction. Moreover, by running a
|
||||
Bitcoin node you contribute to the Bitcoin network by making it more
|
||||
blockchain, with a local copy of all the spendable bitcoins
|
||||
independently validated by their own system. By running a node, you
|
||||
don't have to rely on any third party to validate a transaction.
|
||||
Additionally, by running a Bitcoin node, you contribute to the Bitcoin
|
||||
network and help make it more
|
||||
robust.
|
||||
|
||||
Running a node, however, requires a permanently connected system with
|
||||
enough resources to process all Bitcoin transactions. Depending on
|
||||
whether you choose to index all transactions and keep a full copy of the
|
||||
blockchain, you may also need a lot of disk space and RAM. As of early
|
||||
2018, a full-index node needs 2 GB of RAM and a minimum of 160 GB of
|
||||
disk space (see https://blockchain.info/charts/blocks-size[]). Bitcoin
|
||||
nodes also transmit and receive bitcoin transactions and blocks,
|
||||
consuming internet bandwidth. If your internet connection is limited,
|
||||
has a low data cap, or is metered (charged by the gigabit), you should
|
||||
probably not run a Bitcoin node on it, or run it in a way that
|
||||
constrains its bandwidth (see <<constrained_resources>>).
|
||||
Running a node, however, requires downloading and processing over 500 GB
|
||||
of data initially and about 400 MB of Bitcoin transactions per day.
|
||||
These figures are for 2023 and will likely increase over time. If you
|
||||
shut down your node or get disconnected from the internet for several
|
||||
days, your node will need to download the data that it missed. For
|
||||
example, if you close Bitcoin Core for ten days, you will need to
|
||||
download approximately 4 GB the next time you start it.
|
||||
|
||||
Depending on whether you choose to index all transactions and keep a
|
||||
full copy of the blockchain, you may also need a lot of disk space---at
|
||||
least 1 TB if you plan to run Bitcoin Core for several years. By
|
||||
default, Bitcoin nodes also transmit transactions and blocks to other
|
||||
nodes (called "peers"), consuming upload internet bandwidth. If your
|
||||
internet connection is limited, has a low data cap, or is metered
|
||||
(charged by the gigabit), you should probably not run a Bitcoin node on
|
||||
it, or run it in a way that constrains its bandwidth (see
|
||||
<<constrained_resources>>). You may connect your node instead to an
|
||||
alternative network, such as a free satellite data provider like
|
||||
https://blockstream.com/satellite/[Blockstream Satellite].
|
||||
|
||||
[TIP]
|
||||
====
|
||||
((("warnings and cautions", "core node resource
|
||||
requirements")))((("resource requirements")))Bitcoin Core keeps a full
|
||||
copy of the blockchain by default, with every transaction that has ever
|
||||
occurred on the Bitcoin network since its inception in 2009. This
|
||||
dataset is dozens of gigabytes in size and is downloaded incrementally
|
||||
over several days or weeks, depending on the speed of your CPU and
|
||||
copy of the blockchain by default, with nearly every transaction that has ever
|
||||
been confirmed on the Bitcoin network since its inception in 2009. This
|
||||
dataset is hundreds of gigabytes in size and is downloaded incrementally
|
||||
over several hours or days, depending on the speed of your CPU and
|
||||
internet connection. Bitcoin Core will not be able to process
|
||||
transactions or update account balances until the full blockchain
|
||||
dataset is downloaded. Make sure you have enough disk space, bandwidth,
|
||||
and time to complete the initial synchronization. You can configure
|
||||
Bitcoin Core to reduce the size of the blockchain by discarding old
|
||||
blocks (see <<constrained_resources>>), but it will still download the
|
||||
entire dataset before discarding data.
|
||||
entire dataset.
|
||||
====
|
||||
|
||||
Despite these resource requirements, thousands of volunteers run Bitcoin
|
||||
Despite these resource requirements, thousands of people run Bitcoin
|
||||
nodes. Some are running on systems as simple as a Raspberry Pi (a $35
|
||||
USD computer the size of a pack of cards). Many volunteers also run
|
||||
Bitcoin nodes on rented servers, usually some variant of Linux. A
|
||||
_Virtual Private Server_ (VPS) or _Cloud Computing Server_ instance can
|
||||
be used to run a Bitcoin node. Such servers can be rented for $25 to $50
|
||||
USD per month from a variety of providers.
|
||||
USD computer the size of a pack of cards).
|
||||
|
||||
Why would you want to run a node? Here are some of the most common
|
||||
reasons:
|
||||
|
Loading…
Reference in New Issue
Block a user