update genesis file content (#783)

* update genesis file content

Signed-off-by: Alexandra Tran <alexandra.tran@consensys.net>

* remove minify because of bug

see https://github.com/tikitu/jsmin/issues/33

Signed-off-by: Nicolas MASSART <nicolas.massart@consensys.net>

Co-authored-by: Nicolas MASSART <nicolas.massart@consensys.net>
pull/792/head
Alexandra Tran 3 years ago committed by GitHub
parent ffaccaf09c
commit d2974a3431
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      CI/requirements.txt
  2. 4
      docs/HowTo/Configure/Consensus-Protocols/Clique.md
  3. 6
      docs/HowTo/Configure/Consensus-Protocols/IBFT.md
  4. 6
      docs/HowTo/Configure/Consensus-Protocols/QBFT.md
  5. 2
      docs/HowTo/Configure/Consensus-Protocols/QuorumIBFT.md
  6. 10
      docs/HowTo/Configure/Contracts-in-Genesis.md
  7. 9
      docs/HowTo/Configure/Genesis-File.md
  8. 40
      docs/Reference/Config-Items.md
  9. 14
      mkdocs.yml

@ -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

@ -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
{

@ -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
{

@ -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
{

@ -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

@ -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.

@ -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
{

@ -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
{

@ -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:

Loading…
Cancel
Save