Una ejecución mas óptima(deprecated)
Tal y como lanzamos el nodo anteriormente y en cuanto cerremos la terminal, el nodo dejará de funcionar. Tenemos que conseguir que se mantenga ejecutando en segundo plano.
Para optimizar la gestión y ejecución de los nodos usaremos tmux, esta herramienta proporciona superpoderes a la terminal, como poder ejecutar mas de una sesión en la misma ventana, o la ejecución de tareas en segundo plano aunque se haya cerrado la sesión ssh, puedes cerrarlo todo e irte tan tranquilo, tu nodo seguirá trabajando por ti.
Vamos a crear unos scripts que nos automaticen el lanzamiento del nodo, los panales de monitorización y la parada del mismo.
node.sh
start.sh
stop.sh
1
cd ~/cnode/scripts
2
vim node.sh
Copied!
#!/bin/bash cardano-node run \ --database-path ~/cnode/db/ \ --socket-path ~/cnode/sockets/node.socket \ --host-addr 0.0.0.0 \ --port 3000 \ --config ~/cnode/config/mainnet-config.json \ --topology ~/cnode/config/mainnet-topology.json
1
vim start.sh
Copied!
#!/bin/bash
session="cardano" # Check if the session exists, discarding output # We can check $? for the exit status (zero for success, non-zero for failure)
tmux has-session -t $session 2>/dev/null if [ $? != 0 ]; then tmux attach-session -t $session tmux new -s "cardano" -n "node" -d tmux split-window -v tmux select-pane -t 'cardano:node.0' tmux split-window -h tmux send-keys -t 'cardano:node.0' './node.sh' Enter tmux send-keys -t 'cardano:node.1' 'htop' Enter tmux send-keys -t 'cardano:node.2' 'nload' Enter fi tmux attach-session -t $session
1
vim stop.sh
Copied!
#!/bin/bash
# Check if the session exists, discarding output # We can check $? for the exit status (zero for success, non-zero for failure)
session="cardano" # Check if the session exists, discarding output # We can check $? for the exit status (zero for success, non-zero for failure) tmux has-session -t $session 2>/dev/null if [ $? != 0 ]; then echo "Session not found." else echo "Killing session" tmux kill-session -t cardano fi
Le damos permiso de ejecución a los archivos sin incluir 'sudo', para que solo se puedan ejecutar desde el usuario cardano.
1
chmod +x node.sh start.sh stop.sh
Copied!
Ahora ejecutamos el nodo y veremos todos los paneles en el misma ventana. Además, cuando cierres la terminal el nodo seguirá sincronizando en segundo plano.
1
./start.sh
Copied!
La info de la imagen es solo orientativa, visualizarás una interfaz similar
En la imagen podemos apreciar como el nodo ha empezado a sincronizar el historial de bloques, en cambio, no está compartiendo información con otro nodos, ya que, hasta ahora, nadie sabe la ip de nuestro nodo, en este caso nadie nos puede añadir a su archivo mainnet-topology.json y copiar nuestro historial de bloques.
Última actualización 7mo ago
Copiar enlace