• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    Dockerfile
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MyEtherWallet AWS set up. Deploy public-facing Ethereum nodes using AWS CloudFormation / Docker / Parity / Geth / ethstats

docker-geth-lb

docker image for latest geth deployment

Overview

This project provides a means to quickly deploy public-facing Ethereum nodes using AWS CloudFormation technology.

Under the hood we're using Docker, your choice of Geth or Parity, and an instance of ethstats to display real-time information about your deployed nodes.

Caution

The following details steps to deploy live code to real infrastructure. It will cost you real money. Please take time to understand Amazon's EC2 pricing before deploying. Always continuously monitor your account to ensure any accrued fees match your expectations.

As soon as you set up, you will want to set up billing alerts when certain thresholds are met. We did not do this initially and regretted it. Set up every ~$50 or so for total charges and/or EC2 charges. Adjust as necessary. We set it up to alert us on Slack as we meet certain thresholds and then email us directly when it gets out of hand. This ensures we stay aware, but don't get overloaded with notifications and take all emails seriously.

Prerequisites

  • An active Amazon Web Services account (quick setup guide).
    • For increased security, it is recommended by Amazon to create AWS Identity and Access Management user credentials for day-to-day interaction with AWS. Please see this page for a thorough explanation and instructions. Also, be sure to turn on multi-factor authentication for any account you create.
  • A key pair registered to your AWS account (guide here).

Deploying to AWS

  • Be sure you've met all the prerequisites.

  • Choose your node type:

    • Amazon CloudFormation uses JSON templates to deploy predefined infrastructure. We've created templates for both Geth and Parity. Depending on the type of node you'd like to run, save one of the following to your machine:
    • Geth
    • Parity
  • Visit the AWS console and log into your account.

  • Click on the Services button at the top to open a dropdown. Under Management Tools, click on CloudFormation.

  • Click the blue Create Stack button in the top left.

  • Under the Choose a template heading, select Upload a template to Amazon S3 and click Choose File. Navigate to and select the geth or parity template you saved previously. Click the blue Next button in the bottom right.

  • You'll be presented a list of configurable parameters for your CloudFormation stack. Here's each of them and what they mean:

    • Stack name
      • The name of the stack as it will appear in your Amazon account. Name it whatever you'd like.
    • ETHStatsPassword
      • The password that will be used to connect to the ethstats server. Please choose a secure password and remember it.
    • ETHStatsServer
      • The AWS EC2 type that will run the ethstats server. This doesn't have to be very powerful since it won't be handling a large amount of traffic. The t2.micro instance is selected by default.
    • InstanceType
      • The AWS EC2 type that will run the Ethereum node. The t2.medium instance is selected by default.
    • InstanceCount
      • The number of Ethereum nodes you would like to deploy.
    • KeyName
      • The name of the key pair you configured as a prerequisite.
    • SSHLocation
      • The IP address range that can SSH into the EC2 instances. The default is 0.0.0.0/0.
  • Once you are satisfied with your configuration, click the blue Next button in the bottom right.

  • You should arrive at the Options page. For this simple setup, nothing needs to be added here. Click the blue Next again.

  • Finally, take a moment to review your configuration. If everything looks good, click Create in the bottom right.

  • Amazon will now bring the template to life. Wait for the yellow CREATE_IN_PROGRESS status to switch to a green CREATE_COMPLETE before continuing.

  • Next, click on your newly deployed stack and then click on Outputs. You should see two keys, described below:

    • ETHStatsIP - The public-facing IP address of the ethstats server. Visit this in your browser to view the status of your Ethereum nodes.
    • URL - The public-facing URL used to connect to your Ethereum nodes.

Congratulations! You've just deployed one or more public-facing Ethereum nodes!

Undeploying from AWS

You can delete the infrastructure deployed in the previous step at any time:

  • Visit the AWS console and log into your account.
  • Click on the Services button at the top to open a dropdown. Under Management Tools, click on CloudFormation.
  • Right-click on the name of the deployed stack you'd like to erase. Select Delete Stack and affirm at the prompt.

More Repositories

1

etherwallet

JavaScript
2,331
star
2

MyEtherWallet

MyEtherWallet (our friends call us MEW) is a free, client-side interface helping you interact with the Ethereum blockchain.
Vue
1,259
star
3

ethereum-lists

A repository for maintaining lists of things like malicious URLs, fake token addresses, and so forth. We love lists.
JavaScript
560
star
4

VanityEth

Ethereum vanity address generator
JavaScript
490
star
5

MEWconnect-web-client

MEWconnect-web-client api
JavaScript
244
star
6

myetherapi

An API by MyEtherWallet. ETH / Ropsten / JSON RPC / Web3
JavaScript
94
star
7

MEWconnect

Everything related to MEWconnect
73
star
8

mew-wallet-android-kit

Kotlin
49
star
9

MEWconnect-Android

MEWconnect Android application
Kotlin
49
star
10

knowledge-base-v3

MyEtherWallet's Knowledge Base
JavaScript
45
star
11

knowledge-base

MyEtherWallet's Knowledge Base
EJS
30
star
12

mew-wallet-ios-kit

Swift
25
star
13

MEWconnect-iOS

Objective-C
23
star
14

mew-wallet-android-biz-logic

Kotlin
23
star
15

mewify

An experimental work of magic that would allow your local Mist interface to connect to an external (public-facing) node.
JavaScript
19
star
16

mew-wallet-ios-keychain

Swift
18
star
17

simplex-api

API to handle simplex integration
JavaScript
17
star
18

JSONSignAndEncrypt

JavaScript
14
star
19

utility-contracts

smart contracts which can be used as utility contracts to interact with the blockchain
JavaScript
13
star
20

MEW-wallet-iOS-secp256k1-package

Swift
12
star
21

bls-eth-swift

Shell
10
star
22

MEWconnect-landing-page

MEWconnect landing page source code
CSS
9
star
23

MEW-wallet-iOS-secp256k1

C
8
star
24

mew-ens-bot

MEW twitter bot that can register ens subdomains
TypeScript
8
star
25

serverless-api-partners

Serverless api to communicate with Changelly /Bity api
JavaScript
8
star
26

mew-wallet-ios-tweetnacl

⛔️ DEPRECATED. NEW REPO: https://github.com/mewwallet/mew-wallet-ios-tweetnacl
Swift
7
star
27

scrypt-wasm

Wasm version of scrypt crypto
Rust
6
star
28

ETHMuseum

Vue
5
star
29

eth2-keystore

eth2 keystore generator
JavaScript
5
star
30

dynamic-data

Hold data for MEW projects that can be updated without needing releases
5
star
31

auto-type-abi

TypeScript
4
star
32

wallet-bridge

Wallet-Bridge inspired by Trezor-Bridge, interface to interact with wallets
Perl
4
star
33

eth-denver-2022-bounty

All information needed for ETH Denver 2022 MEW bounties
JavaScript
4
star
34

MEWconnect-API-V2

JavaScript
4
star
35

mew-key-android

Java
4
star
36

mew-ccswap

MEW CCSwap
Vue
4
star
37

account-migrator

JavaScript
4
star
38

MEWwallet-landing-page

CSS
4
star
39

MEWconnect-hanshake-server

handshake server for MEW signer
JavaScript
4
star
40

MEWwallet-landing-page-ru

CSS
4
star
41

dns-watcher

Query Nameservers to verify proper resolution
JavaScript
4
star
42

myetherwallet-vue3

Vue
3
star
43

myetherwallet-v3

Clone of kvhnuke/etherwallet, the original home of MyEtherWallet versions 1-3 (Aug 2015-Fall 2017)
3
star
44

MyEtherWallet-V5-Design-Resources

All the design resources related to MyEtherWallet version 5
3
star
45

mew-components

SCSS
3
star
46

api-tx-broadcast

JavaScript
2
star
47

mew-maker-plugin

JavaScript
2
star
48

MEW-wallet-monorepo-Strings

2
star
49

mew-wallet-download-redirect

redirect download.mewwallet.com to correct link
HTML
2
star
50

Media

Art, logos, and other larger files related to MyEtherWallet
2
star
51

phishKill

app to look for phishing sites and report
JavaScript
2
star
52

ethblocks-contracts

Solidity contracts for ethblocks
Solidity
2
star
53

cryptorates-cacher

Cache coinmarketcap data
JavaScript
2
star
54

email-templates-mewforce

email templates - MEWForce
2
star
55

eth-list-merger

simple tool to merge ethereum list from different sources
JavaScript
2
star
56

mewcx-landing-page

Vue
2
star
57

Rainbow-kit

TypeScript
1
star
58

TeamMEW

Team MEW page
JavaScript
1
star
59

mewconnect-external-plugins

Plugins to integrate MEWconnect Protocol client into various libraries
JavaScript
1
star