You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you are going to use a 3rd-party eth1chain provider, edit `.env` and set either `LH_ETH1_NODE` or `PRYSM_ETH1_NODE` to
63
+
point to your provider, and use the `eth2-3rd` target once you have imported keys and are ready.
64
+
29
65
## Create an eth2 wallet and deposit files
30
66
31
67
You will deposit eth to the deposit contract, and receive locked eth2 in turn.
@@ -42,7 +78,9 @@ is just one (1) validator.
42
78
With that said, this command will get you ready to deposit eth:
43
79
`sudo docker-compose run deposit-cli`
44
80
45
-
The created files will be in the directory `.eth2` in this project.
81
+
The created files will be in the directory `.eth2/validator_keys` in this project.
82
+
This is also where you'd place your own keystore files if you already have some for import.
83
+
46
84
Please see the file `KEY-SECURITY.md` in this project for some notes on
47
85
key security.
48
86
@@ -64,8 +102,16 @@ While this project gives you the freedom to shoot yourself in the foot like that
64
102
65
103
## Create a wallet by importing validator keys
66
104
105
+
### You brought your own keys
106
+
107
+
They go into `.eth2/validator_keys` in this project directory, not directly under `$HOME`.
108
+
Make **damn sure** your old validator is down and will stay down, you will get slashed
109
+
if both are up at the same time.
110
+
67
111
### Lighthouse
68
112
113
+
**Warning** Import your validator key(s) to only *one* client.
114
+
69
115
Once both your withdrawal key (mnemonic) and validator key(s) (`keystore-m_ID.json` file(s))
70
116
are secured offline, and **not** before, import the validator key(s) to the Lighthouse
71
117
validator client:
@@ -120,25 +166,48 @@ Then, and **only** then:
120
166
121
167
### Lighthouse
122
168
123
-
To start the lighthouse client, both beacon and validator, with local geth:
169
+
To start the Lighthouse client, both beacon and validator, with local geth:
170
+
171
+
```
172
+
sudo docker-compose up -d eth2
173
+
```
174
+
175
+
Instead, if you are using a 3rd-party eth1chain, make sure that `LH_ETH1_NODE` in the file `.env` is pointing to it.
176
+
177
+
To start the Lighthouse client, both beacon and validator, with 3rd party eth1chain:
124
178
125
179
```
126
-
sudo docker-compose up -d lighthouse
180
+
sudo docker-compose up -d eth2-3rd
127
181
```
128
182
129
183
If, however, you chose not to store the wallet password locally, bring the services
130
184
up individually instead:
131
185
186
+
With local geth:
187
+
132
188
```
133
189
sudo docker-compose up -d geth lh-beacon
190
+
```
191
+
192
+
Or with 3rd party eth1chain:
193
+
```
194
+
sudo docker-compose up -d lh-beacon
195
+
196
+
```
197
+
198
+
Then "run" the validator so it can prompt you for input:
199
+
```
134
200
sudo docker-compose run lh-validator
135
201
```
136
202
137
203
After providing the wallet password, use the key sequence Ctrl-p Ctrl-q to detach
138
204
from the running container.
139
205
206
+
140
207
### Prysm
141
208
209
+
The Prysm client requires copying in a file, see the start of this document.
210
+
142
211
Note that the Prysm client will find its external IP, but this repo assumes
143
212
that IP is static. You can restart the container, possibly via crontab, with
144
213
`docker-compose restart prysm-beacon` if your IP is dynamic.
@@ -147,14 +216,31 @@ Work to support dynamic DNS would also be welcome.
147
216
To start the Prysm client, both beacon and validator, with local geth:
148
217
149
218
```
150
-
sudo docker-compose up -d prysm
219
+
sudo docker-compose up -d eth2
220
+
```
221
+
222
+
Instead, if you are using a 3rd-party eth1chain, make sure that `PRYSM_ETH1_NODE` in the file `.env` is pointing to it.
223
+
To start the Prysm client, both beacon and validator, with 3rd party eth1chain:
224
+
225
+
```
226
+
sudo docker-compose up -d eth2-3rd
151
227
```
152
228
153
229
If, however, you chose not to store the wallet password locally, bring the services
154
230
up individually instead:
155
231
232
+
With local geth:
156
233
```
157
234
sudo docker-compose up -d geth prysm-beacon
235
+
```
236
+
237
+
Or with 3rd-party eth1chain:
238
+
```
239
+
sudo docker-compose up -d prysm-beacon
240
+
```
241
+
242
+
Then "run" the validator so it can prompt you for input:
243
+
```
158
244
sudo docker-compose run prysm-validator
159
245
```
160
246
@@ -193,13 +279,23 @@ cd eth2-docker
193
279
cp default.env .env
194
280
```
195
281
282
+
After copying the `default.env` file, you **must** adjust the contents
283
+
of `.env` to your environment.
284
+
Specifically, set the first entry `DEPCLI_UID` to your UID if you are running
285
+
this on Linux. You can find your UID with `echo $UID`.
286
+
287
+
There is no need to touch the other UIDs in this file.
288
+
196
289
Other distributions are expected to work as long as they support
197
290
git, docker, and docker-compose.
198
291
199
292
## Windows 10 Prerequisites
200
293
201
294
Install [Docker Desktop](https://www.docker.com/products/docker-desktop), [git](https://git-scm.com/download/win), and [Python 3](https://www.python.org/downloads/windows/). Note you can also type `python3` into a Powershell window and it will bring you to the Microsoft Store for a recent Python 3 version.
202
295
296
+
You have to copy the `default.env` file to `.env`, from Powershell: `cp default.env .env`.
297
+
After copying this file, you *should* adjust the contents of `.env` to your environment.
298
+
203
299
Docker Desktop can be used with the WSL2 backend if desired, or without it.
204
300
205
301
You will run the docker-compose and docker commands from Powershell. You do not need `sudo` in front of those commands.
0 commit comments