# Raspberry Pi

Turn your Raspberry Pi into a powerful contributor to the decentralized web with Webhash. This lightweight setup enables censorship-resistant website hosting — right from your desk.

***

#### ✅ Prerequisites

Ensure you have:

* **Raspberry Pi 4 or 5** with at least **4GB RAM**
* An **external SSD** (recommended)
* **Raspberry Pi OS** (64-bit recommended)
* Static public IP or NAT forwarding configured
* A **new wallet** funded with **Sepolia ETH on Base**

***

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

1. Create a new wallet using MetaMask or any EVM-compatible wallet
2. Export the private key (⚠️ Do NOT use your main 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 using:\
   👉 [Base Sepolia Faucet – Alchemy](https://www.alchemy.com/faucets/base-sepolia)

***

#### 💻 Step 2: Flash Raspberry Pi OS & Update

1. Use **Raspberry Pi Imager** to flash **Raspberry Pi OS (64-bit)**
2. Boot the Pi, open terminal, and run:

```bash
sudo apt update && sudo apt upgrade -y
```

***

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

Run this 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
```

***

#### 🛠 During Setup – You Will Be Prompted For:

1️⃣  WebSocket url for **Base Sepolia**\
2️⃣  WebSocket url 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.*

***

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

After entering your Base Sepolia WebSocket URL & 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️⃣ Storage Directory Selection**

You'll see this prompt:

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

* Type `y` if you want to use a custome path:
  * Enter the mounted path, e.g., `/mnt/webhash`
* Type `n` to use the **default path**:\
  `/root/.webhash-node-data`

📌 Ensure the SSD is mounted before choosing `y`

***

#### 🌐 Step 4: Configure NAT & Static IP

Access your router settings and do the following:

* **Forward TCP/UDP port 4001** to your Pi’s local IP
* Assign a **static IP** to your Raspberry Pi in the router settings\
  (or configure static IP on the Pi directly)

***

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

Once the setup is complete, your terminal should show:

```
✔ 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 Raspberry Pi node is officially live and contributing to Webhash!

***

#### 📢 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/setup-guides-for-different-platforms/raspberry-pi.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.
