Links
Comment on page
👉

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
mkdir -p ~/.local/bin

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
# Cardano node
export PATH="/home/ubuntu/.local/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
export CARDANO_NODE_SOCKET_PATH=/home/ubuntu/cardano-node/db/block/node.socket
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.
mkdir -p ~/src && cd ~/src
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
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.
source ~/.bashrc
ghcup upgrade
ghcup list
ghcup install ghc 8.10.7
ghcup set ghc 8.10.7
ghc --version

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
ghcup install cabal 3.6.2.0
ghcup set cabal 3.6.2.0
cabal --version
cabal clean && cabal update
ghcup install cabal 3.6.2.0
ghcup set cabal 3.6.2.0
; Con el siguiente comando eliminamos la version previa de Cabal
ghcup rm cabal 3.6.0.0
cabal --version
cabal clean && cabal update

Instalación de libsodium

Usamos el fork de libsodium mantenido por IOHK.
Este paso solo se requiere en instalaciones nuevas o si estas actualizando desde una version previa a la 8.0.0.
cd ~/src
git clone https://github.com/input-output-hk/libsodium
cd libsodium
git checkout dbb48cc
./autogen.sh
./configure
make
sudo make install

Instalación de libsecp256k1

Descargamos e instalamos libsecp256k1
Este paso solo se requiere en instalaciones nuevas o si estas actualizando desde una versión previa a la 1.35.0.
cd ~/src
git clone https://github.com/bitcoin-core/secp256k1
cd secp256k1
git checkout ac83be33
./autogen.sh
./configure --prefix=/usr --enable-module-schnorrsig --enable-experimental
make
sudo make install

Clonar repositorio cardano-node

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

Instalar cardano-node y cardano-cli

cd ~/cardano-node
git fetch --all --recurse-submodules --tags
git checkout tags/8.1.1
echo "with-compiler: ghc-8.10.7" >> cabal.project.local
cabal update
cabal build all
Si estas actualizando desde una versión anterior a 8.0.0, necesitarás ademas descargar el archivo conway-genesis.json y modificar tu config.json o descargarlo nuevamente.

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.
cd ~/.local/bin
cp cardano-node cardano-node.1.35.7
cp cardano-cli cardano-cli.1.35.7

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>
cd ~/cardano-node
cp -p "$(./scripts/bin-path.sh cardano-node)" ~/.local/bin/
cp -p "$(./scripts/bin-path.sh cardano-cli)" ~/.local/bin/
# Opcional si deseamos instalar el cardano-submit-api
cp -p "$(./scripts/bin-path.sh cardano-submit-api)" ~/.local/bin/
Podemos verificar que hemos realizado correctamente la instalación con: cardano-cli --version && cardano-node --version

Reiniciar nodo

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