# Ethereum Dev

- [Infrastructure](https://docs.eridian.xyz/ethereum-dev/infrastructure.md)
- [Hardware](https://docs.eridian.xyz/ethereum-dev/infrastructure/hardware.md): Notes on my hardware.
- [Ethereum Clients](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software.md): Notes on how to install, use and maintain multiple Ethereum validator clients.
- [Execution Clients](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients.md)
- [Geth](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/geth.md): Notes on how to install, use and maintain a Geth client.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/geth/installation.md): Geth client installation guide.
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/geth/useful-commands.md): Notes on how to use a Geth Client.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/geth/maintenance.md): Notes on how to maintain and update a Geth Client.
- [Erigon](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/erigon.md): Notes on how to install, use and maintain an Erigon client.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/erigon/installation.md): Erigon client installation guide.
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/erigon/useful-commands.md): Notes on how to use a Geth Client.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/erigon/maintenance.md): Notes on how to maintain and update a Geth Client.
- [Besu](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/besu.md): Notes on how to install, use and maintain a Besu client.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/besu/installation.md): Besu client installation guide.
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/besu/useful-commands.md): Notes on how to use a Besu Client.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients/besu/maintenance.md): Notes on how to maintain and update a Besu Client.
- [Beacon Clients](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients.md)
- [Lighthouse](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/lighthouse.md): Notes on how to install, use and maintain Lighthouse BN.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/lighthouse/installation.md): Lighthouse client installation guide.
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/lighthouse/useful-commands.md): Notes on how to use a Lighthouse Beacon Node.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/lighthouse/maintenance.md): Notes on how to maintain and update a Lighthouse client.
- [Teku](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/teku.md): Notes on how to install, use and maintain Teku BN.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/teku/installation.md): Teku client installation guide.
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/teku/useful-commands.md): Notes on how to use a Teku BN.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/beacon-clients/teku/maintenance.md): Notes on how to maintain and update a Teku client.
- [Validator Clients](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/validator-clients.md)
- [Lighthouse](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/validator-clients/lighthouse.md): Notes on how to install and maintain a Lighthouse Validator client.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/validator-clients/lighthouse/installation.md): Lighthouse Validator client installation guide.
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/validator-clients/lighthouse/useful-commands.md): Notes on how to use a Lighthouse Validator Client.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/validator-clients/lighthouse/maintenance.md): Notes on how to maintain and update a Lighthouse Validator Client.
- [MEV Boost](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/mev-boost.md): Notes on how to install and maintain an MEV Boost client.
- [Installation](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/mev-boost/installation.md): MEV Boost client installation guide.
- [Maintenance](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/mev-boost/maintenance.md): Notes on how to maintain and update an MEV Boost client.
- [Alerting and Monitoring](https://docs.eridian.xyz/ethereum-dev/infrastructure/alerting-and-monitoring.md)
- [Prometheus](https://docs.eridian.xyz/ethereum-dev/infrastructure/alerting-and-monitoring/prometheus.md)
- [HealthChecks.io](https://docs.eridian.xyz/ethereum-dev/infrastructure/alerting-and-monitoring/healthchecks.io.md)
- [PagerDuty](https://docs.eridian.xyz/ethereum-dev/infrastructure/alerting-and-monitoring/pagerduty.md)
- [Ethereum Notes](https://docs.eridian.xyz/ethereum-dev/ethereum-notes.md)
- [Technical Basics](https://docs.eridian.xyz/ethereum-dev/ethereum-notes/technical-basics.md)
- [Ethereum Addresses](https://docs.eridian.xyz/ethereum-dev/ethereum-notes/ethereum-addresses.md)
- [Ethereum State Explained](https://docs.eridian.xyz/ethereum-dev/ethereum-notes/ethereum-state-explained.md)
- [Gas Fees Explained](https://docs.eridian.xyz/ethereum-dev/ethereum-notes/gas-fees-explained.md)
- [Useful Tools](https://docs.eridian.xyz/ethereum-dev/useful-tools.md)
- [Ethers](https://docs.eridian.xyz/ethereum-dev/useful-tools/ethers.md)
- [Ethernal](https://docs.eridian.xyz/ethereum-dev/useful-tools/ethernal.md)
- [Solidity Notes](https://docs.eridian.xyz/ethereum-dev/solidity-notes.md)
- [Interview Questions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/interview-questions.md)
- [1. Easy - Interview Questions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/interview-questions/1.-easy-interview-questions.md)
- [2. Medium - Interview Questions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/interview-questions/2.-medium-interview-questions.md)
- [3. Hard - Interview Questions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/interview-questions/3.-hard-interview-questions.md)
- [4. Advanced - Interview Questions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/interview-questions/4.-advanced-interview-questions.md)
- [Note Ideas](https://docs.eridian.xyz/ethereum-dev/solidity-notes/note-ideas.md)
- [ABI](https://docs.eridian.xyz/ethereum-dev/solidity-notes/abi.md)
- [abi.encodePacked](https://docs.eridian.xyz/ethereum-dev/solidity-notes/abi.encodepacked.md)
- [Abstract Contracts](https://docs.eridian.xyz/ethereum-dev/solidity-notes/abstract-contracts.md)
- [Arrays](https://docs.eridian.xyz/ethereum-dev/solidity-notes/arrays.md)
- [Casting](https://docs.eridian.xyz/ethereum-dev/solidity-notes/casting.md)
- [CEI - Checks, Effects, Interactions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/cei-checks-effects-interactions.md)
- [Comments (NATSPEC)](https://docs.eridian.xyz/ethereum-dev/solidity-notes/comments-natspec.md)
- [Constructor](https://docs.eridian.xyz/ethereum-dev/solidity-notes/constructor.md)
- [Contract Structure & Versions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/contract-structure-versions.md)
- [Data - Storage vs Memory](https://docs.eridian.xyz/ethereum-dev/solidity-notes/data-storage-vs-memory.md)
- [Data - Storage Layout](https://docs.eridian.xyz/ethereum-dev/solidity-notes/data-storage-layout.md)
- [Enum](https://docs.eridian.xyz/ethereum-dev/solidity-notes/enum.md)
- [Errors (require & revert)](https://docs.eridian.xyz/ethereum-dev/solidity-notes/errors-require-and-revert.md)
- [Events](https://docs.eridian.xyz/ethereum-dev/solidity-notes/events.md)
- [EVM Opcodes](https://docs.eridian.xyz/ethereum-dev/solidity-notes/evm-opcodes.md)
- [External Contract Interaction](https://docs.eridian.xyz/ethereum-dev/solidity-notes/external-contract-interaction.md)
- [External Dependencies](https://docs.eridian.xyz/ethereum-dev/solidity-notes/external-dependencies.md)
- [Functions](https://docs.eridian.xyz/ethereum-dev/solidity-notes/functions.md)
- [Function Modifiers](https://docs.eridian.xyz/ethereum-dev/solidity-notes/function-modifiers.md)
- [If / Else / For / While Loops](https://docs.eridian.xyz/ethereum-dev/solidity-notes/if-else-for-while-loops.md)
- [Inheritance](https://docs.eridian.xyz/ethereum-dev/solidity-notes/inheritance.md)
- [Interfaces](https://docs.eridian.xyz/ethereum-dev/solidity-notes/interfaces.md)
- [Keccak256](https://docs.eridian.xyz/ethereum-dev/solidity-notes/keccak256.md)
- [Library](https://docs.eridian.xyz/ethereum-dev/solidity-notes/library.md)
- [Mappings](https://docs.eridian.xyz/ethereum-dev/solidity-notes/mappings.md)
- [msg.sender](https://docs.eridian.xyz/ethereum-dev/solidity-notes/msg.sender.md)
- [Objects & Types](https://docs.eridian.xyz/ethereum-dev/solidity-notes/objects-and-types.md)
- [OpenZeppelin](https://docs.eridian.xyz/ethereum-dev/solidity-notes/openzeppelin.md)
- [Payable](https://docs.eridian.xyz/ethereum-dev/solidity-notes/payable.md)
- [Public State Variable vs Function](https://docs.eridian.xyz/ethereum-dev/solidity-notes/public-state-variable-vs-function.md)
- [Receive & Fallback](https://docs.eridian.xyz/ethereum-dev/solidity-notes/receive-and-fallback.md)
- [Security](https://docs.eridian.xyz/ethereum-dev/solidity-notes/security.md)
- [Self Destruct](https://docs.eridian.xyz/ethereum-dev/solidity-notes/self-destruct.md)
- [Send ETH (transfer, send, call)](https://docs.eridian.xyz/ethereum-dev/solidity-notes/send-eth-transfer-send-call.md)
- [Stack Too Deep](https://docs.eridian.xyz/ethereum-dev/solidity-notes/stack-too-deep.md)
- [Structs](https://docs.eridian.xyz/ethereum-dev/solidity-notes/structs.md)
- [Style Guide](https://docs.eridian.xyz/ethereum-dev/solidity-notes/style-guide.md)
- [Time Units](https://docs.eridian.xyz/ethereum-dev/solidity-notes/time-units.md)
- [Try / Catch](https://docs.eridian.xyz/ethereum-dev/solidity-notes/try-catch.md)
- [Typecasting](https://docs.eridian.xyz/ethereum-dev/solidity-notes/typecasting.md)
- [Using Directive](https://docs.eridian.xyz/ethereum-dev/solidity-notes/using-directive.md)
- [Variables, Consts & Immutable](https://docs.eridian.xyz/ethereum-dev/solidity-notes/variables-consts-and-immutable.md)
- [Withdraws](https://docs.eridian.xyz/ethereum-dev/solidity-notes/withdraws.md)
- [Foundry Notes](https://docs.eridian.xyz/ethereum-dev/foundry-notes.md)
- [Docs & GitHub Pages](https://docs.eridian.xyz/ethereum-dev/foundry-notes/docs-and-github-pages.md)
- [Useful Commands](https://docs.eridian.xyz/ethereum-dev/foundry-notes/useful-commands.md)
- [Anvil](https://docs.eridian.xyz/ethereum-dev/foundry-notes/useful-commands/anvil.md)
- [Cast](https://docs.eridian.xyz/ethereum-dev/foundry-notes/useful-commands/cast.md)
- [Forge](https://docs.eridian.xyz/ethereum-dev/foundry-notes/useful-commands/forge.md)
- [Tests](https://docs.eridian.xyz/ethereum-dev/foundry-notes/tests.md)
- [Cheatcodes](https://docs.eridian.xyz/ethereum-dev/foundry-notes/tests/cheatcodes.md)
- [Useful Scripts](https://docs.eridian.xyz/ethereum-dev/foundry-notes/useful-scripts.md)
- [Deploy Contract Using Hex](https://docs.eridian.xyz/ethereum-dev/foundry-notes/useful-scripts/deploy-contract-using-hex.md)
- [DeFi Challenges](https://docs.eridian.xyz/ethereum-dev/defi-challenges.md)
- [Ethernaut](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut.md)
- [Ethernaut - Template](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/ethernaut-template.md)
- [Level 1 - Fallback ⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-1-fallback.md)
- [Level 2 - Fallout ⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-2-fallout.md)
- [Level 3 - Coin Flip ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-3-coin-flip.md)
- [Level 4 - Telephone ⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-4-telephone.md)
- [Level 5 - Token ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-5-token.md)
- [Level 6 - Delegation ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-6-delegation.md)
- [Level 7 - Force ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-7-force.md)
- [Level 8 - Vault ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-8-vault.md)
- [Level 9 - King ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-9-king.md)
- [Level 10 - Re-entrancy ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-10-re-entrancy.md)
- [Level 11 - Elevator ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-11-elevator.md)
- [Level 12 - Privacy ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-12-privacy.md)
- [Level 13 - Gatekeeper 1 ⏺⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-13-gatekeeper-1.md)
- [Level 14 - Gatekeeper 2 ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-14-gatekeeper-2.md)
- [Level 15 - Naught Coin ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-15-naught-coin.md)
- [Level 16 - Preservation ⏺⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-16-preservation.md)
- [Level 17 - Recovery ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-17-recovery.md)
- [Level 18 - Magic Number ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-18-magic-number.md)
- [Level 19 - Alien Codex ⏺⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-19-alien-codex.md)
- [Level 20 - Denial ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-20-denial.md)
- [Level 21 - Shop ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-21-shop.md)
- [Level 22 - Dex ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-22-dex.md)
- [Level 23 - Dex Two ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-23-dex-two.md)
- [Level 24 - Puzzle Wallet ⏺⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-24-puzzle-wallet.md)
- [Level 25 - Motorbike ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-25-motorbike.md)
- [Level 26 - DoubleEntryPoint ⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-26-doubleentrypoint.md)
- [Level 27 - Good Samaritan ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-27-good-samaritan.md)
- [Level 28 - Gatekeeper 3 ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-28-gatekeeper-3.md)
- [Level 29 - Switch ⏺⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-29-switch.md)
- [Level 30 - Higher Order ⏺⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-30-higher-order.md)
- [Level 31 - Stake ⏺⏺⏺](https://docs.eridian.xyz/ethereum-dev/defi-challenges/ethernaut/level-31-stake.md)
- [Damn Vulnerable DeFi](https://docs.eridian.xyz/ethereum-dev/defi-challenges/damn-vulnerable-defi.md)
- [Auditing](https://docs.eridian.xyz/ethereum-dev/auditing.md)
- [Exploit Resources](https://docs.eridian.xyz/ethereum-dev/auditing/exploit-resources.md)
- [Audit Tools](https://docs.eridian.xyz/ethereum-dev/auditing/audit-tools.md)
- [MEV](https://docs.eridian.xyz/ethereum-dev/mev.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eridian.xyz/ethereum-dev.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
