Comment contribuer
Hashiverse n'a aucune entreprise derrière lui ni serveurs propres. Sa résilience, sa disponibilité et sa résistance à la censure dépendent entièrement du nombre de serveurs indépendants présents dans le réseau. Chaque nœud que vous ajoutez rend le réseau plus difficile à attaquer, plus difficile à faire taire, et plus utile pour tous ceux qui s'y connectent. Si vous croyez à ce que Hashiverse cherche à être, faire tourner un serveur est la manière la plus directe d'aider.
La bonne nouvelle : ça coûte à peu près le prix d'un café par mois. Et si vous voulez contribuer davantage, le bon réflexe est de faire tourner plus de serveurs, pas un plus gros — dix machines à 5 $ réparties chez différents fournisseurs et dans différentes régions ont bien plus de valeur pour le réseau qu'une seule machine à 50 $.
Ce dont vous avez besoin
N'importe quel VPS bon marché chez n'importe quel fournisseur fera l'affaire — Hetzner, DigitalOcean, Vultr, Linode et bien d'autres proposent des machines adaptées pour environ 5 $/mois. Les exigences minimales sont modestes :
- Stockage : 20 Go d'espace disque
- Bande passante : 1 To par mois
- OS : Ubuntu/Debian ou Fedora/RHEL (ou n'importe quel Linux moderne avec Docker)
Les exigences en CPU et RAM sont minimales — le serveur est écrit en Rust et conçu pour fonctionner efficacement sur les plus petites tailles d'instance disponibles.
Installer et faire tourner le serveur
Un point important à noter est que lorsque vous démarrez un serveur, il doit effectuer une proof-of-work conséquente avant d'être désigné comme un emplacement de confiance dans le réseau Hashiverse. Ne soyez donc pas surpris si pendant les premières heures votre CPU est à fond et que les logs n'arrêtent pas de parler de PoWs, d'iters et d'ETA.
Nous recommandons n'importe quel serveur Linux standard. Ubuntu fait l'affaire, en 2024 ou en 2026. Collez ce qui suit dans le champ script de démarrage / user-data / cloud-init lorsque vous créez votre serveur (le nom varie selon les fournisseurs). Le script ouvre le pare-feu, ajoute le dépôt de paquets signé de Hashiverse et installe le serveur, qui démarre aussitôt.
#!/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
Sous Fedora, Rocky, Alma ou RHEL, ajoutez plutôt le dépôt et installez avec dnf
(et ouvrez le port 443 dans 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
Le serveur tourne en tant que service systemd hashiverse-server et se met à
jour tout seul : une fois par jour, à une heure aléatoire qui diffère d'une machine à
l'autre pour que le réseau ne redémarre jamais d'un seul coup, il vérifie s'il existe une
nouvelle version et redémarre dessus. Quelques commandes utiles :
- Suivre les logs :
journalctl -u hashiverse-server -f - Réglages :
/etc/default/hashiverse-server, puissystemctl restart hashiverse-server - Données et identité du serveur :
/var/lib/hashiverse-server - Désactiver les mises à jour automatiques :
systemctl disable --now hashiverse-server-updater.timer
La protection DDoS intégrée du serveur utilise ipset et iptables
pour rejeter au niveau du noyau le trafic provenant d'IPs abusives ; il tourne donc en root,
mais dans un bac à sable systemd qui ne lui accorde que les capacités réseau dont il a
besoin. /var/lib/hashiverse-server est l'endroit où le serveur persiste son
identité et les publications chiffrées qu'il stocke — gardez-le à l'abri si la continuité
vous importe, bien que Hashiverse soit conçu pour s'auto-réparer si vous détruisez un
serveur et en démarrez un autre.
Alternative : avec Docker
Si vous préférez faire tourner le serveur dans Docker, ce script de démarrage installe Docker, ouvre le pare-feu, écrit le fichier compose et démarre la pile.
#!/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 maintiendra automatiquement le serveur à jour à mesure que de nouvelles versions
sortent. La capacité NET_ADMIN est requise pour la protection DDoS intégrée du
serveur, et le volume ./data est l'endroit où le serveur persiste son identité
et les publications chiffrées qu'il stocke.