👉Instalación y actualización
Pasos para instalar cardano-node, cardano-cli y pre-requisitos.
Creación de folder para ejecutables
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:
# 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
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
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
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.
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
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
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.
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
¿Te fue útil?