# AWS - Amazon Cloud Service

Running a Webhash Node on AWS allows you to contribute to decentralized website hosting using reliable cloud infrastructure — and earn rewards for uptime and content storage.

***

#### ✅ Prerequisites

Make sure you have the following before getting started:

* AWS account with access to EC2
* Instance type: `t3.medium` or `t3.large`
* 100 GB EBS storage (attach during setup)
* Elastic IP (for static public IP)
* New Wallet (for node registration and rewards)

***

#### 🪙 Step 1: Create a Wallet & Fund It

This wallet will be used for node registration and earning Webhash rewards.

1. Create a wallet using MetaMask or any EVM-compatible wallet
2. Export the **private key** (⚠️ **don’t use your primary wallet**)

   🎥 [Watch: How to Export Private Key from MetaMask](https://www.youtube.com/watch?v=ke9j2wuYhPE\&t=96s)
3. Fund the wallet with **Sepolia ETH on Base** via the faucet:\
   👉 [Base Sepolia Faucet – Alchemy](https://www.alchemy.com/faucets/base-sepolia)

***

#### 🔌 Step 2: Get Your WebSocket RPC URLs

Webhash requires **two WebSocket URLs**:\
1️⃣ One for **Base Sepolia**\
2️⃣ One for **Ethereum Mainnet**&#x20;

***

**🔹 Option A: Using Alchemy (Recommended)**

You only need **one app** to get **both URLs**:

1. Go to the Alchemy Dashboard and log in
2. Click **"Create App"**
   * **Name**: Webhash Node
   * **Chain**: Base
   * **Network**: Base Sepolia
3. After the app is created, click **"Configure"** (top right)
4. Under **"Add Chains"**, enable **Ethereum → Mainnet**
5. Now go back to the app dashboard:
   * Click the **"Network"** tab
   * Copy the WebSocket URL for **Base Sepolia**
   * Then switch to **Ethereum Mainnet** and copy its WebSocket URL

✅ Examples:

* **Base Sepolia**: `wss://base-sepolia.g.alchemy.com/v2/your-api-key`
* **Ethereum Mainnet**: `wss://eth-mainnet.g.alchemy.com/v2/your-api-key`

📌 *Ensure both URLs start with `wss://`. HTTP URLs are not supported.*

***

**🔹 Option B: Using QuickNode**

1. Go to [QuickNode](https://www.quicknode.com)
2. Create **two endpoints**:
   * One for **Base Sepolia**
   * One for **Ethereum Mainnet**
3. Go to each endpoint’s dashboard
4. Copy the **WebSocket URL** from the **WebSockets tab**

✅ Examples:

* **Base Sepolia**: `wss://your-node.base-sepolia.quiknode.pro/your-key/`
* **Ethereum Mainnet**: `wss://your-node.ethereum.quiknode.pro/your-key/`

📌 *Again, make sure to copy the `wss://` URLs only. HTTP endpoints won't work.*

***

#### 💻 Step 3: Launch EC2 Instance

1. Go to AWS Console → EC2 → Launch Instance
2. Select **Ubuntu 22.04 LTS**
3. Choose instance type: `t3.medium` or `t3.large`
4. Attach a **100 GB EBS volume**
5. Under **Security Group Settings**, allow:
   * TCP/UDP on port **4001** (for IPFS swarm)

***

#### 🌐 Step 4: Attach an Elastic IP

1. Go to **Elastic IPs** under EC2
2. Allocate a new IP
3. Attach it to your EC2 instance\
   ✅ This ensures your node has a **static public IP**

***

#### ⚙️ Step 5: Run the Webhash Node Setup Script

From your EC2 dashboard:

1. Go to your instance → Click **Connect** → Use browser-based terminal
2. Run the following command:

```bash
curl -fsSL https://raw.githubusercontent.com/WebHash-eth/hash-node-setup/refs/heads/main/scripts/setup.sh > setup.sh && chmod +x setup.sh && ./setup.sh
```

***

#### 📥 Setup Prompts

You’ll be prompted for:

1️⃣ **Base Sepolia WebSocket URL**\
Paste the `wss://` URL from Alchemy or QuickNode

2️⃣ **Ethereum Mainnet WebSocket URL**\
Paste the `wss://` URL for Ethereum Mainnet&#x20;

**3️⃣** Enter Your Email for Updates

After entering your Ethereum Mainnet WebSocket URL, you’ll be prompted to enter your email:\
**Please enter your email address:**\
This helps us send you important updates, community news, and reward announcements related to your node activity.\
📌 *Your email is stored securely and never shared.*

4️⃣ **Select Storage Directory** You'll see this prompt:

```
Do you want to use a separate disk for storage? (y/n)
```

* Type `y` to specify a custom directory (e.g., `/mnt/webhash`)
* Type `n` to use the default path: `/root/.webhash-node-data`

The script will continue automatically after your input.

***

#### ✅ Step 6: Confirm Node Registration Output

When setup finishes, your terminal should show something like this:

```
✔ Container node       Healthy
✔ Container pinner     Started
Waiting for node container to be ready...
Configuring node...
Node started with peer ID: 12D3KooW...
Registering node with peer ID: 12D3KooW...
Node registered successfully with peer ID: 12D3KooW...
```

📌 **If you see "Node registered successfully" — your setup is complete and your node is live!**

***

#### 📢 Final Step – Join the Webhash Community

Once your node is successfully registered, you’ll see a message prompting you to join our official Discord and Telegram channels.\
👉 **Join our**[ Discord](https://discord.gg/zUpBGJ4uh5) **to claim your exclusive “🥷Node Ninja” role** and connect with other node operators!

Stay connected, get support, and earn early contributor perks by being part of the Webhash community.

***

**⚠️ Troubleshooting & Support**

If you run into any issues while setting up your **Webhash Node**, we’re here to help!

📌 Join our Discord and create a support ticket – Our team will assist you instantly.

🔗 [Join Webhash Discord](https://discord.gg/zUpBGJ4uh5)&#x20;
