👉
Instalación y actualización
Pasos para instalar cardano-node, cardano-cli y pre-requisitos.

Creación de folder para ejecutables

Este paso solo se requiere en instalaciones nuevas.
Creamos el folder .local/bin
1
mkdir -p ~/.local/bin
Copied!

Variables de sistema

A continuación vamos a definir algunas variables necesarias para el correcto funcionamiento de nuestro nodo. Para esto vamos a modificar nuestro archivo ~/.bashrc y agregamos estas líneas al final:
Reemplazar "ubuntu" por el nombre de usuario que corresponda en tu sistema. Este paso solo se requiere en instalaciones nuevas.
~/.bashrc
1
# Cardano node
2
export PATH="/home/ubuntu/.local/bin:$PATH"
3
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
4
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
5
export CARDANO_NODE_SOCKET_PATH=/home/ubuntu/cardano-node/db/block/node.socket
Copied!
Luego ejecutamos source ~/.bashrc para aplicar los cambios a nuestra sesión actual.

Instalar ghcup

Este paso solo se requiere en instalaciones nuevas.
Esta herramienta nos permitirá actualizar ghc y cabal muy fácilmente de ahora en adelante.
1
mkdir -p ~/src && cd ~/src
2
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Copied!
Debemos dar ENTER por lo menos dos veces par aceptar la instalación de ghcup y de sus dependencias. Luego el programa consultará si deseas instalar el HLS, podemos contestar NO y continuar. Finalmente nos preguntará si deseamos que el instalador agregue la ruta de ghcup al $PATH de nuestro sistema. Se recomienda aceptar estos cambios automáticamente con YES, aunque podemos decirle que NO y copiar los ejecutables a mano o insertar nuestra propia ruta.

Instalación del compilador de Haskell GHC

Si ghcup list muestra que tenemos ya la versión recomendada de ghc, se puede omitir este paso.
Instalamosghc, configuramos la versión a usar por defecto y verificamos.
1
source ~/.bashrc
2
ghcup upgrade
3
ghcup list
4
5
ghcup install ghc 8.10.7
6
ghcup set ghc 8.10.7
7
ghc --version
Copied!

Instalación de Cabal

Si ghcup list muestra que tenemos ya la versión recomendada de cabal, se puede omitir este paso.
Nueva instalación
Update de instalación previa
1
ghcup install cabal 3.6.2.0
2
ghcup set cabal 3.6.2.0
3
cabal --version
4
5
cabal clean && cabal update
Copied!
1
ghcup install cabal 3.6.2.0
2
ghcup set cabal 3.6.2.0
3
; Con el siguiente comando eliminamos la version previa de Cabal
4
ghcup rm cabal 3.6.0.0
5
cabal --version
6
7
cabal clean && cabal update
Copied!

Instalación de libsodium

Usamos el fork de libsodium mantenido por IOHK.
Este paso solo se requiere en instalaciones nuevas.
1
cd ~/src
2
3
git clone https://github.com/input-output-hk/libsodium
4
cd libsodium
5
git checkout 66f017f1
6
./autogen.sh
7
./configure
8
make
9
sudo make install
Copied!

Clonar repositorio cardano-node

Este paso solo se requiere en instalaciones nuevas.
1
cd ~
2
git clone https://github.com/input-output-hk/cardano-node.git
3
cd cardano-node
Copied!

Instalar cardano-node y cardano-cli

1
cd ~/cardano-node
2
git fetch --all --recurse-submodules --tags
3
git checkout tags/1.33.0
4
5
cabal configure --with-compiler=ghc-8.10.7
6
7
echo "package cardano-crypto-praos" >> cabal.project.local
8
echo " flags: -external-libsodium-vrf" >> cabal.project.local
9
10
cabal build all
Copied!

Backup de los ejecutables

Este paso solo es necesario en ACTUALIZACIONES
Hacemos una copia de los ejecutables actuales por si llegase a fallar algo, así tenemos un rollback inmediato.
1
cd ~/.local/bin
2
cp cardano-node cardano-node.1.32.0
3
cp cardano-cli cardano-cli.1.32.0
Copied!

Copiar ejecutables a nuestro folder bin

Para actualizar los ejecutables es posible que tengas que detener tu nodo primero con: sudo systemctl stop <NOMBRE-DE-SERVICIO>
1
cd ~/cardano-node
2
cp -p "$(./scripts/bin-path.sh cardano-node)" ~/.local/bin/
3
cp -p "$(./scripts/bin-path.sh cardano-cli)" ~/.local/bin/
4
5
cardano-cli --version
Copied!
Podemos verificar que hemos realizado correctamente la instalación con: cardano-cli --version cardano-node --version

Config.json

Este paso solo se requiere en instalaciones nuevas y actualizaciones desde la version 1.29.0 o menor.
Descargamos el nuevo archivo config.json para nuestro nodo, y lo editaremos para que concuerde con nuestra configuración previa de ser necesario. Por ejemplo, verificar que los nombres de los archivos genesis sean los correctos.
1
cd ~/cardano-node/<CARPETA-NODO>
2
3
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-config.json
4
cp config.json config-old.json
5
mv mainnet-config.json config.json
Copied!

Alonzo-genesis.json

Este paso solo se requiere en instalaciones nuevas y actualizaciones desde la version 1.29.0 o menor.
Descargamos el nuevo archivo genesis para la era Alonzo.
1
cd ~/cardano-node/<CARPETA-NODO>
2
3
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-alonzo-genesis.json
4
mv mainnet-alonzo-genesis.json alonzo-genesis.json
Copied!

Reiniciar nodo

Dependiendo de como administres tus nodos éste método puede variar, por lo general un comando similar a:
1
sudo systemctl restart <NOMBRE-DE-SERVICIO>
Copied!