Documentation

Faire tourner un nœud

tintd est le programme de validateur. Cette page couvre un réseau de test local, les commandes, et la façon dont le nœud de test public est configuré.

Réseau de test§: les pièces n’ont aucune valeur

Les commandes

CommandeCe qu’elle fait
tintd testnetCrée les fichiers d’un réseau de test local.
tintd runFait tourner un validateur.
tintd payEnvoie des pièces depuis le portefeuille d’un fichier de graine.
tintd swapÉchange une pièce du portefeuille d’un fichier de graine contre une autre via le pool.

Un réseau de test local sur une seule machine

Créez les fichiers pour quatre validateurs, puis démarrez chacun dans son propre terminal.

bash
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103
bash · validator 0
tintd run --local \
  --genesis net/genesis.bin \
  --validators net/validators.txt \
  --key net/validator-0/key \
  --data net/validator-0/data \
  --rpc 127.0.0.1:4200

Répétez pour les validateurs 1 à 3 avec leurs propres --key, --data et, si vous voulez aussi leur interface de portefeuille, un port --rpc différent. --local accepte les adresses privées, dont un réseau sur une seule machine a besoin.

testnet écrit genesis.bin, validators.txt, un dossier avec la clé de chaque validateur, et faucet.seed, la graine du portefeuille qui détient toutes les pièces de test. Gardez la graine privée.

Envoyer des pièces et échanger en ligne de commande

bash
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100
bash
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSD
bash
tintd swap --node http://127.0.0.1:4200 --seed net/faucet.seed --amount 10 --buy TUSD

Sans --coin, pay envoie la pièce native. swap paie avec la pièce native sauf si vous en indiquez une autre avec --pay§; l’une des deux pièces d’un échange est toujours la pièce native.

Options de tintd run

OptionSignification
--genesisLe fichier du bloc de genèse.
--validatorsLe fichier de la liste des validateurs.
--keyLe fichier de clé privée de ce validateur.
--dataLe répertoire des blocs de ce validateur.
--listenL’adresse d’écoute§; par défaut, celle de la liste des validateurs.
--metricsL’adresse sur laquelle servir les métriques. Désactivé sauf si vous l’indiquez.
--rpcL’adresse sur laquelle servir les portefeuilles en HTTP. Désactivé sauf si vous l’indiquez.
--rpc-behind-proxyLes portefeuilles atteignent --rpc via un proxy inverse sur cette machine§: les clients sont comptés d’après X-Forwarded-For.
--localAccepte les adresses privées, pour un réseau sur une seule machine.
--log-jsonÉcrit les journaux en lignes JSON.
--log-levelerror, warn, info (par défaut), debug ou trace.
--idle-block-msMillisecondes de repos entre deux blocs pour une chaîne sans paiement en attente. 5000 par défaut, 60000 au maximum. Donnez la même valeur à chaque validateur.

Comment le nœud de test public est configuré

Le nœud public à https://node.tint.top est un seul serveur qui fait tourner quatre validateurs§; il teste donc que le réseau fonctionne et ne prouve rien quant à la décentralisation.

QuoiOù
Quatre validateursunités systemd tint-validator@0 à @3, communiquant via 127.0.0.1:4100 à 4103
Interface de portefeuilleValidateur 0, sur 127.0.0.1:4200, inaccessible de l’extérieur
HTTPSCaddy sur le port 443, qui transmet /v1/* à l’interface de portefeuille
Données de la chaîne/var/lib/tint/validator-N/data
  • Le proxy ne tient aucun journal d’accès§: un enregistrement de qui a demandé quoi depuis quelle adresse est précisément ce qu’un réseau de confidentialité ne devrait pas conserver.
  • Il n’y a ni port de métriques ni port de validateur ouvert§; les validateurs communiquent entre eux sur l’interface de bouclage.
  • Un validateur conserve chaque bloc définitivement. Mesurez le disque avec du -sh /var/lib/tint/validator-*/data.
  • Sur un serveur de 1 vCPU et 2 Go, chaque validateur utilisait environ 92 Mo de mémoire juste après le premier démarrage§; le fichier de service en plafonne un à 1 Go.

Observer un nœud en fonctionnement

bash
curl -s http://127.0.0.1:4200/v1/status

Sur un serveur géré avec systemd, systemctl status 'tint-validator@*' affiche les unités et journalctl -u 'tint-validator@*' -n 50 les dernières lignes du journal.

Pointer le portefeuille vers votre nœud

Dans les Réglages du portefeuille, vous pouvez remplacer le nœud partagé par le vôtre. Le nœud doit servir l’interface de portefeuille en HTTPS, et il doit appartenir au même réseau, c’est-à-dire avoir le même premier bloc, que les autres données du portefeuille. Un portefeuille qui rencontre un nouveau premier bloc lit la nouvelle chaîne depuis le début.