https://github.com/austintgriffith/cloud-eth2
my cloud eth2 scripts for an aws ubuntu ec2 instance
https://github.com/austintgriffith/cloud-eth2
Last synced: 12 months ago
JSON representation
my cloud eth2 scripts for an aws ubuntu ec2 instance
- Host: GitHub
- URL: https://github.com/austintgriffith/cloud-eth2
- Owner: austintgriffith
- Created: 2020-11-30T15:48:24.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-30T23:58:27.000Z (over 5 years ago)
- Last Synced: 2025-05-07T12:13:10.414Z (about 1 year ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 11
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cloud-eth2
> scripts and instructions for running an eth2 node on aws ec2 (ubuntu)
Launch an EC2 instance with the Ubuntu Server 20 AMI
I went with a `c4.xlarge` with 400GB free

I have ports 30303 and 13000 open in your secuirty group and 22 for ssh from my home ip

SSH in and clone down this repo:
```bash
git clone https://github.com/austintgriffith/cloud-eth2.git
```
Navigate to the cloud-eth2/geth directory and install Geth (eth1 client):
```bash
cd ~/cloud-eth2
cd geth
chmod +x *.sh
./installAndUpdate.sh
```
Tell `pm2` (a process manager) to run our geth node on boot:
```bash
pm2 start geth.js
pm2 save
pm2 startup
```
It will give you a PATH command you need to run:

You should be able to follow your `geth.log` now (even after you reboot the machine, it should run at boot):
```bash
cd ~/cloud-eth2/geth
tail -f geth.log
```

> It could take a while for your geth node to sync with the mainnet eth1 chain. (You know it is done when it is processing 1 block at a time.)
While it syncs, you can get started with Prysm...
Navigate to the prysm folder, make the script executable, and install:
```bash
cd ~/cloud-eth2
cd prysm
chmod +x *.sh
./installAndUpdate.sh
```
Now you can launch your Prysm beacon chain process and add it to PM2:
```bash
pm2 start prysm.js
pm2 save
```
You can follow the logs for your Prysm beacon chain:
```bash
tail -f prysm.log
```
You'll notice that it needs to wait for the geth node to be in sync first:

You will want to move your ETH2 keys from the LaunchPad into `~/cloud-eth2/prysm/eth2_validator_keys`.
Then, run the import script to bring them into Prysm:
```bash
cd ~/cloud-eth2
cd prysm
./importKeys.sh
```
Finally, you are ready to fire up your validator:
```bash
pm2 start validator.js
pm2 save
```