diff --git a/CI/requirements.txt b/CI/requirements.txt index 48b093b96a7..a76caf2e331 100644 --- a/CI/requirements.txt +++ b/CI/requirements.txt @@ -7,5 +7,5 @@ mkdocs-markdownextradata-plugin==0.1.3 mkdocs-exclude==1.0.2 mkdocs-redirects==1.0.0 mkdocs-git-revision-date-localized-plugin==0.5.0 -mkdocs-minify-plugin==0.3.0 +# mkdocs-minify-plugin==0.3.0 plantuml-markdown==3.3.0 diff --git a/docs/HowTo/Configure/Consensus-Protocols/Clique.md b/docs/HowTo/Configure/Consensus-Protocols/Clique.md index b3dadb24f0d..f59f210d9bf 100644 --- a/docs/HowTo/Configure/Consensus-Protocols/Clique.md +++ b/docs/HowTo/Configure/Consensus-Protocols/Clique.md @@ -15,14 +15,14 @@ Existing signers propose and vote to [add or remove signers](Add-Validators.md#c ## Genesis file -To use Clique in a private network, Besu requires a Clique genesis file. When connecting to Rinkeby, +To use Clique in a private network, Besu requires a Clique [genesis file](../Genesis-File.md). When connecting to Rinkeby, Besu uses the [`rinkeby.json`](https://github.com/hyperledger/besu/blob/master/config/src/main/resources/rinkeby.json) genesis file in the `/besu/config/src/main/resources` directory. A Clique genesis file defines properties specific to Clique. -!!! example "Sample Clique genesis file" +!!! example "Example Clique genesis file" ```json { diff --git a/docs/HowTo/Configure/Consensus-Protocols/IBFT.md b/docs/HowTo/Configure/Consensus-Protocols/IBFT.md index 12aa009f86b..ca43d63fe36 100644 --- a/docs/HowTo/Configure/Consensus-Protocols/IBFT.md +++ b/docs/HowTo/Configure/Consensus-Protocols/IBFT.md @@ -33,12 +33,10 @@ propagating incorrect information to peers. ## Genesis file -To use IBFT 2.0, Besu requires an IBFT 2.0 genesis file. The genesis file defines properties +To use IBFT 2.0, Besu requires an IBFT 2.0 [genesis file](../Genesis-File.md). The genesis file defines properties specific to IBFT 2.0. -!!! example "Sample IBFT 2.0 genesis file" - - Example genesis file for a 4 nodes IBFT2 network. +!!! example "Example IBFT 2.0 genesis file" ```json { diff --git a/docs/HowTo/Configure/Consensus-Protocols/QBFT.md b/docs/HowTo/Configure/Consensus-Protocols/QBFT.md index 81e1833813e..a13b675c3fe 100644 --- a/docs/HowTo/Configure/Consensus-Protocols/QBFT.md +++ b/docs/HowTo/Configure/Consensus-Protocols/QBFT.md @@ -38,12 +38,10 @@ propagating incorrect information to peers. ## Genesis file -To use QBFT, Besu requires a QBFT genesis file. The genesis file defines properties +To use QBFT, Besu requires a QBFT [genesis file](../Genesis-File.md). The genesis file defines properties specific to QBFT. -!!! example "Sample QBFT genesis file" - - Example genesis file for a 4 nodes QBFT network. +!!! example "Example QBFT genesis file" ```json { diff --git a/docs/HowTo/Configure/Consensus-Protocols/QuorumIBFT.md b/docs/HowTo/Configure/Consensus-Protocols/QuorumIBFT.md index 6f9777fc733..c9ed5496524 100644 --- a/docs/HowTo/Configure/Consensus-Protocols/QuorumIBFT.md +++ b/docs/HowTo/Configure/Consensus-Protocols/QuorumIBFT.md @@ -9,7 +9,7 @@ Besu nodes can operate (that is, submit transactions and receive blocks) in a Qu To connect to a Quorum IBFT 1.0 network: -1. In the Quorum IBFT 1.0 genesis file, update the consensus protocol specified in the `config` +1. In the Quorum IBFT 1.0 [genesis file](../Genesis-File.md), update the consensus protocol specified in the `config` property from `istanbul` to `ibft`. ```json diff --git a/docs/HowTo/Configure/Contracts-in-Genesis.md b/docs/HowTo/Configure/Contracts-in-Genesis.md index 22ff9600ba4..a8acddb9540 100644 --- a/docs/HowTo/Configure/Contracts-in-Genesis.md +++ b/docs/HowTo/Configure/Contracts-in-Genesis.md @@ -1,10 +1,10 @@ --- -description: Predeploying contracts in the genesis file +description: Pre-deploying contracts in the genesis file --- # Pre-deploying contracts in the genesis file -To pre-deploy contracts when starting Besu, specify the contract code in the genesis file. +To pre-deploy contracts when starting Besu, specify the contract code in the [genesis file](Genesis-File.md). !!! example "Contract code in the genesis file" @@ -27,7 +27,7 @@ To pre-deploy contracts when starting Besu, specify the contract code in the gen The contract code in the genesis file defines the: -* Address -* Balance -* Bytecode +* Address. +* Balance. +* Bytecode. * Key value pairs for contract storage. diff --git a/docs/HowTo/Configure/Genesis-File.md b/docs/HowTo/Configure/Genesis-File.md index 87ebca6514f..4181be4526e 100644 --- a/docs/HowTo/Configure/Genesis-File.md +++ b/docs/HowTo/Configure/Genesis-File.md @@ -4,23 +4,22 @@ description: Configuring a network using the genesis file # Creating the Hyperledger Besu genesis file -The genesis file defines the first block in the chain and the first block defines which chain you +The genesis file defines the first block in the chain, and the first block defines which chain you want to join. For Ethereum MainNet and public testnets (for example, Rinkeby) the genesis configuration definition is in Besu and used when specifying a public network using the [`--network`](../../Reference/CLI/CLI-Syntax.md#network) command line option. -For private networks, create a JSON genesis file and then specify the genesis file using the +For private networks, [create a JSON genesis file](https://consensys.net/blog/quorum/hyperledger-besu-how-to-create-an-ethereum-genesis-file/), +then specify the genesis file using the [`--genesis-file`](../../Reference/CLI/CLI-Syntax.md#genesis-file) command line option. The genesis file specifies the [network-wide settings](../../Reference/Config-Items.md), such as those for a [free gas network](FreeGas.md), so all nodes in a network must use the same genesis file. -!!!example - - Example for a 4 nodes IBFT2 network. +!!! example "Example IBFT 2.0 genesis file" ```json { diff --git a/docs/Reference/Config-Items.md b/docs/Reference/Config-Items.md index 6945bdf5897..61bfc6f6d29 100644 --- a/docs/Reference/Config-Items.md +++ b/docs/Reference/Config-Items.md @@ -2,28 +2,28 @@ description: Configuration items specified in the Hyperledger Besu genesis file --- -# Genesis file +# Genesis file items -The genesis file contains [network configuration items](#configuration-items) and -[genesis block parameters](#genesis-block-parameters). +The [Besu genesis file](../HowTo/Configure/Genesis-File.md) contains [network configuration items](#configuration-items) +and [genesis block parameters](#genesis-block-parameters). ## Configuration items Network configuration items are specified in the genesis file in the `config` object. -| Item | Description | -|---------------------|-:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Chain ID | [Chain ID for the network](../Concepts/NetworkID-And-ChainID.md) | -| Milestone blocks | [Milestone blocks for the network](#milestone-blocks) | -| `ethash` | Specifies network uses [Ethash](../Concepts/Consensus-Protocols/Overview-Consensus.md) and contains [`fixeddifficulty`](#Fixed Difficulty) | -| `clique` | Specifies network uses [Clique](../HowTo/Configure/Consensus-Protocols/Clique.md) and contains [Clique configuration items](../HowTo/Configure/Consensus-Protocols/Clique.md#genesis-file) | -| `ibft2` | Specifies network uses [IBFT 2.0](../HowTo/Configure/Consensus-Protocols/IBFT.md) and contains [IBFT 2.0 configuration items](../HowTo/Configure/Consensus-Protocols/IBFT.md#genesis-file) | -| `qbft` | Specifies network uses [QBFT](../HowTo/Configure/Consensus-Protocols/QBFT.md) and contains [QBFT configuration items](../HowTo/Configure/Consensus-Protocols/QBFT.md#genesis-file) | +| Item | Description | +|---------------------|-:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Milestone blocks | [Milestone blocks for the network](#milestone-blocks). | +| `chainID` | [Chain ID for the network](../Concepts/NetworkID-And-ChainID.md). | +| `ethash` | Specifies network uses [Ethash](../Concepts/Consensus-Protocols/Overview-Consensus.md) and contains [`fixeddifficulty`](#fixed-difficulty). | +| `clique` | Specifies network uses [Clique](../HowTo/Configure/Consensus-Protocols/Clique.md) and contains [Clique configuration items](../HowTo/Configure/Consensus-Protocols/Clique.md#genesis-file). | +| `ibft2` | Specifies network uses [IBFT 2.0](../HowTo/Configure/Consensus-Protocols/IBFT.md) and contains [IBFT 2.0 configuration items](../HowTo/Configure/Consensus-Protocols/IBFT.md#genesis-file). | +| `qbft` | Specifies network uses [QBFT](../HowTo/Configure/Consensus-Protocols/QBFT.md) and contains [QBFT configuration items](../HowTo/Configure/Consensus-Protocols/QBFT.md#genesis-file). | | `transitions` | Specifies block at which to change [IBFT 2.0](../HowTo/Configure/Consensus-Protocols/Add-Validators.md#adding-and-removing-validators-without-voting) or [QBFT](../HowTo/Configure/Consensus-Protocols/Add-Validators.md#adding-and-removing-validators-without-voting_1) validators. | -| `contractSizeLimit` | Maximum contract size in bytes. Specify in [free gas networks](../HowTo/Configure/FreeGas.md). The default is `24576` and the maximum size is `2147483647`. | -| `evmStackSize` | Maximum stack size. Specify to increase the maximum stack size in private networks with complex smart contracts. The default is `1024`. | -| `isQuorum` | Set to `true` to allow [interoperable private transactions] between Hyperledger Besu and [GoQuorum clients] using the Tessera private transaction manager. | -| `ecCurve` | Specifies [the elliptic curve to use](../HowTo/Configure/Alternative-EC-Curves.md). Default is `secp256k1`. | +| `contractSizeLimit` | Maximum contract size in bytes. Specify in [free gas networks](../HowTo/Configure/FreeGas.md). The default is `24576` and the maximum size is `2147483647`. | +| `evmStackSize` | Maximum stack size. Specify to increase the maximum stack size in private networks with complex smart contracts. The default is `1024`. | +| `isQuorum` | Set to `true` to allow [interoperable private transactions] between Hyperledger Besu and [GoQuorum clients] using the Tessera private transaction manager. | +| `ecCurve` | Specifies [the elliptic curve to use](../HowTo/Configure/Alternative-EC-Curves.md). Default is `secp256k1`. | ## Genesis block parameters @@ -32,8 +32,8 @@ The purpose of some genesis block parameters varies depending on the consensus p [IBFT 2.0](../HowTo/Configure/Consensus-Protocols/IBFT.md), or [QBFT](../HowTo/Configure/Consensus-Protocols/QBFT.md)). These parameters include: -* `difficulty` -* `extraData` +* `difficulty`. +* `extraData`. * `mixHash`. The following table describes the genesis block parameters with the same purpose across all @@ -44,14 +44,14 @@ consensus protocols. | `coinbase` | Address to pay mining rewards to. Can be any value in the genesis block (commonly set to `0x0000000000000000000000000000000000000000`). | | `gasLimit` | Block gas limit. Total gas limit for all transactions in a block. | | `nonce` | Used in block computation. Can be any value in the genesis block (commonly set to `0x0`). | -| `timestamp` | Creation date and time of the block. Must be before the next block so we recommend specifying `0x0` in the genesis file. | +| `timestamp` | Creation date and time of the block. Must be before the next block so we recommend specifying `0x0` in the genesis file. | | `alloc` | Defines [accounts with balances](Accounts-for-Testing.md) or [contracts](../HowTo/Configure/Contracts-in-Genesis.md). | ## Milestone blocks In public networks, the milestone blocks specify the blocks at which the network changed protocol. -!!! example "Ethereum Mainnet Milestone Blocks" +!!! example "Ethereum MainNet milestone blocks" ```json { @@ -74,7 +74,7 @@ In public networks, the milestone blocks specify the blocks at which the network In private networks, the milestone block defines the protocol version for the network. -!!! example "Private Network Milestone Block" +!!! example "Private network milestone block" ```json { diff --git a/mkdocs.yml b/mkdocs.yml index 0acb1a45a1d..dccf0d483a5 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -72,12 +72,12 @@ nav: - Start Besu: HowTo/Get-Started/Starting-node.md - Configure Besu: - Consensus protocols: - - Clique: HowTo/Configure/Consensus-Protocols/Clique.md - IBFT 2.0: HowTo/Configure/Consensus-Protocols/IBFT.md - QBFT: HowTo/Configure/Consensus-Protocols/QBFT.md + - Clique: HowTo/Configure/Consensus-Protocols/Clique.md - Quorum IBFT 1.0 network: HowTo/Configure/Consensus-Protocols/QuorumIBFT.md - Add and remove validators: HowTo/Configure/Consensus-Protocols/Add-Validators.md - - Create Besu genesis file: HowTo/Configure/Genesis-File.md + - Create a genesis file: HowTo/Configure/Genesis-File.md - Specify options in a configuration file: HowTo/Configure/Using-Configuration-File.md - Configure a free gas network: HowTo/Configure/FreeGas.md - Configure TLS: HowTo/Configure/Configure-TLS.md @@ -264,11 +264,11 @@ plugins: - global/* - git-revision-date-localized: locale: en - - minify: - minify_html: true - minify_js: true - htmlmin_opts: - remove_comments: true +# - minify: +# minify_html: true +# minify_js: true +# htmlmin_opts: +# remove_comments: true - redirects: redirect_maps: # Configure redirects using key:value pairs: