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
Copy file name to clipboardExpand all lines: lib/ethereum/README.md
+97-6Lines changed: 97 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,18 +89,109 @@ aws ec2 create-default-vpc
89
89
90
90
> **NOTE:***The default VPC must have at least two public subnets in different Availability Zones, and public subnet must set `Auto-assign public IPv4 address` to `YES`*
91
91
92
-
3.Configure your setup
92
+
3.With the [Node Runners blueprints for Ethereum](https://github.com/aws-samples/aws-blockchain-node-runners/tree/main/lib/ethereum), you can deploy both single Ethereum nodes and multi-node high-availability configurations on AWS. Furthermore, Node Runners is designed to support client diversity, with configurations available for a variety of client combinations for the Execution Layer (EL) and Consensus Layer (CL).
93
93
94
-
Create your own copy of `.env` file and edit it:
94
+
Configure your setup.
95
+
96
+
### Execution and Consensus Layer Client Options
97
+
98
+
<details>
99
+
100
+
<summary>Geth Lighthouse</summary>
101
+
<br/>
102
+
103
+
**Configure your Node Runners Ethereum - Geth Lighthouse**
104
+
105
+
To specify the Ethereum client combination you wish to deploy, create your own copy of `.env` file and edit it using your preferred text editor. The contents of your file for a Geth / Lighthouse node deployment is as follows, which uses a sample config from the repository:
95
106
```bash
96
107
# Make sure you are in aws-blockchain-node-runners/lib/ethereum
97
108
cd lib/ethereum
98
109
pwd
99
110
cp ./sample-configs/.env-geth-lighthouse .env
100
111
nano .env
101
112
```
102
-
> **NOTE:***You can find more examples inside the `sample-configs` directory.*
113
+
> **NOTE:***You can find more examples inside the `sample-configs` directory, which illustrate other Ethereum client combinations.*
114
+
115
+
</details>
116
+
117
+
<details>
118
+
119
+
<summary>Erigon Lighthouse</summary>
120
+
<br/>
121
+
122
+
**Configure your Node Runners Ethereum - Erigon Lighthouse**
123
+
124
+
To specify the Ethereum client combination you wish to deploy, create your own copy of `.env` file and edit it using your preferred text editor. The contents of your file for a Erigon / Prysm node deployment is as follows, which uses a sample config from the repository:
125
+
```bash
126
+
# Make sure you are in aws-blockchain-node-runners/lib/ethereum
127
+
cd lib/ethereum
128
+
pwd
129
+
cp ./sample-configs/.env-erigon-lighthouse .env
130
+
nano .env
131
+
```
132
+
> **NOTE:***You can find more examples inside the `sample-configs` directory, which illustrate other Ethereum client combinations.*
133
+
134
+
</details>
135
+
136
+
<details>
137
+
138
+
<summary>Erigon Prysm</summary>
139
+
<br/>
140
+
141
+
**Configure your Node Runners Ethereum - Erigon Prysm**
142
+
143
+
To specify the Ethereum client combination you wish to deploy, create your own copy of `.env` file and edit it using your preferred text editor. The contents of your file for a Erigon / Prysm node deployment is as follows, which uses a sample config from the repository:
144
+
```bash
145
+
# Make sure you are in aws-blockchain-node-runners/lib/ethereum
146
+
cd lib/ethereum
147
+
pwd
148
+
cp ./sample-configs/.env-erigon-prysm .env
149
+
nano .env
150
+
```
151
+
> **NOTE:***You can find more examples inside the `sample-configs` directory, which illustrate other Ethereum client combinations.*
152
+
153
+
</details>
154
+
155
+
156
+
<details>
157
+
158
+
<summary>Nethermind Teku</summary>
159
+
<br/>
160
+
161
+
**Configure your Node Runners Ethereum - Nethermind Teku**
162
+
163
+
To specify the Ethereum client combination you wish to deploy, create your own copy of `.env` file and edit it using your preferred text editor. The contents of your file for a Geth / Lighthouse node deployment is as follows, which uses a sample config from the repository:
164
+
```bash
165
+
# Make sure you are in aws-blockchain-node-runners/lib/ethereum
166
+
cd lib/ethereum
167
+
pwd
168
+
cp ./sample-configs/.env-nethermind-teku .env
169
+
nano .env
170
+
```
171
+
> **NOTE:***You can find more examples inside the `sample-configs` directory, which illustrate other Ethereum client combinations.*
103
172
173
+
</details>
174
+
175
+
<details>
176
+
177
+
<summary>Besu Teku</summary>
178
+
<br/>
179
+
180
+
**Configure your Node Runners Ethereum - Besu Teku**
181
+
182
+
To specify the Ethereum client combination you wish to deploy, create your own copy of `.env` file and edit it using your preferred text editor. The contents of your file for a Geth / Lighthouse node deployment is as follows, which uses a sample config from the repository:
183
+
```bash
184
+
# Make sure you are in aws-blockchain-node-runners/lib/ethereum
185
+
cd lib/ethereum
186
+
pwd
187
+
cp ./sample-configs/.env-besu-teku .env
188
+
nano .env
189
+
```
190
+
> **NOTE:***You can find more examples inside the `sample-configs` directory, which illustrate other Ethereum client combinations.*
191
+
192
+
</details>
193
+
194
+
Don’t see a client or client combination you would like supported? Open a GitHub [issue](https://github.com/aws-samples/aws-blockchain-node-runners/issues) or [Pull Request](https://github.com/aws-samples/aws-blockchain-node-runners/pulls), we encourage [contribution](https://github.com/aws-samples/aws-blockchain-node-runners/blob/main/CONTRIBUTING.md) to Node Runners!
104
195
105
196
4. Deploy common components such as IAM role, and Amazon S3 bucket to store data snapshots
- Navigate to [CloudWatch service](https://console.aws.amazon.com/cloudwatch/) (make sure you are in the region you have specified for `AWS_REGION`)
127
218
- Open `Dashboards` and select `eth-sync-node-<your-eth-client-combination>` from the list of dashboards.
128
219
129
-
4. Once the initial synchronization is done, you should be able to access the RPC API of that node from within the same VPC. The RPC port is not exposed to the Internet. Tun the following query against the private IP of the single RPC node you deployed:
220
+
4. Once the initial synchronization is done, you should be able to access the RPC API of that node from within the same VPC. The RPC port is not exposed to the Internet. Turn the following query against the private IP of the single RPC node you deployed:
0 commit comments