Solana est la chaîne la plus exigeante à exécuter soi-même. Un validateur ou un nœud RPC complet nécessite un CPU très rapide, une grande quantité de RAM et des disques NVMe rapides, et les exigences changent sans cesse. Ce guide explique ce que cela signifie concrètement, afin que vous puissiez décider si vous avez besoin de votre propre nœud ou d'une configuration plus modeste.
Validateur, nœud RPC ou ni l'un ni l'autre ?
- Validateur. Vote sur les blocs et exige la configuration matérielle complète, un compte de vote approvisionné et une disponibilité constante.
- Nœud RPC. Répond aux requêtes des applications, bots et indexeurs. Il ne vote pas, mais nécessite un matériel similaire, et davantage de RAM si vous activez les index de comptes.
- Usage léger. Si vous n'envoyez que quelques transactions ou lisez peu de données, un point de terminaison RPC payant est généralement moins cher que l'exécution d'un nœud.
Consultez les exigences officielles des validateurs Solana avant d'acheter. Elles sont publiées dans la documentation de Solana et d'Agave et évoluent avec le réseau. À titre indicatif, comptez des centaines de Go de RAM pour un nœud RPC très sollicité et plusieurs disques NVMe rapides. C'est le domaine des serveurs dédiés, pas d'un petit VPS. Notre page hébergement de nœud Solana liste les options dimensionnées.
Étape 1 : préparer le serveur
Utilisez Ubuntu LTS et les étapes de comment sécuriser un nouveau VPS. Créez un utilisateur dédié et placez le ledger et les comptes sur des disques NVMe distincts si vous en avez plusieurs.
sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts
Étape 2 : relever les limites du système
Solana ouvre de nombreux fichiers et utilise de grandes projections mémoire. Ajoutez ceci à /etc/sysctl.d/21-solana.conf et à votre unité systemd :
vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728
# in the systemd unit:
LimitNOFILE=1000000
Appliquez avec sudo sysctl --system.
Étape 3 : installer le logiciel de validateur
Installez la version actuelle d'Agave (le client validateur de Solana) avec la méthode de la documentation officielle, et vérifiez-la. Vérifiez ensuite la version :
agave-validator --version
solana --version
Étape 4 : démarrer un nœud RPC
Voici la forme typique de la commande de démarrage d'un nœud RPC non votant. Utilisez les validateurs connus et les points d'entrée de la documentation officielle pour votre cluster.
agave-validator \
--identity /home/sol/identity.json \
--ledger /mnt/ledger \
--accounts /mnt/accounts \
--entrypoint ENTRYPOINT:8001 \
--known-validator KNOWN_VALIDATOR_PUBKEY \
--only-known-rpc \
--rpc-port 8899 \
--private-rpc \
--no-voting \
--full-rpc-api \
--limit-ledger-size \
--log /var/log/solana/validator.log
Remplacez les espaces réservés par les valeurs de la documentation. --private-rpc empêche le port RPC d'être annoncé au réseau, et vous devez tout de même le garder fermé avec le pare-feu.
Étape 5 : le regarder rattraper son retard
solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor
Le rattrapage à partir d'un snapshot prend de quelques minutes à quelques heures. Si le nœud prend du retard et ne se rétablit jamais, la cause est généralement votre disque ou votre réseau.
Pare-feu
Autorisez la plage de ports gossip et TPU décrite dans la documentation (la plage par défaut va de 8000 à 10000) et gardez le RPC (8899 et 8900) privé. Placez un proxy inverse avec authentification devant si vous devez servir le RPC à d'autres machines.