Hoe bij te dragen
Hashiverse heeft geen bedrijf erachter en geen eigen servers. Zijn veerkracht, beschikbaarheid en weerstand tegen censuur zijn volledig een functie van hoeveel onafhankelijke servers er in het netwerk bestaan. Elk knooppunt dat je toevoegt maakt het netwerk moeilijker aan te vallen, moeilijker tot zwijgen te brengen en nuttiger voor iedereen erop. Als je gelooft in wat Hashiverse probeert te zijn, is een server draaien de meest directe manier om te helpen.
Het goede nieuws: het kost ongeveer evenveel als een kop koffie per maand. En als je meer wilt bijdragen, is de juiste zet om meer servers te draaien, niet een grotere — tien machines van $5 verspreid over verschillende providers en regio's zijn voor het netwerk veel waardevoller dan één machine van $50.
Wat je nodig hebt
Een willekeurige goedkope VPS van een willekeurige provider voldoet — Hetzner, DigitalOcean, Vultr, Linode en vele anderen bieden geschikte machines voor ongeveer $5/maand. De minimumvereisten zijn bescheiden:
- Opslag: 20 GB schijfruimte
- Bandbreedte: 1 TB per maand
- OS: Ubuntu/Debian of Fedora/RHEL (of elke moderne Linux met Docker)
De CPU- en RAM-vereisten zijn minimaal — de server is in Rust geschreven en is ontworpen om efficiënt te draaien op de kleinste beschikbare instance-formaten.
De server installeren en draaien
Een belangrijk punt om te noteren is dat wanneer je een server opstart, deze eerst flink wat Proof of Work moet uitvoeren voordat hij een vertrouwde plek in het Hashiverse-netwerk krijgt aangewezen. Wees dus niet verbaasd als je CPU de eerste paar uur op het maximum draait en de logs blijven praten over PoWs, iters en ETA.
We raden een standaard linux-server aan. Ubuntu werkt prima, of het nu 2024 of 2026 is. Plak het volgende in het opstartscript / user-data / cloud-init-veld wanneer je je server aanmaakt (de naam varieert per provider). Het opent de firewall, voegt de ondertekende Hashiverse-pakketrepository toe en installeert de server, die meteen start.
#!/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
Op Fedora, Rocky, Alma of RHEL voeg je in plaats daarvan de repository toe en installeer je
met dnf (en open je poort 443 in 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
De server draait als de systemd-service hashiverse-server en houdt zichzelf
up-to-date: eenmaal per dag, op een willekeurig tijdstip dat per machine verschilt zodat het
netwerk nooit in één keer herstart, controleert hij op een nieuwe versie en herstart hij
daarop. Een paar handige commando's:
- Logs volgen:
journalctl -u hashiverse-server -f - Instellingen:
/etc/default/hashiverse-server, daarnasystemctl restart hashiverse-server - Gegevens en serveridentiteit:
/var/lib/hashiverse-server - Automatische updates uitzetten:
systemctl disable --now hashiverse-server-updater.timer
De ingebouwde DDoS-bescherming van de server gebruikt ipset en
iptables om verkeer van misbruikende IP's op kernel-niveau te laten vallen, dus
hij draait als root, maar in een systemd-sandbox die hem alleen de netwerk-capabilities
geeft die hij nodig heeft. In /var/lib/hashiverse-server persisteert de server
zijn identiteit en opgeslagen versleutelde berichten — bewaar dit veilig als je om
continuïteit geeft, hoewel Hashiverse ontworpen is om zichzelf te herstellen als je een
server vernietigt en een nieuwe opstart.
Als alternatief: met Docker
Draai je de server liever in Docker, dan installeert dit opstartscript Docker, opent het de firewall, schrijft het het compose-bestand en start het de stack op.
#!/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 houdt de server automatisch up-to-date naarmate er nieuwe versies worden
uitgebracht. De NET_ADMIN-capability is vereist voor de ingebouwde
DDoS-bescherming van de server, en het ./data-volume is waar de server zijn
identiteit en opgeslagen versleutelde berichten persisteert.