Documentación

Ejecutar un nodo

tintd es el programa del validador. Esta página cubre una red de pruebas local, los comandos y cómo está configurado el nodo público de pruebas.

Red de pruebas: las monedas no tienen valor

Los comandos

ComandoQué hace
tintd testnetCrea los archivos de una red de pruebas local.
tintd runEjecuta un validador.
tintd payEnvía monedas desde la cartera de un archivo de semilla.
tintd swapCambia una moneda de la cartera de un archivo de semilla por otra a través del pool.

Una red de pruebas local en una máquina

Crea los archivos de cuatro validadores y luego inicia cada uno en su propia 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

Repite con los validadores 1 a 3, cada uno con su propio --key, --data y, si quieres también su interfaz de cartera, un puerto --rpc distinto. --local acepta direcciones privadas, que una red en una sola máquina necesita.

testnet escribe genesis.bin, validators.txt, una carpeta con la clave de cada validador y faucet.seed, la semilla de la cartera que tiene todas las monedas de prueba. Mantén la semilla en privado.

Enviar monedas e intercambiar desde la línea de comandos

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

Sin --coin, pay envía la moneda nativa. swap paga con la moneda nativa a menos que indiques otra con --pay; una de las dos monedas de un intercambio es siempre la nativa.

Opciones de tintd run

OpciónSignificado
--genesisEl archivo del bloque génesis.
--validatorsEl archivo con la lista de validadores.
--keyEl archivo de la clave privada de este validador.
--dataDirectorio para los bloques de este validador.
--listenDirección en la que escuchar; por defecto la de la lista de validadores.
--metricsDirección en la que servir métricas. Desactivado salvo que la indiques.
--rpcDirección en la que servir a las carteras por HTTP. Desactivado salvo que la indiques.
--rpc-behind-proxyLas carteras llegan a --rpc a través de un proxy inverso en esta máquina: cuenta los clientes por X-Forwarded-For.
--localAcepta direcciones privadas, para una red en una sola máquina.
--log-jsonEscribe los registros como líneas JSON.
--log-levelerror, warn, info (por defecto), debug o trace.
--idle-block-msMilisegundos que descansa entre bloques una cadena sin pagos en espera. Por defecto 5000, como máximo 60000. Da el mismo valor a todos los validadores.

Cómo está configurado el nodo público de pruebas

El nodo público en https://node.tint.top es un servidor que ejecuta cuatro validadores, así que prueba que la red funciona y no demuestra nada sobre la descentralización.

QuéDónde
Cuatro validadoresunidades systemd tint-validator@0 a @3, que se comunican por 127.0.0.1:4100 a 4103
Interfaz de carteraValidador 0, en 127.0.0.1:4200, no accesible desde fuera
HTTPSCaddy en el puerto 443, que reenvía /v1/* a la interfaz de cartera
Datos de la cadena/var/lib/tint/validator-N/data
  • El proxy no guarda registro de acceso: un registro de quién pidió qué desde qué dirección es justo lo que una red de privacidad no debe conservar.
  • No hay puerto de métricas ni puerto de validador abierto; los validadores se comunican entre sí por la interfaz de loopback.
  • Un validador conserva cada bloque para siempre. Mide el disco con du -sh /var/lib/tint/validator-*/data.
  • En un servidor de 1 vCPU y 2 GB, cada validador usó unos 92 MB de memoria justo después del primer arranque; el archivo del servicio limita cada uno a 1 GB.

Ver un nodo en funcionamiento

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

En un servidor gestionado con systemd, systemctl status 'tint-validator@*' muestra las unidades y journalctl -u 'tint-validator@*' -n 50 las últimas líneas del registro.

Apuntar la cartera a tu nodo

En los Ajustes de la cartera puedes sustituir el nodo compartido por el tuyo. El nodo debe servir la interfaz de cartera por HTTPS y debe pertenecer a la misma red, es decir, el mismo primer bloque, que los demás datos de la cartera. Una cartera que se encuentra con un primer bloque nuevo lee la cadena nueva desde el principio.