From 8c78c4d26868b686c6c1bb0604848cce41479f4a Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux Date: Tue, 14 May 2024 10:15:20 +0200 Subject: [PATCH 1/6] Update networks-and-nodes.md --- content/md/en/docs/learn/networks-and-nodes.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/md/en/docs/learn/networks-and-nodes.md b/content/md/en/docs/learn/networks-and-nodes.md index 6bbe210f5..0aa44fa17 100644 --- a/content/md/en/docs/learn/networks-and-nodes.md +++ b/content/md/en/docs/learn/networks-and-nodes.md @@ -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) @@ -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 that—with the exception of the genesis block—to 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 that — with the exception of the genesis block — to prevent the full node from consuming too much disk space. +You can configure the number of blocks a full node retains (see `--{state,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 to rebuild all the intermediate states. +It 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. @@ -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 utilities—such as block explorers, wallets, discussion forums, and similar applications—that 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 utilities — such as block explorers, wallets, discussion forums, and similar applications — that need access to historical information. ![Archive nodes](/media/images/docs/archive-node.png) From 3e59b5ae6ecd489c81a5997ce27706fa5d42e294 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux Date: Fri, 24 May 2024 21:45:24 +0200 Subject: [PATCH 2/6] Update content/md/en/docs/learn/networks-and-nodes.md no need to save a few characters, it's more clear here Co-authored-by: Shawn Tabrizi --- content/md/en/docs/learn/networks-and-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/md/en/docs/learn/networks-and-nodes.md b/content/md/en/docs/learn/networks-and-nodes.md index 0aa44fa17..8021c923b 100644 --- a/content/md/en/docs/learn/networks-and-nodes.md +++ b/content/md/en/docs/learn/networks-and-nodes.md @@ -44,7 +44,7 @@ Full nodes store blockchain data and, typically, participate in common blockchai ![Full node](/media/images/docs/full-node.png) By default, full nodes are configured to store all the blocks but only the most recent 256 states. They discard states older than that — with the exception of the genesis block — to prevent the full node from consuming too much disk space. -You can configure the number of blocks a full node retains (see `--{state,blocks}-pruning` options). +You can configure the number of blocks a full node retains (see `--state-pruning` and `--blocks-pruning` options). Although older states are discarded, full nodes retain all the blocks from genesis to the head, allowing to rebuild all the intermediate states. It is achieved by taking the genesis state as initial state and executing all the blocks successively on top of if. From b7b6b1c5f5316c8a5955be13f5e1249b1c5aca02 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux Date: Fri, 24 May 2024 21:46:07 +0200 Subject: [PATCH 3/6] Update content/md/en/docs/learn/networks-and-nodes.md Co-authored-by: Shawn Tabrizi --- content/md/en/docs/learn/networks-and-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/md/en/docs/learn/networks-and-nodes.md b/content/md/en/docs/learn/networks-and-nodes.md index 8021c923b..3aa7a714c 100644 --- a/content/md/en/docs/learn/networks-and-nodes.md +++ b/content/md/en/docs/learn/networks-and-nodes.md @@ -46,7 +46,7 @@ Full nodes store blockchain data and, typically, participate in common blockchai By default, full nodes are configured to store all the blocks but only the most recent 256 states. They discard states older than that — with the exception of the genesis block — to 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 states are discarded, full nodes retain all the blocks from genesis to the head, allowing to rebuild all the intermediate states. +Although older states are discarded, full nodes retain all the blocks from genesis to the head, allowing them to rebuild all the intermediate states. It 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. From fae18ed4182b33ef6cd419d94c6ae4caabf34ba2 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux Date: Fri, 24 May 2024 21:50:21 +0200 Subject: [PATCH 4/6] Update content/md/en/docs/learn/networks-and-nodes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit   → space --- content/md/en/docs/learn/networks-and-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/md/en/docs/learn/networks-and-nodes.md b/content/md/en/docs/learn/networks-and-nodes.md index 3aa7a714c..726906f04 100644 --- a/content/md/en/docs/learn/networks-and-nodes.md +++ b/content/md/en/docs/learn/networks-and-nodes.md @@ -43,7 +43,7 @@ Full nodes store blockchain data and, typically, participate in common blockchai ![Full node](/media/images/docs/full-node.png) -By default, full nodes are configured to store all the blocks but only the most recent 256 states. They discard states older than that — with the exception of the genesis block — to prevent the full node from consuming too much disk space. +By default, full nodes are configured to store all the blocks but only the most recent 256 states. They discard states older than that — with the exception of the genesis block — to 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 states are discarded, full nodes retain all the blocks from genesis to the head, allowing them to rebuild all the intermediate states. From 8ead30a4f058cf96ce0c1a24bbbdbf1748988a40 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux Date: Fri, 24 May 2024 21:50:31 +0200 Subject: [PATCH 5/6] Update content/md/en/docs/learn/networks-and-nodes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit   → space --- content/md/en/docs/learn/networks-and-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/md/en/docs/learn/networks-and-nodes.md b/content/md/en/docs/learn/networks-and-nodes.md index 726906f04..5ee6f0ea0 100644 --- a/content/md/en/docs/learn/networks-and-nodes.md +++ b/content/md/en/docs/learn/networks-and-nodes.md @@ -58,7 +58,7 @@ 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 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 utilities — such as block explorers, wallets, discussion forums, and similar applications — that need access to historical information. +For this reason, archive nodes are often used by utilities — such as block explorers, wallets, discussion forums, and similar applications — that need access to historical information. ![Archive nodes](/media/images/docs/archive-node.png) From bd7fb55fa475a39c2d4ecc97790259b379a9ac54 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux Date: Fri, 24 May 2024 21:51:48 +0200 Subject: [PATCH 6/6] Update content/md/en/docs/learn/networks-and-nodes.md apply suggestion Co-authored-by: Shawn Tabrizi --- content/md/en/docs/learn/networks-and-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/md/en/docs/learn/networks-and-nodes.md b/content/md/en/docs/learn/networks-and-nodes.md index 5ee6f0ea0..c78b1ec87 100644 --- a/content/md/en/docs/learn/networks-and-nodes.md +++ b/content/md/en/docs/learn/networks-and-nodes.md @@ -47,7 +47,7 @@ By default, full nodes are configured to store all the blocks but only the most You can configure the number of blocks a full node retains (see `--state-pruning` and `--blocks-pruning` options). Although older states are discarded, full nodes retain all the blocks from genesis to the head, allowing them to rebuild all the intermediate states. -It is achieved by taking the genesis state as initial state and executing all the blocks successively on top of if. +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.