# 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://node-setup.webhash.com/aws-amazon-cloud-service.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
