👉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.

ghcup install cabal 3.8.1.0
ghcup set cabal 3.8.1.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

Instalación de blst

Primero ubicamos la versión correcta de blst:

BLST_VERSION=$(curl https://raw.githubusercontent.com/input-output-hk/iohk-nix/master/flake.lock | jq -r '.nodes.blst.original.ref')
echo "Using blst version: ${BLST_VERSION}"

Una vez identificada la versión, la descargamos e instalamos.

cd ~/src

: ${BLST_VERSION:='v0.3.11'}
git clone --depth 1 --branch ${BLST_VERSION} https://github.com/supranational/blst
cd blst
./build.sh
cat > libblst.pc << EOF
prefix=/usr/local
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include

Name: libblst
Description: Multilingual BLS12-381 signature library
URL: https://github.com/supranational/blst
Version: ${BLST_VERSION#v}
Cflags: -I\${includedir}
Libs: -L\${libdir} -lblst
EOF
sudo cp libblst.pc /usr/local/lib/pkgconfig/
sudo cp bindings/blst_aux.h bindings/blst.h bindings/blst.hpp  /usr/local/include/
sudo cp libblst.a /usr/local/lib
sudo chmod u=rw,go=r /usr/local/{lib/{libblst.a,pkgconfig/libblst.pc},include/{blst.{h,hpp},blst_aux.h}}

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.9.0

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.

https://book.world.dev.cardano.org/environments/mainnet/

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.8.8.2
cp cardano-cli cardano-cli.8.8.2

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>

Última actualización