diff --git a/LICENSE.txt b/LICENSE.txt index 74e0cb5..a1e0302 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,3 +1,3 @@ -The Erigon 3 documentation © 2024 by Erigon contributors is licensed under CC BY 4.0. +The Erigon 3 documentation © 2025 by Erigon contributors is licensed under CC BY 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by/4.0/ diff --git a/src/about/contributing.md b/src/about/contributing.md index a42ba94..59e132f 100644 --- a/src/about/contributing.md +++ b/src/about/contributing.md @@ -11,18 +11,12 @@ Begin by exploring the comprehensive **[Programmer's Guide](https://github.com/l ### Dive Deeper into the Architecture For those interested in gaining a deeper understanding of Erigon's underlying architecture, visit the following resources: - -- **[DB Walk-through](https://github.com/erigontech/erigon/blob/release/2.60/docs/programmers_guide/db_walkthrough.MD)**: This document provides a detailed walk-through of Erigon's database structure. It explains how Erigon organizes persistent data into tables like PlainState for accounts and storage, History Of Accounts for tracking account changes, and Change Sets for optimized binary searches on changes. It contrasts Erigon's approach with go-ethereum's use of the Merkle Patricia Trie. -- **[Database FAQ](https://github.com/erigontech/erigon/blob/release/2.60/docs/programmers_guide/db_faq.md)**: The Database FAQ addresses common questions and concerns related to Erigon's database design. It covers how to directly read the database via gRPC or while Erigon is running, details on the MDBX storage engine and RAM usage model, and points to further resources on the database interface rationale and architecture. - **[DB Walk-through](https://github.com/erigontech/erigon/blob/release/2.60/docs/programmers_guide/db_walkthrough.MD)**: This document provides a detailed walk-through of Erigon's database structure. It explains how Erigon organizes persistent data into tables like PlainState for accounts and storage, History Of Accounts for tracking account changes, and Change Sets for optimized binary searches on changes. It contrasts Erigon's approach with go-ethereum's use of the Merkle Patricia Trie. - **[Database FAQ](https://github.com/erigontech/erigon/blob/release/2.60/docs/programmers_guide/db_faq.md)**: The Database FAQ addresses common questions and concerns related to Erigon's database design. It covers how to directly read the database via gRPC or while Erigon is running, details on the MDBX storage engine and RAM usage model, and points to further resources on the database interface rationale and architecture. ### Feature Exploration Erigon introduces several innovative features that contributors may find interesting to explore and contribute to: - -- **[DupSort Feature Explanation](https://github.com/erigontech/erigon/blob/release/2.60/docs/programmers_guide/dupsort.md)**: Erigon's DupSort feature optimizes storage and retrieval of duplicate data by utilizing prefixes for keys in databases without the concept of "Buckets/Tables/Collections" or by creating tables for efficient storage with named "Buckets/Tables/Collections." -- **[EVM without Opcodes](https://github.com/erigontech/erigon/blob/release/2.60/docs/evm_semantics.md)** (Ether Transfers Only): Erigon explores a simplified version of the Ethereum Virtual Machine (EVM) focusing solely on ether transfers, offering an efficient execution environment for specific use cases. - **[DupSort Feature Explanation](https://github.com/erigontech/erigon/blob/release/2.60/docs/programmers_guide/dupsort.md)**: Erigon's DupSort feature optimizes storage and retrieval of duplicate data by utilizing prefixes for keys in databases without the concept of "Buckets/Tables/Collections" or by creating tables for efficient storage with named "Buckets/Tables/Collections." - **[EVM without Opcodes](https://github.com/erigontech/erigon/blob/release/2.60/docs/evm_semantics.md)** (Ether Transfers Only): Erigon explores a simplified version of the Ethereum Virtual Machine (EVM) focusing solely on ether transfers, offering an efficient execution environment for specific use cases. diff --git a/src/advanced/JSONRPC-daemon.md b/src/advanced/JSONRPC-daemon.md index a2c4cab..f3ba34b 100644 --- a/src/advanced/JSONRPC-daemon.md +++ b/src/advanced/JSONRPC-daemon.md @@ -9,7 +9,7 @@ The RPC daemon is a crucial component of Erigon, enabling JSON remote procedure This document provides guidelines for understanding and using the various RPC methods available in Erigon. 1. **Compatibility with `eth` namespace** - - Erigon aims to be compatible with all standard Ethereum JSON-RPC API methods, as described [here](https://github.com/ethereum/execution-apis). See also [here](https://github.com/erigontech/erigon/blob/main/docs/readthedocs/source/rpc/index.rst) for examples. + - Erigon aims to be compatible with all standard Ethereum JSON-RPC API methods, as described [here](https://ethereum.org/en/developers/docs/apis/json-rpc/). See also [here](https://github.com/erigontech/erigon/blob/main/docs/readthedocs/source/rpc/index.rst) for examples. 1. **Compatibility with standard Geth methods** - All methods featured by Geth including [WebSocket Server](https://geth.ethereum.org/docs/interacting-with-geth/rpc#websockets-server), [IPC Server](https://geth.ethereum.org/docs/interacting-with-geth/rpc#ipc-server), TLS, [GraphQL](https://geth.ethereum.org/docs/interacting-with-geth/rpc/graphql), etc..., are supported by Erigon. diff --git a/src/advanced/bp-ext.md b/src/advanced/bp-ext.md index b25feb4..4f5c065 100644 --- a/src/advanced/bp-ext.md +++ b/src/advanced/bp-ext.md @@ -22,5 +22,3 @@ Other supported options are: - `--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. - -Erigon supports [standard JSON-RPC methods](https://ethereum.org/en/developers/docs/apis/json-rpc/). diff --git a/src/advanced/downloader.md b/src/advanced/downloader.md index 525d0c2..03c535f 100644 --- a/src/advanced/downloader.md +++ b/src/advanced/downloader.md @@ -63,7 +63,7 @@ Available Commands: Flags: --chain string name of the network to join (default "mainnet") - --datadir string Data directory for the databases (default "/home/bloxster/.local/share/erigon") + --datadir string Data directory for the databases (default "/home/admin/.local/share/erigon") --db.writemap Enable WRITE_MAP feature for fast database writes and fast commit times (default true) --diagnostics.disabled Disable diagnostics --diagnostics.endpoint.addr string Diagnostics HTTP server listening interface (default "127.0.0.1") diff --git a/src/advanced/options.md b/src/advanced/options.md index 89b488b..dad7c77 100644 --- a/src/advanced/options.md +++ b/src/advanced/options.md @@ -11,6 +11,8 @@ The `--help` flag listing is reproduced below for your convenience. ./build/bin/erigon --help ``` + + ## Commands ``` @@ -29,11 +31,6 @@ COMMANDS: seg, snapshots, segments Managing historical data segments (partitions) support Connect Erigon instance to a diagnostics system for support help, h Shows a list of commands or help for one command - init Bootstrap and initialize a new genesis block - import Import a blockchain file - seg, snapshots, segments Managing historical data segments (partitions) - support Connect Erigon instance to a diagnostics system for support - help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --datadir value Data directory for the databases (default: /home/bloxster/.local/share/erigon) @@ -53,10 +50,6 @@ GLOBAL OPTIONS: --txpool.commit.every value How often transactions should be committed to the storage (default: 15s) --prune.distance value Keep state history for the latest N blocks (default: everything) (default: 0) --prune.distance.blocks value Keep block history for the latest N blocks (default: everything) (default: 0) - --prune.mode value Choose a pruning preset to run onto. Available values: "full", "archive", "minimal". - Full: Keep only blocks and latest state, - Archive: Keep the entire indexed database, aka. no pruning, - Minimal: Keep only latest state (default: "full") --prune.mode value Choose a pruning preset to run onto. Available values: "full", "archive", "minimal". Full: Keep only blocks and latest state, Archive: Keep the entire indexed database, aka. no pruning, @@ -96,7 +89,6 @@ GLOBAL OPTIONS: --rpc.batch.concurrency value Does limit amount of goroutines to process 1 batch request. Means 1 bach request can't overload server. 1 batch still can have unlimited amount of request (default: 2) --rpc.streaming.disable Erigon has enabled json streaming for some heavy endpoints (like trace_*). It's a trade-off: greatly reduce amount of RAM (in some cases from 30GB to 30mb), but it produce invalid json format if error happened in the middle of streaming (because json is not streaming-friendly format) (default: false) --db.read.concurrency value Does limit amount of parallel db reads. Default: equal to GOMAXPROCS (or number of CPU) (default: 1408) - --db.read.concurrency value Does limit amount of parallel db reads. Default: equal to GOMAXPROCS (or number of CPU) (default: 1408) --rpc.accessList value Specify granular (method-by-method) API allowlist --trace.compat Bug for bug compatibility with OE for trace_ routines (default: false) --rpc.gascap value Sets a cap on gas that can be used in eth_call/estimateGas (default: 50000000) @@ -158,7 +150,6 @@ GLOBAL OPTIONS: --staticpeers value Comma separated enode URLs to connect to --trustedpeers value Comma separated enode URLs which are always allowed to connect, even above the peer limit --maxpeers value Maximum number of network peers (network disabled if set to 0) (default: 32) - --maxpeers value Maximum number of network peers (network disabled if set to 0) (default: 32) --chain value name of the network to join (default: "mainnet") --dev.period value Block period to use in developer mode (0 = mine only if transaction pending) (default: 0) --vmdebug Record information useful for VM and contract debugging (default: false) @@ -176,7 +167,6 @@ GLOBAL OPTIONS: --proposer.disable Disables PoS proposer (default: false) --miner.notify value Comma separated HTTP URL list to notify of new work packages --miner.gaslimit value Target gas limit for mined blocks (default: 36000000) - --miner.gaslimit value Target gas limit for mined blocks (default: 36000000) --miner.etherbase value Public address for block mining rewards (default: "0") --miner.extradata value Block extra data set by the miner (default = client version) --miner.noverify Disable remote sealing verification (default: false) @@ -211,12 +201,6 @@ GLOBAL OPTIONS: --caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "256KB") --caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "256KB") --caplin.adaptable-maximum-traffic-requirements Make the node adaptable to the maximum traffic requirement based on how many validators are being ran (default: true) - --caplin.subscribe-all-topics Subscribe to all gossip topics (default: false) - --caplin.max-peer-count value Max number of peers to connect (default: 80) - --caplin.enable-upnp Enable NAT porting for Caplin (default: false) - --caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "256KB") - --caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "256KB") - --caplin.adaptable-maximum-traffic-requirements Make the node adaptable to the maximum traffic requirement based on how many validators are being ran (default: true) --sentinel.addr value Address for sentinel (default: "localhost") --sentinel.port value Port for sentinel (default: 7777) --sentinel.bootnodes value [ --sentinel.bootnodes value ] Comma separated enode URLs for P2P discovery bootstrap @@ -234,7 +218,6 @@ GLOBAL OPTIONS: --silkworm.rpc.workers value Number of worker threads used in embedded Silkworm RPC service (zero means use default in Silkworm) (default: 0) --silkworm.rpc.compatibility Preserve JSON-RPC compatibility using embedded Silkworm RPC service (default: true) --beacon.api value [ --beacon.api value ] Enable beacon API (available endpoints: beacon, builder, config, debug, events, node, validator, lighthouse) - --beacon.api value [ --beacon.api value ] Enable beacon API (available endpoints: beacon, builder, config, debug, events, node, validator, lighthouse) --beacon.api.addr value sets the host to listen for beacon api requests (default: "localhost") --beacon.api.cors.allow-methods value [ --beacon.api.cors.allow-methods value ] set the cors' allow methods (default: "GET", "POST", "PUT", "DELETE", "OPTIONS") --beacon.api.cors.allow-origins value [ --beacon.api.cors.allow-origins value ] set the cors' allow origins @@ -251,7 +234,6 @@ GLOBAL OPTIONS: --caplin.blobs-no-pruning disable blob pruning in caplin (default: false) --caplin.checkpoint-sync.disable disable checkpoint sync in caplin (default: false) --caplin.snapgen enables snapshot generation in caplin (default: false) - --caplin.snapgen enables snapshot generation in caplin (default: false) --caplin.mev-relay-url value MEV relay endpoint. Caplin runs in builder mode if this is set --caplin.validator-monitor Enable caplin validator monitoring metrics (default: false) --caplin.custom-config value set the custom config for caplin diff --git a/src/basic/disk-space.md b/src/basic/disk-space.md index 36ae815..31eaa04 100644 --- a/src/basic/disk-space.md +++ b/src/basic/disk-space.md @@ -3,6 +3,7 @@ # Mainnets + ## Erigon with Caplin | Network | Archive Node | Full Node | Minimal Node | @@ -15,6 +16,7 @@ See also [sync times](https://github.com/erigontech/erigon?tab=readme-ov-file#sy