|
1 | 1 | # Ethereum repository |
2 | 2 |
|
3 | | -Dappnode uses smart contracts to distribute the dappnode packages available in the Dappstore. The smart contracts are deployed in the Ethereum blockchain and the Dappnode client interacts with them to get the list of available packages and to download them. Your dappnode will need a connection to an Ethereum node in order to read the smart contracts and download the packages. There are two ways to establish this connection: |
| 3 | +Dappnode uses smart contracts to distribute Dappnode's packages available in the Dappstore and the Stakers tab. These smart contracts are deployed on the Ethereum blockchain, and the execution client interacts with them to get the list of available packages and download them. |
4 | 4 |
|
5 | | -- **Full Node**: By running a Full Node, you host the Ethereum blockchain. This ensures maximum control and independence, but requires syncing and maintaining the blockchain's latest state. |
6 | | - |
7 | | -- **Remote Node**: Using a Remote Node means relying on an external Ethereum node. It's less resource-intensive but demands trust in the node operator. |
| 5 | +Your Dappnode will therefore need access to an Ethereum node in order to read the smart contracts and fetch the packages. |
8 | 6 |
|
| 7 | +## How the connection works |
9 | 8 |
|
10 | | -:::tip |
11 | | -To configure your dappnode Ethereum repository go to http://my.dappnode/repository/eth |
12 | | -::: |
| 9 | +Dappnode automatically manages the connection between **local** and **remote** Ethereum nodes: |
13 | 10 |
|
14 | | -## Run your own Ethereum node |
| 11 | +- If you have a **healthy Ethereum node** running locally, Dappnode will use it. |
| 12 | +- If your local node is **syncing, unavailable, or unhealthy**, Dappnode will automatically fall back to a **remote node** to ensure uninterrupted access to the packages. |
15 | 13 |
|
16 | | -When choosing to run your own Ethereum node, you will need to select: |
| 14 | +This means you no longer need to manually toggle between local and remote. Dappnode takes care of it for you. |
17 | 15 |
|
18 | | -1. **Execution client** |
19 | | -2. **Consensus client** |
| 16 | +## Overwrite Dappnode's remote Ethereum node |
20 | 17 |
|
21 | | -Moreover, it is **highly recommended to enable** these additional options: |
| 18 | +When remote mode is used, by default Dappnode connects to the **official Dappnode Ethereum node**. |
22 | 19 |
|
23 | | -3. **Use remote during syncing or errors**: If enabled, this will auto-switch from your Local node to the Dappnode Remote node under certain conditions. For instance, if your Ethereum node is syncing or if it's unavailable for some reason. Activating this option ensures uninterrupted access to the Dappnode smart contracts even if there's an issue with your Local node. |
24 | | - |
25 | | -4. **Use checkpointsync**: By enabling this, your consensus client will utilize a checkpoint to fast-track the syncing of the Ethereum blockchain, making the process much quicker. |
26 | | - |
27 | | -:::caution |
28 | | -Making changes here will also modify selections in the [Stakers](http://my.dappnode/stakers) tab. |
29 | | -::: |
30 | | - |
31 | | - |
32 | | - |
33 | | -:::caution |
34 | | -Running your own Ethereum node requires a lot of resources. You will need a powerful machine with a lot of storage and a good internet connection. If you don't have a powerful machine, you can use a remote Ethereum node. |
35 | | -::: |
36 | | - |
37 | | -## Use a remote Ethereum node |
38 | | - |
39 | | -You can use a remote Ethereum node to connect to the Ethereum network. You will need to trust the node operator. |
40 | | - |
41 | | - |
42 | | - |
43 | | -:::note |
44 | | -At the moment, we only support Dappnode official Ethereum node. We are working on a way to allow users to add their own remote Ethereum nodes RPC endpoints. See https://github.com/dappnode/DNP_DAPPMANAGER/issues/1245 |
45 | | -::: |
46 | | - |
47 | | -<hr /> |
48 | | - |
49 | | -### Troubleshooting |
50 | | - |
51 | | -<details> |
52 | | - <summary><b>Why did my clients change in the Full Node Repository selection?</b></summary> |
53 | | - |
54 | | - At the moment, Dappnode only supports running one Ethereum mainnet node. If you change your selection in the [Stakers](http://my.dappnode/stakers/ethereum) menu, it will also change in the [Repository](http://my.dappnode/repository/eth) menu. |
55 | | -</details> |
| 20 | +If desired, you can **overwrite the RPC endpoint** by configuring it in the Dappmanager’s package settings: |
| 21 | +[http://my.dappnode/packages/system/dappmanager.dnp.dappnode.eth/config](http://my.dappnode/packages/system/dappmanager.dnp.dappnode.eth/config) |
| 22 | + |
0 commit comments