From 8e4d9d9f85f24877d5a3d4424820694375901380 Mon Sep 17 00:00:00 2001 From: Byron Gravenorst Date: Mon, 16 Nov 2020 11:21:13 +1000 Subject: [PATCH 1/6] Add CLI option to disable built-in slashing protection for external signers. Signed-off-by: Byron Gravenorst --- docs/HowTo/Prevent-Slashing.md | 8 +++++++ docs/Reference/CLI/CLI-Syntax.md | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/docs/HowTo/Prevent-Slashing.md b/docs/HowTo/Prevent-Slashing.md index 739a41a74..890e14a27 100644 --- a/docs/HowTo/Prevent-Slashing.md +++ b/docs/HowTo/Prevent-Slashing.md @@ -10,6 +10,13 @@ blocks or attestations. You can import and export the slashing-protection file when migrating validator keys between validator clients. +!!! note + + If using an external signer that implements its own slashing protection + (for example [Web3Signer]), then you can disable Teku's built-in slashing protection using the + [`--validators-external-signer-slashing-protection-enabled`](../Reference/CLI/CLI-Syntax.md#validators-external-signer-slashing-protection-enabled) + command line option. + ## Importing a slashing-protection file When importing the slashing-protection file, Teku imports the file to the @@ -58,3 +65,4 @@ You can now import the slashing-protection file in a Teku, or non-Teku node. [data path directory when starting Teku]: ../Reference/CLI/CLI-Syntax.md#data-path [Minimal]: https://hackmd.io/@sproul/Bk0Y0qdGD#Format-2-Minimal [Complete]: https://hackmd.io/@sproul/Bk0Y0qdGD#Format-1-Complete +[Web3Signer]: https://docs.web3signer.consensys.net/en/latest/ diff --git a/docs/Reference/CLI/CLI-Syntax.md b/docs/Reference/CLI/CLI-Syntax.md index 02244b02d..5922457d2 100644 --- a/docs/Reference/CLI/CLI-Syntax.md +++ b/docs/Reference/CLI/CLI-Syntax.md @@ -1315,6 +1315,40 @@ When specifying file names, Teku expects that the files exist. List of validator public keys used by an external signer (for example, Web3Signer). +### validators-external-signer-slashing-protection-enabled + +=== "Syntax" + + ```bash + --validators-external-signer-slashing-protection-enabled[=] + ``` + +=== "Command Line" + + ```bash + --validators-external-signer-slashing-protection-enabled=false + ``` + +=== "Environment Variable" + + ```bash + TEKU_VALIDATORS_EXTERNAL_SIGNER_SLASHING_PROTECTION_ENABLED=false + ``` + +=== "Configuration File" + + ```bash + validators-external-signer-slashing-protection-enabled: false + ``` + +Specify whether to use Teku's built-in [slashing protection] when using an external signer such as +[Web3Signer]. Defaults to `true`. + +Set this option to `false` if using the slashing protection implemented by an external signer. + +If using Teku to sign blocks and attestions then Teku will always use its built-in slashing +protection. + ### validators-external-signer-timeout === "Syntax" @@ -1470,3 +1504,5 @@ or clear your weak subjectivity settings. [Infura]: https://infura.io/ [Teku metrics]: ../../HowTo/Monitor/Metrics.md +[Web3Signer]: https://docs.web3signer.consensys.net/en/latest/ +[slashing protection]: ../../Concepts/Slashing-Protection.md From b521e754a5c8a6f06e9586fb7aac0aede74ac7ee Mon Sep 17 00:00:00 2001 From: Byron Gravenorst Date: Tue, 24 Nov 2020 09:38:42 +1000 Subject: [PATCH 2/6] Add instructions to connect to mainnet. Signed-off-by: Byron Gravenorst --- .../Get-Started/Connect/Connect-To-Mainnet.md | 22 +++++++++++++++++++ .../{ => Connect}/Connect-To-Testnet.md | 0 mkdocs.yml | 5 ++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md rename docs/HowTo/Get-Started/{ => Connect}/Connect-To-Testnet.md (100%) diff --git a/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md b/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md new file mode 100644 index 000000000..059c57441 --- /dev/null +++ b/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md @@ -0,0 +1,22 @@ +--- +description: How to connect to a testnet +--- + +# Connect to Mainnet + +The following instructions provide the steps to connect Teku to the Ethereum 2.0 Mainnet. + +!!! warning + + If staking funds on the network, the funds are locked until transfers are enabled in a + future phase of the Ethereum 2.0 network. + +**Prerequisites**: + +* Install the latest stable version of Teku using a [binary distribution](Installation-Options/Install-Binaries.md), + or with [Docker](Installation-Options/Run-Docker-Image.md). +* If running validators, install any Ethereum 1.0 client (for example [Hyperledger Besu]), or access a + cloud-based service such as [Infura]. + +Teku allows you run a [beacon chain client only], or you can [run the beacon chain client +with validators]. \ No newline at end of file diff --git a/docs/HowTo/Get-Started/Connect-To-Testnet.md b/docs/HowTo/Get-Started/Connect/Connect-To-Testnet.md similarity index 100% rename from docs/HowTo/Get-Started/Connect-To-Testnet.md rename to docs/HowTo/Get-Started/Connect/Connect-To-Testnet.md diff --git a/mkdocs.yml b/mkdocs.yml index e46298bc8..318003f46 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -59,7 +59,9 @@ nav: - Run Teku from Docker image: HowTo/Get-Started/Installation-Options/Run-Docker-Image.md - Start Teku: HowTo/Get-Started/Run-Teku.md - Manage Memory: HowTo/Get-Started/Manage-Memory.md - - Connect to a testnet: HowTo/Get-Started/Connect-To-Testnet.md + - Connect to a network: + - Connect to Mainnet: HowTo/Get-Started/Connect/Connect-To-Mainnet.md + - Connect to a testnet: HowTo/Get-Started/Connect/Connect-To-Testnet.md - External signing: - Use an external signer: HowTo/External-Signer/Use-External-Signer.md - Monitor Nodes: @@ -131,3 +133,4 @@ plugins: HowTo/Get-Started/Build-From-Source.md: HowTo/Get-Started/Installation-Options/Build-From-Source.md HowTo/Get-Started/Install-Binaries.md: HowTo/Get-Started/Installation-Options/Install-Binaries.md HowTo/Get-Started/Run-Docker-Image.md: HowTo/Get-Started/Installation-Options/Run-Docker-Image.md + HowTo/Get-Started/Connect-To-Testnet.md: HowTo/Get-Started/Connect/Connect-To-Testnet.md From 182787d70c123c880ee4b2bcfaab4706fd854813 Mon Sep 17 00:00:00 2001 From: Byron Gravenorst Date: Tue, 24 Nov 2020 10:33:55 +1000 Subject: [PATCH 3/6] updating submodule to latest --- common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common b/common index 4ca2de1c8..062d7f8e1 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 4ca2de1c8f8af4af314a7b4eac92afbd066364b4 +Subproject commit 062d7f8e139a90ec3de2587644a1d2db4ec32343 From 4697460adf1fa6977c9d948f749ae56086fb9981 Mon Sep 17 00:00:00 2001 From: Byron Gravenorst Date: Wed, 25 Nov 2020 12:35:29 +1000 Subject: [PATCH 4/6] Add instructions to connect to mainnet. Signed-off-by: Byron Gravenorst --- .../Get-Started/Connect/Connect-To-Mainnet.md | 183 +++++++++++++++++- .../Get-Started/Connect/Connect-To-Testnet.md | 43 ++-- docs/HowTo/Get-Started/Run-Teku.md | 4 +- 3 files changed, 199 insertions(+), 31 deletions(-) diff --git a/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md b/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md index 059c57441..bec077efb 100644 --- a/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md +++ b/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md @@ -1,22 +1,191 @@ --- -description: How to connect to a testnet +description: How to connect to MainNet --- -# Connect to Mainnet +# Connect to MainNet -The following instructions provide the steps to connect Teku to the Ethereum 2.0 Mainnet. +The following instructions provide the steps run validators on the Ethereum 2.0 MainNet. You can +also use Teku to run a [beacon node only]. !!! warning If staking funds on the network, the funds are locked until transfers are enabled in a future phase of the Ethereum 2.0 network. +Use the [ETH2 staking checklist] as a guide to secure your validator keys and hardware. + **Prerequisites**: -* Install the latest stable version of Teku using a [binary distribution](Installation-Options/Install-Binaries.md), - or with [Docker](Installation-Options/Run-Docker-Image.md). +* Install the latest stable version of Teku using a [binary distribution](../Installation-Options/Install-Binaries.md), + or with [Docker](../Installation-Options/Run-Docker-Image.md). * If running validators, install any Ethereum 1.0 client (for example [Hyperledger Besu]), or access a cloud-based service such as [Infura]. -Teku allows you run a [beacon chain client only], or you can [run the beacon chain client -with validators]. \ No newline at end of file +## Run validators on MainNet + +Ethereum 2.0 validators need to access an Ethereum 1.0 client to onboard new validators. +New validators make deposits into Ethereum 1.0, and existing Ethereum 2.0 validators must +process the deposits to allow the new validators to join Ethereum 2.0. + +Deposits are made into a deposit contract on the Ethereum 1.0 MainNet. The deposit contract address +is `0x00000000219ab540356cbb839cbe05303d7705fa`. + +The steps to run an Ethereum 2.0 validator on MainNet are: + +1. If running your own Ethereum 1.0 client, [sync the Ethereum 1.0 network containing + the deposit contract](#sync-the-ethereum-10-network). + + !!! note + This step is only required if running your own Ethereum 1.0 client such as Besu. + If using a cloud-based service such as Infura, proceed to + [sync the beacon node](#sync-the-beacon-node). + +1. [Sync the Teku beacon node with the beacon chain](#sync-the-beacon-node). + +1. [Generate the validator keys and send the deposit to the deposit + contract](#generate-the-validators-and-send-the-deposits). + +1. [Create a password file for each validator key](#create-a-password-file-for-each-validator-key). + +1. [Start Teku with the validator keys](#start-the-validator). + +### Sync the Ethereum 1.0 network + +This step is only required if running your own Ethereum 1.0 client. + +This example uses Besu to connect to Ethereum 1.0, but any client can be used. +Configure Besu to [connect to MainNet] and expose the RPC-HTTP APIs. + +!!! example + + ```bash + besu --rpc-http-enabled=true --rpc-http-port=8545 \ + --rpc-http-api=ETH,NET,WEB3 --fast-sync-min-peers=2 + ``` + +### Sync the beacon node + +Sync the beacon node to ensure the network is synced before registering the validator. + +!!! note + + Before network launch there will be no data to sync. + +!!! example + + ```bash + teku --metrics-enabled --rest-api-enabled + ``` + +Syncing is complete when the head slot reaches the current slot. + +### Generate the validators and send the deposits + +!!! important + + Ensure your Ethereum account has enough ETH to cover the required deposit amount (32 ETH) plus + gas. + +Use the [MainNet Launchpad] to guide you through a step-by-step process to generate your keys and +send the deposits. + +!!! note + Remember the passwords that you used to create the validator keys, because you need it to + [create the validator password files](#create-a-password-file-for-each-validator-key). + +### Create a password file for each validator key + +For each validator key, create a text file containing the password to decrypt the key. + +Teku allows you to specify individual keys and passwords in the command line, or you can specify +folders from which to load keys and passwords. If specifying folders, then password files +must have the same name as the keys, but use the `.txt` extension. + +!!! example + + If the Launchpad creates a key named `keystore-m_12381_3600_0_0_0-1596485378.json`, then + the password file must be named `keystore-m_12381_3600_0_0_0-1596485378.txt`. + +### Start the validator + +You can run the Teku validator as a [single process] with the beacon node, or you can run the +validator client on a [separate machine]. + +!!! important + + If running validators as a split process, then connect the validator to the running + beacon node. Otherwise you need to stop the [running beacon] node and restart it by supplying + the validator keys. + +Once the validator is activated, view it on the beacon chain explorer at +`https://beaconcha.in/validator/`. + +You can also use [Prometheus and Grafana] to monitor your nodes. + +#### Run the validator and beacon node as a single process + +To run the beacon node and validator client as a single process, stop the [running beacon node] +started previously, and restart it by specifying the validator key files +[created earlier](#generate-the-validators-and-send-the-deposits), and the text files containing the +password to decrypt the validator key. + +!!! example + + ```bash + teku --eth1-endpoint=http://localhost:8545 \ + --validator-keys=validator/keys/validator_888eef.json:validator/passwords/validator_888eef.txt \ + --rest-api-enabled=true --rest-api-docs-enabled=true \ + --metrics-enabled + ``` + +Alternatively, use [`--validator-keys`](../../../Reference/CLI/CLI-Syntax.md#validator-keys) to +specify the directory to load multiple keys and passwords from. + +!!! example + + ```bash + teku --eth1-endpoint=http://localhost:8545 \ + --validator-keys=validator/keys:validator/passwords \ + --rest-api-enabled=true --rest-api-docs-enabled=true \ + --metrics-enabled + ``` + +#### Run the validator on a separate machine + +If running the validator client on a separate machine to the beacon node, then run Teku using the +[`vc`](../../../Reference/CLI/Subcommands/Validator-Client.md) or +[`validator-client`](../../../Reference/CLI/Subcommands/Validator-Client.md) subcommand, and specify +the location of the beacon node's API endpoint using +[`--beacon-node-api-endpoint`](../../../Reference/CLI/Subcommands/Validator-Client.md#beacon-node-api-endpoint). + +You also need to specify the validator key files [created earlier](#generate-the-validators-and-send-the-deposits), +and the text files containing the password to decrypt the validator key. + +!!! example + + ```bash + teku validator-client --beacon-node-api-endpoint=http://192.10.10.101:5051 \ + --validator-keys=validator/keys/validator_888eef.json:validator/passwords/validator_888eef.txt + ``` +Alternatively, use [`--validator-keys`](../../../Reference/CLI/Subcommands/Validator-Client.md#validator-keys) +to specify the directory to load multiple keys and passwords from. + +!!! example + + ```bash + teku validator-client --beacon-node-api-endpoint=http://192.10.10.101:5051 \ + --validator-keys=validator/keys:validator/passwords + ``` + + +[connect to MainNet]: https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/#run-a-node-on-ethereum-mainnet +[MainNet Launchpad]: https://launchpad.ethereum.org/ +[ETH2 staking checklist]: https://launchpad.ethereum.org/checklist +[running beacon]: #sync-the-beacon-node +[single process]: #run-the-validator-and-beacon-node-as-a-single-process +[separate machine]: #run-the-validator-on-a-separate-machine +[Hyperledger Besu]: https://besu.hyperledger.org/en/stable/HowTo/Get-Started/Install-Binaries/ +[Infura]: https://infura.io/ +[beacon node only]: #sync-the-beacon-node +[running beacon node]: #sync-the-beacon-node +[Prometheus and Grafana]: ../../Monitor/Metrics.md \ No newline at end of file diff --git a/docs/HowTo/Get-Started/Connect/Connect-To-Testnet.md b/docs/HowTo/Get-Started/Connect/Connect-To-Testnet.md index f0816f2d6..d11694cab 100644 --- a/docs/HowTo/Get-Started/Connect/Connect-To-Testnet.md +++ b/docs/HowTo/Get-Started/Connect/Connect-To-Testnet.md @@ -8,17 +8,17 @@ The following instructions describe the process to connect Teku to an Ethereum 2 !!! important - This example connects to the [Medalla testnet](https://github.com/goerli/medalla). If connecting - to a different testnet (for example Pyrmont), update the [`--network`](../../Reference/CLI/CLI-Syntax.md#network) - option in the examples accordingly. + This example connects to the [Pyrmont testnet]. If connecting to a different testnet, + update the [`--network`](../../../Reference/CLI/CLI-Syntax.md#network) option in the examples + accordingly. Networks can experience stability issues and are prone to regular resets. We recommend you regularly check network and client documentation for updates. **Prerequisites**: -* Install the latest stable version of Teku using a [binary distribution](Installation-Options/Install-Binaries.md), - or with [Docker](Installation-Options/Run-Docker-Image.md). +* Install the latest stable version of Teku using a [binary distribution](../Installation-Options/Install-Binaries.md), + or with [Docker](../Installation-Options/Run-Docker-Image.md). * If running validators, install any Ethereum 1.0 client (for example [Hyperledger Besu]), or access a cloud-based service such as [Infura]. @@ -69,18 +69,17 @@ Configure Besu to [connect to Goerli] and expose the RPC-HTTP APIs. ### Load the deposit account with ETH You need an Ethereum 1.0 Goerli testnet account that contains the amount of -Goerli ETH (plus gas) required to activate the validator. The `medalla` testnet +Goerli ETH (plus gas) required to activate the validator. The `pyrmont` testnet requires 32 Goerli ETH per validator. !!! tip You can create an account on Goerli using [Metamask], and use a [faucet] to - fund the account. You can also request Goerli testnet ETH on the Medalla - Discord channel. + fund the account. ### Generate the validators and send the deposits -Use the [Medalla Launchpad] to guide you through a step-by-step process to generate your keys and +Use the [Pyrmont Launchpad] to guide you through a step-by-step process to generate your keys and send the deposits. !!! note @@ -89,14 +88,13 @@ send the deposits. ### Create a password file for each validator key -For each validator key that you create, you need to create a text file containing the password -to decrypt the key. The password file must have the same name as the key, but use -the `.txt` extension. +For each validator key, create a text file containing the password to decrypt the key. The password +file must have the same name as the key, but use the `.txt` extension. !!! example If the Launchpad creates a key named `keystore-m_12381_3600_0_0_0-1596485378.json`, then - the password must be named `keystore-m_12381_3600_0_0_0-1596485378.txt`. + the password file must be named `keystore-m_12381_3600_0_0_0-1596485378.txt`. ### Start the validator @@ -106,26 +104,26 @@ and the text files containing the password to decrypt the validator key. !!! example ```bash - teku --network=medalla --eth1-endpoint=http://localhost:8545 \ + teku --network=pyrmont --eth1-endpoint=http://localhost:8545 \ --validator-keys=validator/keys/validator_888eef.json:validator/passwords/validator_888eef.txt \ --rest-api-enabled=true --rest-api-docs-enabled=true \ --metrics-enabled ``` -Alternatively, use [`--validator-keys`](../../Reference/CLI/CLI-Syntax.md#validator-keys) to +Alternatively, use [`--validator-keys`](../../../Reference/CLI/CLI-Syntax.md#validator-keys) to specify the directory to load multiple keys and passwords from. !!! example ```bash - teku --network=medalla --eth1-endpoint=http://localhost:8545 \ + teku --network=pyrmont --eth1-endpoint=http://localhost:8545 \ --validator-keys=validator/keys:validator/passwords \ --rest-api-enabled=true --rest-api-docs-enabled=true \ --metrics-enabled ``` Once the validator is activated, view it on the beacon chain explorer at -`https://medalla.beaconcha.in/validator/`. +`https://pyrmont.beaconcha.in/validator/`. ## Run a beacon chain client only @@ -134,7 +132,7 @@ You can run a Teku beacon chain node on a network without any validators. !!! example ```bash - teku --network=medalla --metrics-enabled --rest-api-enabled --rest-api-docs-enabled + teku --network=pyrmont --metrics-enabled --rest-api-enabled --rest-api-docs-enabled ``` ## Add a beacon chain client to Eth2stats @@ -142,12 +140,12 @@ You can run a Teku beacon chain node on a network without any validators. You can add the beacon chain node to [Eth2stats](https://eth2stats.io/add-node) for monitoring. Ensure you enable metrics using the -[`--metrics-enabled`](../../Reference/CLI/CLI-Syntax.md#metrics-enabled) option when +[`--metrics-enabled`](../../../Reference/CLI/CLI-Syntax.md#metrics-enabled) option when starting Teku. ## Finding help -* The `#medalla` channel on the Ethereum Foundation Discord. [Invite link](https://discord.gg/zyZXUN7) +* The `#pyrmont` channel on the Ethereum Foundation Discord. [Invite link](https://discord.gg/zyZXUN7) * The `#teku` channel on the ConsenSys Discord. [Invite link](https://discord.gg/aT5TcBQ) @@ -162,5 +160,6 @@ starting Teku. [connect to Goerli]: https://besu.hyperledger.org/en/stable/HowTo/Get-Started/Starting-node/#run-a-node-on-goerli-testnet [password protected V3 Keystore file]: https://docs.ethsigner.consensys.net/Tutorials/Start-EthSigner/#create-password-and-key-files [Infura]: https://infura.io/ -[Launchpad]: https://medalla.launchpad.ethereum.org/ -[Medalla Launchpad]: https://medalla.launchpad.ethereum.org/ +[Launchpad]: https://pyrmont.launchpad.ethereum.org/ +[Pyrmont Launchpad]: https://pyrmont.launchpad.ethereum.org/ +[Pyrmont testnet]: https://github.com/protolambda/pyrmont diff --git a/docs/HowTo/Get-Started/Run-Teku.md b/docs/HowTo/Get-Started/Run-Teku.md index 9d128c7ae..f750ade5f 100644 --- a/docs/HowTo/Get-Started/Run-Teku.md +++ b/docs/HowTo/Get-Started/Run-Teku.md @@ -101,7 +101,7 @@ option. [validator clients]: #start-the-validator [running beacon node]: #start-the-beacon-chain-client -[Validators keystores]: Connect-To-Testnet.md#generate-the-validators-and-send-the-deposits -[password files]: Connect-To-Testnet.md#create-a-password-file-for-each-validator-key +[Validators keystores]: Connect/Connect-To-Testnet.md#generate-the-validators-and-send-the-deposits +[password files]: Connect/Connect-To-Testnet.md#create-a-password-file-for-each-validator-key [slashable offence]: ../../Concepts/Slashing-Protection.md [single process]: #start-the-clients-in-a-single-process From 8d136f9ea9c7fc26ebfd50099521b4e900e7d991 Mon Sep 17 00:00:00 2001 From: Byron Gravenorst Date: Wed, 25 Nov 2020 12:48:45 +1000 Subject: [PATCH 5/6] Fix markdown issue. Signed-off-by: Byron Gravenorst --- docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md b/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md index bec077efb..7c6427685 100644 --- a/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md +++ b/docs/HowTo/Get-Started/Connect/Connect-To-Mainnet.md @@ -65,7 +65,7 @@ Configure Besu to [connect to MainNet] and expose the RPC-HTTP APIs. ### Sync the beacon node -Sync the beacon node to ensure the network is synced before registering the validator. +Sync the beacon node to ensure the network is synced before registering the validator. !!! note @@ -123,7 +123,7 @@ Once the validator is activated, view it on the beacon chain explorer at You can also use [Prometheus and Grafana] to monitor your nodes. #### Run the validator and beacon node as a single process - + To run the beacon node and validator client as a single process, stop the [running beacon node] started previously, and restart it by specifying the validator key files [created earlier](#generate-the-validators-and-send-the-deposits), and the text files containing the @@ -188,4 +188,4 @@ to specify the directory to load multiple keys and passwords from. [Infura]: https://infura.io/ [beacon node only]: #sync-the-beacon-node [running beacon node]: #sync-the-beacon-node -[Prometheus and Grafana]: ../../Monitor/Metrics.md \ No newline at end of file +[Prometheus and Grafana]: ../../Monitor/Metrics.md From 9190f0b6cc3c1dbbc3eb76bf65dd2a6a6f720f24 Mon Sep 17 00:00:00 2001 From: Byron Gravenorst Date: Mon, 18 Jan 2021 12:08:14 +1000 Subject: [PATCH 6/6] Add new CLI option. Signed-off-by: Byron Gravenorst --- docs/Reference/CLI/CLI-Syntax.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/Reference/CLI/CLI-Syntax.md b/docs/Reference/CLI/CLI-Syntax.md index f8b9c682d..171c307e6 100644 --- a/docs/Reference/CLI/CLI-Syntax.md +++ b/docs/Reference/CLI/CLI-Syntax.md @@ -256,6 +256,38 @@ The deposit contract address can also be defined in: * The genesis file specified using [`--initial-state`](#initial state) * The predefined network supplied using [`--network`](#network). +### eth1-deposit-contract-max-request-size + +=== "Syntax" + + ```bash + --eth1-deposit-contract-max-request-size= + ``` + +=== "Command Line" + + ```bash + --eth1-deposit-contract-max-request-size=8000 + ``` + +=== "Environment Variable" + + ```bash + TEKU_ETH1_DEPOSIT_CONTRACT_MAX_REQUEST_SIZE=8000 + ``` + +=== "Configuration File" + + ```bash + eth1-deposit-contract-max-request-size: 8000 + ``` + +The maximum number of blocks to request deposit contract event logs for in a single request. +Defaults to 10000. + +Setting a smaller max size may help if your ETH1 node is slow at loading deposit event logs, or when +receiving warnings that the ETH1 node is unavailable. + ### eth1-endpoint === "Syntax"