Skip to content

hpp-io/node

Repository files navigation

HPP

Overview

House Party Protocol (HPP) Mainnet is a cost-efficient, scalable, and developer-friendly Ethereum L2 built on the Arbitrum Nitro Stack. Secured by Ethereum and operating in AnyTrust data availability mode, HPP Mainnet delivers modular, performant infrastructure for the next generation of decentralized applications.

This repository contains the Docker build and the guide to run your own node on the HPP network.

Requirements

Minimum hardware configuration

The following is the minimum hardware configuration required to set up a Nitro full node (not archival):

Resource Recommended
RAM 16 GB
CPU 4 core CPU (for AWS, a t3.xlarge instance)
Storage Type NVMe SSD drives are recommended
Storage size Depends on the chain and its traffic over time

Please note that:

  • These minimum requirements for RAM and CPU are recommended for nodes that process a small number of RPC requests. For nodes that need to process multiple simultaneous requests, both RAM and CPU core count should be scaled with the amount of traffic being served.
  • Single-core performance matters. If the node is falling behind and a single core is pegged at 100%, move to a faster processor.
  • Minimum storage requirements grow over time as the chain grows. Using more than the minimum is recommended for a robust full node.

Prerequisites

  1. Install Docker and make sure it is running.
  2. An unlimited-rate Ethereum L1 RPC endpoint and an L1 Beacon Chain RPC endpoint.

Quick Start

Running the Node

To run a mainnet node:

# Initialize the config file and download the snapshot if needed.
./manage.sh init mainnet
# Start the mainnet container
./manage.sh run mainnet
# Stop the mainnet container
./manage.sh stop mainnet
# Clear the mainnet containers (chain data is NOT deleted — remove it manually)
./manage.sh clear mainnet

# Check node status
./manage.sh status

To run a testnet (Sepolia) node:

# Initialize the config file and download the snapshot if needed.
./manage.sh init sepolia
# Start the Sepolia testnet container
./manage.sh run sepolia
# Stop the testnet container
./manage.sh stop sepolia
# Clear the testnet containers
./manage.sh clear sepolia

Advanced Usage

1. Initialize the configuration file

The configuration file contains the RPC endpoint and other parameters. In a normal setup you only need to modify the L1_RPC and L1_BEACON_RPC parameters. The init command in manage.sh handles this for you:

# Initialize mainnet config (downloads snapshot if needed)
./manage.sh init mainnet
# Initialize testnet config
./manage.sh init sepolia

2. Download the snapshot file

HPP is built on the Arbitrum Nitro Stack and supports synchronization from snapshots. The default config starts syncing by reading the snapshot at the configured path. If a node has been inactive for more than two weeks since its last successful sync, re-sync from a fresh snapshot.

The init command also downloads the snapshot if needed. To download manually:

# Mainnet snapshot
curl -o hpp-mainnet/snapshot-mainnet.tar \
  https://storage.googleapis.com/conduit-networks-snapshots/hpp-mainnet-xeajiyxsci/latest.tar
# Sepolia snapshot
curl -o hpp-sepolia/snapshot-sepolia.tar \
  https://storage.googleapis.com/conduit-networks-snapshots/hpp-sepolia-turdrv0107/latest.tar

3. Start the node

Use the manage.sh helper to start/stop the node:

# Start the Sepolia testnet container
./manage.sh run sepolia
# Stop the mainnet container
./manage.sh stop mainnet
# Clear the mainnet containers (default)
./manage.sh clear

NOTE: You can run only one network at a time.

You can also use Docker Compose directly:

# Mainnet (default)
docker compose up --build

# Testnet
docker compose -f docker-compose.sepolia.yml up --build

Configuration

L1 RPC endpoint

The L1 RPC endpoint in the example config, https://ethereum-rpc.publicnode.com, is a free service that may have usage limits. For production use with higher traffic, use a dedicated RPC endpoint (e.g. Alchemy, Infura, or dRPC) and replace the endpoint in the config as needed.

HPP RPC endpoint

The public HPP RPC (https://mainnet.hpp.io) is rate-limited. If you need higher throughput for development, operations, or team usage, get a dedicated RPC endpoint with an API key through Conduit:

  1. Sign up at app.conduit.xyz
  2. Go to HPP Mainnet (or HPP Sepolia) → NodeRPC
  3. Generate an API key
  4. Use the provided RPC URL:
    • Mainnet: https://mainnet.hpp.io/<YOUR_API_KEY>
    • Sepolia: https://sepolia.hpp.io/<YOUR_API_KEY>

This gives higher rate limits and more reliable access than the public endpoint.

Supported Networks

Network Status
HPP Mainnet
HPP Sepolia

Network Parameters

Parameter Value
Network HPP Mainnet (Ethereum L2)
Stack Arbitrum Nitro Stack (v3.9.8, ArbOS 51)
Data Availability AnyTrust
Chain ID 190415
Native Gas Token ETH
RPC Endpoint https://mainnet.hpp.io
Block Explorer https://explorer.hpp.io

Troubleshooting

For support, join the discussion on Telegram or open a new GitHub issue.

Disclaimer

THE NODE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. We make no guarantees about asset protection or security. Usage is subject to applicable laws and regulations.

For more information, visit docs.hpp.io.

About

How to run HPP nodes

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages