Cómo contribuir

Hashiverse no tiene empresa detrás ni servidores propios. Su resiliencia, su disponibilidad y su resistencia a la censura dependen por completo de cuántos servidores independientes existan en la red. Cada nodo que añades hace la red más difícil de atacar, más difícil de silenciar y más útil para todos. Si crees en lo que Hashiverse intenta ser, operar un servidor es la forma más directa de ayudar.

La buena noticia: cuesta más o menos lo que un café al mes. Y si quieres contribuir más, lo correcto es operar más servidores, no uno más grande — diez máquinas de 5 $ repartidas entre distintos proveedores y regiones son mucho más valiosas para la red que una máquina de 50 $.

Lo que necesitas

Cualquier VPS barato de cualquier proveedor sirve — Hetzner, DigitalOcean, Vultr, Linode y muchos otros ofrecen máquinas adecuadas por unos 5 $ al mes. Los requisitos mínimos son modestos:

Los requisitos de CPU y RAM son mínimos — el servidor está escrito en Rust y diseñado para funcionar de forma eficiente en los tamaños de instancia más pequeños disponibles.

Instalar y poner en marcha el servidor

Un detalle importante: cuando levantas un servidor, debe hacer una proof-of-work considerable antes de obtener un puesto de confianza en la red de Hashiverse. Así que no te sorprenda que durante las primeras horas tu CPU vaya a tope y los logs no paren de hablar de PoWs, iteraciones y ETA.

Recomendamos cualquier servidor Linux estándar. Ubuntu funciona bien, ya sea 2024 o 2026. Pega lo siguiente en el campo de script de arranque / user-data / cloud-init cuando crees tu servidor (el nombre varía según el proveedor). Abre el firewall, añade el repositorio de paquetes firmado de Hashiverse e instala el servidor, que arranca de inmediato.

#!/usr/bin/env bash
set -euo pipefail

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y curl ca-certificates ufw

ufw allow 22/tcp
ufw allow from 0.0.0.0/0 to any port 443 proto tcp
ufw --force enable

curl -fsSL https://www.hashiverse.com/packages/hashiverse-packages.asc -o /usr/share/keyrings/hashiverse-packages.asc
curl -fsSL https://www.hashiverse.com/packages/apt/hashiverse.sources -o /etc/apt/sources.list.d/hashiverse.sources
curl -fsSL https://www.hashiverse.com/packages/apt/hashiverse-mirrors.txt -o /etc/apt/hashiverse-mirrors.txt

apt-get update
apt-get install -y hashiverse-server

En Fedora, Rocky, Alma o RHEL, añade el repositorio e instala con dnf en su lugar (y abre el puerto 443 en firewalld):

curl -fsSL https://www.hashiverse.com/packages/hashiverse-packages.asc -o /etc/pki/rpm-gpg/RPM-GPG-KEY-hashiverse
curl -fsSL https://www.hashiverse.com/packages/rpm/hashiverse.repo -o /etc/yum.repos.d/hashiverse.repo
dnf install -y hashiverse-server

El servidor se ejecuta como el servicio systemd hashiverse-server y se mantiene actualizado solo: una vez al día, a una hora aleatoria que cambia de una máquina a otra para que la red nunca se reinicie toda a la vez, comprueba si hay una nueva versión y se reinicia con ella. Algunos comandos útiles:

La protección DDoS integrada del servidor usa ipset e iptables para descartar tráfico de IPs abusivas a nivel de kernel, así que se ejecuta como root, pero dentro de un sandbox de systemd que solo le concede las capacidades de red que necesita. /var/lib/hashiverse-server es donde el servidor persiste su identidad y las publicaciones cifradas que almacena — guárdalo a salvo si te importa la continuidad, aunque Hashiverse está diseñado para autorrepararse si destruyes un servidor y levantas uno nuevo.

Alternativa: con Docker

Si prefieres ejecutar el servidor en Docker, este script de arranque instala Docker, abre el firewall, escribe el archivo compose y levanta el stack.

#!/usr/bin/env bash
set -euo pipefail

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y docker.io docker-compose-v2 ufw

ufw allow 22/tcp
ufw allow from 0.0.0.0/0 to any port 443 proto tcp
ufw --force enable

mkdir -p /opt/hashiverse && cd /opt/hashiverse

cat > docker-compose.yml <<"YAML"
services:
  hashiverse-server:
    image: ghcr.io/hashiverse/hashiverse-server:latest
    restart: unless-stopped
    stop_grace_period: 30s
    ports:
      - "0.0.0.0:443:443"
    cap_add:
      - NET_ADMIN
    volumes:
      - ./data:/data
    logging:
      driver: local
      options:
        max-size: 10m
        max-file: "5"

  watchtower:
    image: nickfedor/watchtower
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --interval 3600
YAML

docker compose pull
docker compose up -d

Watchtower mantendrá el servidor actualizado automáticamente a medida que se publiquen nuevas versiones. La capacidad NET_ADMIN es necesaria para la protección DDoS integrada del servidor, y el volumen ./data es donde el servidor persiste su identidad y las publicaciones cifradas que almacena.