mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2025-02-18 10:32:05 +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
|
((("Bitcoin Core", "running core nodes", id="BCnode03")))((("Bitcoin
|
||||||
nodes", "running core nodes", id="BNcore03")))Bitcoin's peer-to-peer
|
nodes", "running core nodes", id="BNcore03")))Bitcoin's peer-to-peer
|
||||||
network is composed of network "nodes," run mostly by volunteers and
|
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
|
Bitcoin nodes have a direct and authoritative view of the Bitcoin
|
||||||
blockchain, with a local copy of all the transactions, independently
|
blockchain, with a local copy of all the spendable bitcoins
|
||||||
validated by their own system. By running a node, you don't have to rely
|
independently validated by their own system. By running a node, you
|
||||||
on any third party to validate a transaction. Moreover, by running a
|
don't have to rely on any third party to validate a transaction.
|
||||||
Bitcoin node you contribute to the Bitcoin network by making it more
|
Additionally, by running a Bitcoin node, you contribute to the Bitcoin
|
||||||
|
network and help make it more
|
||||||
robust.
|
robust.
|
||||||
|
|
||||||
Running a node, however, requires a permanently connected system with
|
Running a node, however, requires downloading and processing over 500 GB
|
||||||
enough resources to process all Bitcoin transactions. Depending on
|
of data initially and about 400 MB of Bitcoin transactions per day.
|
||||||
whether you choose to index all transactions and keep a full copy of the
|
These figures are for 2023 and will likely increase over time. If you
|
||||||
blockchain, you may also need a lot of disk space and RAM. As of early
|
shut down your node or get disconnected from the internet for several
|
||||||
2018, a full-index node needs 2 GB of RAM and a minimum of 160 GB of
|
days, your node will need to download the data that it missed. For
|
||||||
disk space (see https://blockchain.info/charts/blocks-size[]). Bitcoin
|
example, if you close Bitcoin Core for ten days, you will need to
|
||||||
nodes also transmit and receive bitcoin transactions and blocks,
|
download approximately 4 GB the next time you start it.
|
||||||
consuming internet bandwidth. If your internet connection is limited,
|
|
||||||
has a low data cap, or is metered (charged by the gigabit), you should
|
Depending on whether you choose to index all transactions and keep a
|
||||||
probably not run a Bitcoin node on it, or run it in a way that
|
full copy of the blockchain, you may also need a lot of disk space---at
|
||||||
constrains its bandwidth (see <<constrained_resources>>).
|
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]
|
[TIP]
|
||||||
====
|
====
|
||||||
((("warnings and cautions", "core node resource
|
((("warnings and cautions", "core node resource
|
||||||
requirements")))((("resource requirements")))Bitcoin Core keeps a full
|
requirements")))((("resource requirements")))Bitcoin Core keeps a full
|
||||||
copy of the blockchain by default, with every transaction that has ever
|
copy of the blockchain by default, with nearly every transaction that has ever
|
||||||
occurred on the Bitcoin network since its inception in 2009. This
|
been confirmed on the Bitcoin network since its inception in 2009. This
|
||||||
dataset is dozens of gigabytes in size and is downloaded incrementally
|
dataset is hundreds of gigabytes in size and is downloaded incrementally
|
||||||
over several days or weeks, depending on the speed of your CPU and
|
over several hours or days, depending on the speed of your CPU and
|
||||||
internet connection. Bitcoin Core will not be able to process
|
internet connection. Bitcoin Core will not be able to process
|
||||||
transactions or update account balances until the full blockchain
|
transactions or update account balances until the full blockchain
|
||||||
dataset is downloaded. Make sure you have enough disk space, bandwidth,
|
dataset is downloaded. Make sure you have enough disk space, bandwidth,
|
||||||
and time to complete the initial synchronization. You can configure
|
and time to complete the initial synchronization. You can configure
|
||||||
Bitcoin Core to reduce the size of the blockchain by discarding old
|
Bitcoin Core to reduce the size of the blockchain by discarding old
|
||||||
blocks (see <<constrained_resources>>), but it will still download the
|
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
|
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
|
USD computer the size of a pack of cards).
|
||||||
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.
|
|
||||||
|
|
||||||
Why would you want to run a node? Here are some of the most common
|
Why would you want to run a node? Here are some of the most common
|
||||||
reasons:
|
reasons:
|
||||||
|
Loading…
Reference in New Issue
Block a user