Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rephrase networks-and-nodes.md documentation #2153

Closed
wants to merge 6 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions content/md/en/docs/learn/networks-and-nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ For example, Substrate blockchains are used to build the following network types

Blockchains require network nodes to be synchronised to present a consistent and up-to-date view of the blockchain state.
Each synchronised node stores a copy of the blockchain and keeps track of incoming transactions.
However, keeping a full copy of an entire blockchain requires a lot of storage and computing resources and downloading all of the blocks from genesis to the most recent isn’t practical for most use cases.
However, keeping a full copy of an entire blockchain requires a lot of storage and downloading all of the blocks from genesis to the most recent isn’t practical for most use cases.
To make it easier to maintain the security and integrity of the chain but reduce the resource requirements for clients wanting access to blockchain data, there are different types of nodes that can interact with the chain:

- [Full nodes](#full-nodes)
Expand All @@ -39,16 +39,16 @@ To make it easier to maintain the security and integrity of the chain but reduce
### Full nodes

Full nodes are a critical part of the blockchain network infrastructure and are the most common node type.
Full nodes store blockchain data and, typically, participate in common blockchain operations, such as authoring and validating blocks, receiving and verifying transactions, and serving data in response to user requests.
Full nodes store blockchain data and, typically, participate in common blockchain operations, such as validating blocks, receiving and verifying transactions, and serving data in response to user requests.

![Full node](/media/images/docs/full-node.png)

By default, full nodes are configured to store only the most recent 256 blocks and to discard state older than thatwith the exception of the genesis blockto prevent the full node from growing indefinitely and consuming all available disk space.
You can configure the number of blocks a full node retains.
By default, full nodes are configured to store all the blocks but only the most recent 256 states. They discard states older than thatwith the exception of the genesis blockto prevent the full node from consuming too much disk space.
You can configure the number of blocks a full node retains (see `--state-pruning` and `--blocks-pruning` options).

Although older blocks are discarded, full nodes retain all of the [block headers](/reference/glossary/#header) from the genesis block to the most recent block to validate that the state is correct.
Because the full node has access to all of the block headers, it can be used to rebuild the state of the entire blockchain by executing all of the blocks from the genesis block.
Thus it requires much more computation to retrieve information about some previous state, and an archive should generally be used instead.
Although older states are discarded, full nodes retain all the blocks from genesis to the head, allowing them to rebuild all the intermediate states.
This is achieved by taking the genesis state as initial state and executing all the blocks successively on top of if.
Retrieving information about some previous state thus requires an expensive computation which can be avoided by using an archive node, which does not discard the states.

Full nodes allow you to read the current state of the chain and to submit and validate transactions directly on the network.
By discarding state from older blocks, a full node requires much less disk space than an archive node.
Expand All @@ -57,8 +57,8 @@ If you need to query historical blocks, you should purge the full node then rest

### Archive nodes

Archive nodes are similar to full nodes except that they store all past blocks with complete state available for every block.
Archive nodes are most often used by utilitiessuch as block explorers, wallets, discussion forums, and similar applicationsthat need access to historical information.
Archive nodes are similar to full nodes except that they do not discard old states. As a result, they have complete state for every block available without computation.
For this reason, archive nodes are often used by utilitiessuch as block explorers, wallets, discussion forums, and similar applicationsthat need access to historical information.

![Archive nodes](/media/images/docs/archive-node.png)

Expand Down
Loading