-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add development branch for preview releases * updated tls * updates * update * updates and corrections * added staking to minimal node * updated Polygon quicknode page * updated Gnosis Chain quick node * Gnosis quicknode formatting error correction * updated disclaimer on welcome page * updated disclaimer on welcome page * updated disclaimer on welcome page * typo correction * typo correction on welcome page * typo correction on welcome page * updates and corrections * updates and correction * updates * updates * updates * update * updated * restructured and improved Windows installation documentation * updated sentry and rpc_daemon * updated full node by default, staking, alpha6 etc. --------- Co-authored-by: Michele Modolo <michele@nospam.nospam> Co-authored-by: bloxster <bloxster@proton.me>
- Loading branch information
1 parent
f9cb43b
commit 7d65578
Showing
53 changed files
with
1,589 additions
and
508 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,8 @@ | ||
# About | ||
|
||
This is the official Erigon 3 documentation, built on [mdbook](https://rust-lang.github.io/mdBook/). | ||
This book is open source, contribute at <https://github.com/erigontech/docs>. | ||
|
||
The Erigon CI/CD system maintains a hosted version of the `unstable` branch at <https://development.erigon-documentation-preview.pages.dev/>. | ||
|
||
This book is built on [mdbook](https://rust-lang.github.io/mdBook/). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,15 @@ | ||
# Donate | ||
|
||
To support our work you can donate to [0x8BFBB529A9E85fDC4b70A4FCdC0D68Bb298B8816](https://etherscan.io/address/0x8BFBB529A9E85fDC4b70A4FCdC0D68Bb298B8816#multichain-portfolio). | ||
*Driving Ethereum progress through community-supported research and development* | ||
|
||
Erigon Technologies AG is a non-profit project dedicated to advancing Ethereum technology for the public good. Our work is funded entirely by grants from blockchain companies and donations from our community. | ||
|
||
Your contribution will help us to: | ||
|
||
- Advance the Ethereum protocol for a more secure, efficient, and user-friendly experience | ||
- Foster innovation, collaboration, and open-source development | ||
- Empower individuals and organizations to harness blockchain technology | ||
|
||
Every donation brings us closer to a more decentralized, equitable, and connected world. | ||
|
||
Support Erigon's mission today and help shape the future of Ethereum by donating to our Gitcoin grant address [0x8BFBB529A9E85fDC4b70A4FCdC0D68Bb298B8816](https://etherscan.io/address/0x8BFBB529A9E85fDC4b70A4FCdC0D68Bb298B8816). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,117 @@ | ||
# Block production | ||
|
||
How to propose and validate blockswith Erigon | ||
*How to propose and validate blocks with Erigon* | ||
|
||
Only remote miners are supported. | ||
Both remote miners and Caplin are supported. | ||
|
||
To enable, add | ||
# Using remote miners | ||
|
||
To enable remote miners , add the flags: | ||
|
||
```bash | ||
--mine --miner.etherbase=... | ||
``` | ||
or | ||
|
||
```bash | ||
--mine --miner.miner.sigkey=... flags | ||
--mine --miner.miner.sigkey=... | ||
``` | ||
|
||
Other supported options: `--miner.extradata`, `--miner.notify`, `--miner.gaslimit`, `--miner.gasprice` , `--miner.gastarget` | ||
|
||
JSON-RPC supports methods: eth_coinbase , eth_hashrate, eth_mining, eth_getWork, eth_submitWork, eth_submitHashrate | ||
Other supported options are: | ||
- `--miner.notify`: Comma separated HTTP URL list to notify of new work packages | ||
- `--miner.gaslimit`: Target gas limit for mined blocks (default: `36000000`) | ||
- `--miner.etherbase`: Public address for block mining rewards (default: "`0`") | ||
- `--miner.extradata`: Block extra data set by the miner (default: `client version`) | ||
- `--miner.noverify`: Disable remote sealing verification (default: `false`) | ||
- `--miner.noverify`: Disable remote sealing verification (default: `false`) | ||
- `--miner.sigfile`: Private key to sign blocks with | ||
- `--miner.recommit`: Time interval to recreate the block being mined (default: `3s`) | ||
- `--miner.gasprice`: This option sets the minimum gas price for mined transactions | ||
- `--miner.gastarget`: This option sets the maximum amount of gas that could be spent during a transaction. | ||
|
||
JSON-RPC supports websocket methods: newPendingTransaction | ||
Erigon supports [standard JSON-RPC methods](https://ethereum.org/en/developers/docs/apis/json-rpc/). | ||
|
||
# Using Caplin as validator | ||
*Running Erigon with Caplin and Lighthouse Validator* | ||
|
||
Caplin is also suitable for staking, however, you will need to utilize either Lighthouse, Teku, or another validator client as your key manager, since Caplin does not offer a native key management solution. | ||
|
||
Only Lighthouse, Lodestar and Teku are supported as Validator Clients. | ||
This guide explains how to use Erigon with its embedded Caplin consensus layer and Lighthouse as the validator client for staking on Ethereum. | ||
|
||
To enable block production and Caplin's beacon API when using Caplin as the Consensus Layer (CL) engine, the flag --beacon.api must be added. For example: | ||
## 1. Start Erigon with Caplin | ||
Run the following command to start Erigon with the embedded Caplin consensus layer with the beacon API on: | ||
|
||
```bash | ||
--beacon.api=beacon,builder,config,debug,node,validator,lighthouse | ||
erigon \ | ||
--datadir=/data/erigon \ | ||
--chain=mainnet \ | ||
--prune.mode=full \ | ||
--http \ | ||
--http.addr=0.0.0.0 \ | ||
--http.port=8545 \ | ||
--http.api=engine,eth,net,web3 \ | ||
--ws \ | ||
--ws.port=8546 \ | ||
--caplin.enable-upnp \ | ||
--caplin.discovery.addr=0.0.0.0 \ | ||
--caplin.discovery.port=4000 \ | ||
--caplin.discovery.tcpport=4001 \ | ||
--chain=<NETWORK> | ||
--beacon.api=beacon,validator,builder,config,debug,events,node,lighthouse | ||
``` | ||
|
||
Enabling the Beacon API will lead to a 6 GB higher RAM usage. | ||
**Flags Explanation**: | ||
|
||
- Execution Layer: | ||
- `--http.api=engine,eth,net,web3`: enables the necessary APIs for external clients and Caplin. | ||
- `--ws`: enables WebSocket-based communication (optional). | ||
- Consensus Layer (Caplin): | ||
- `--caplin.discovery.addr` and `--caplin.discovery.port`: configures Caplin's gossip and discovery layer. | ||
- `--beacon.api=beacon,validator,builder,config,debug,events,node,lighthouse`: enables all possible API endpoints for the validator client. | ||
|
||
## 2. Set Up Lighthouse Validator Client | ||
|
||
### 2.1 Install Lighthouse | ||
|
||
Download the latest Lighthouse binary: | ||
|
||
``` | ||
curl -LO https://github.com/sigp/lighthouse/releases/latest/download/lighthouse | ||
chmod +x lighthouse | ||
sudo mv lighthouse /usr/local/bin/ | ||
``` | ||
|
||
For example, if you want to run Erigon + Caplin as a validator here following is the Erigon command: | ||
Or, use Docker: | ||
|
||
```bash | ||
./build/bin/erigon --chain=holesky --prune.mode=full --beacon.api=beacon,builder,config,debug,node,validator,lighthouse | ||
docker pull sigp/lighthouse:latest | ||
``` | ||
|
||
While here the command for Lighthouse would look like*: | ||
### 2.2. Create Lighthouse Validator Key Directory | ||
|
||
```bash | ||
mkdir -p ~/.lighthouse/validators | ||
``` | ||
|
||
### 2.3. Run Lighthouse Validator Client | ||
|
||
Start the validator client and connect it to the Caplin consensus layer: | ||
```bash | ||
lighthouse vc \ | ||
--network mainnet \ | ||
--beacon-nodes http://127.0.0.1:5555 \ | ||
--suggested-fee-recipient=<your_eth_address> | ||
``` | ||
**Flags Explanation**: | ||
- `--network mainnet`: Specifies the Ethereum mainnet. | ||
- `--beacon-nodes`: Points to the Caplin beacon API at `http://127.0.0.1:5555`. | ||
- `--suggested-fee-recipient`: Specifies your Ethereum address for block rewards. | ||
|
||
### 2.4. Import Validator Keys | ||
|
||
If you have existing validator keys, import them: | ||
|
||
```bash | ||
lighthouse validator_client --network holesky --beacon-nodes http://localhost:5555 | ||
lighthouse account validator import --directory <path_to_validator_keys> | ||
``` | ||
|
||
*For adding validators and specific command syntax, refer to the documentation of your chosen Validator Client. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.