Dokumentation

Knoten betreiben

tintd ist das Validator-Programm. Diese Seite behandelt ein lokales Testnetz, die Befehle und den Aufbau des öffentlichen Testknotens.

Testnetz: Die Coins haben keinen Wert

Die Befehle

BefehlWas er tut
tintd testnetErstellt die Dateien eines lokalen Testnetzes.
tintd runBetreibt einen Validator.
tintd paySendet Coins aus der Wallet einer Seed-Datei.
tintd swapTauscht über den Pool einen Coin der Wallet einer Seed-Datei gegen einen anderen.

Ein lokales Testnetz auf einem Rechner

Erstellen Sie die Dateien für vier Validatoren und starten Sie dann jeden in einem eigenen 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

Wiederholen Sie das für die Validatoren 1 bis 3 mit eigenem --key, --data und, falls Sie auch deren Wallet-Schnittstelle möchten, einem anderen --rpc-Port. --local akzeptiert private Adressen, die ein Netzwerk auf einem Rechner braucht.

testnet schreibt genesis.bin, validators.txt, einen Ordner mit dem Schlüssel jedes Validators und faucet.seed, den Seed der Wallet, die alle Testcoins hält. Halten Sie den Seed privat.

Coins senden und tauschen über die Kommandozeile

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

Ohne --coin sendet pay den nativen Coin. swap zahlt mit dem nativen Coin, solange Sie nicht mit --pay einen anderen nennen; einer der beiden Coins eines Tauschs ist immer der native.

Optionen von tintd run

OptionBedeutung
--genesisDie Datei des Genesis-Blocks.
--validatorsDie Datei der Validatorliste.
--keyDie Datei mit dem privaten Schlüssel dieses Validators.
--dataVerzeichnis für die Blöcke dieses Validators.
--listenAdresse, auf der gelauscht wird; standardmäßig die aus der Validatorliste.
--metricsAdresse, unter der Metriken bereitgestellt werden. Aus, solange Sie sie nicht angeben.
--rpcAdresse, unter der Wallets über HTTP bedient werden. Aus, solange Sie sie nicht angeben.
--rpc-behind-proxyWallets erreichen --rpc über einen Reverse-Proxy auf diesem Rechner: Clients werden nach X-Forwarded-For gezählt.
--localPrivate Adressen akzeptieren, für ein Netzwerk auf einem Rechner.
--log-jsonProtokolle als JSON-Zeilen schreiben.
--log-levelerror, warn, info (Standard), debug oder trace.
--idle-block-msMillisekunden, die eine Chain ohne wartende Zahlungen zwischen Blöcken ruht. Standard 5000, höchstens 60000. Geben Sie jedem Validator denselben Wert.

Wie der öffentliche Testknoten aufgebaut ist

Der öffentliche Knoten unter https://node.tint.top ist ein Server mit vier Validatoren. Er testet also, dass das Netzwerk funktioniert, und beweist nichts über Dezentralisierung.

WasWo
Vier Validatorensystemd-Units tint-validator@0 bis @3, die über 127.0.0.1:4100 bis 4103 sprechen
Wallet-SchnittstelleValidator 0, auf 127.0.0.1:4200, von außen nicht erreichbar
HTTPSCaddy auf Port 443, leitet /v1/* an die Wallet-Schnittstelle weiter
Chain-Daten/var/lib/tint/validator-N/data
  • Der Proxy führt kein Zugriffsprotokoll: Eine Aufzeichnung, wer was von welcher Adresse angefragt hat, sollte ein Privatsphäre-Netzwerk nicht führen.
  • Es gibt keinen Metrik-Port und keinen offenen Validator-Port; die Validatoren sprechen über die Loopback-Schnittstelle miteinander.
  • Ein Validator behält jeden Block dauerhaft. Messen Sie den Speicherplatz mit du -sh /var/lib/tint/validator-*/data.
  • Auf einem Server mit 1 vCPU und 2 GB brauchte jeder Validator direkt nach dem ersten Start etwa 92 MB Arbeitsspeicher; die Service-Datei begrenzt einen auf 1 GB.

Einen laufenden Knoten ansehen

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

Auf einem mit systemd verwalteten Server zeigt systemctl status 'tint-validator@*' die Units und journalctl -u 'tint-validator@*' -n 50 die letzten Protokollzeilen.

Die Wallet auf Ihren Knoten richten

In den Einstellungen der Wallet können Sie den gemeinsamen Knoten durch Ihren eigenen ersetzen. Der Knoten muss die Wallet-Schnittstelle über HTTPS bereitstellen und zum selben Netzwerk gehören, also denselben ersten Block haben wie die übrigen Daten der Wallet. Trifft eine Wallet auf einen neuen ersten Block, liest sie die neue Chain von Anfang an.