Lava es la primera red modular de acceso a blockchain que introduce un nuevo enfoque: las "especificaciones" son una primitiva que permite a los participantes añadir soporte para nuevas cadenas y servicios de datos al protocolo subyacente sin necesidad de permisos. RPC es el primer servicio compatible de la red. Los desarrolladores integran Lava en sus proyectos para recuperar datos, y los operadores de los nodos de la red están motivados para responder con rapidez, precisión y fiabilidad. Lava crea una red rápida, escalable y unificada para acceder a un mundo con múltiples redes.
Requisitos mínimos de hardware:
Tipo de nodo |
CPU |
RAM |
Almacenamiento |
Testnet |
4 |
8GB |
150 GB |
wget -O lava https://raw.githubusercontent.com/111STAVR111/props/main/Lava/lava && chmod +x lava && ./lava
preparación del servidor
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
Instalar GO 1.21.6
ver="1.21.6"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
Compilación 19.08.24
cd $HOME && mkdir $HOME/go/bin/
wget -O lavad https://github.com/lavanet/lava/releases/download/v2.5.0/lavad-v2.5.0-linux-amd64
chmod +x lavad
mv lavad $HOME/go/bin/lavad
lavad version --long | grep -e commit -e version
Inicialización
lavad init STAVR_guide --chain-id=lava-testnet-2
lavad config chain-id lava-testnet-2
Crear/Restaurar Cartera
lavad keys add <walletname>
O
lavad keys add <walletname> --recover
Cargar archivo Genesis
curl -s "https://raw.githubusercontent.com/111STAVR111/props/main/Lava/genesis.json" > $HOME/.lava/config/genesis.json
sha256sum $HOME/.lava/config/genesis.json
Configurar precio mínimo de gas y peers/sids
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = "0ulava"/" $HOME/.lava/config/app.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = "$external_address:26656"/" $HOME/.lava/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.lava/config/config.toml
Configuración de la poda (opcional)
pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="100"
sed -i -e "s/^pruning *=.*/pruning = "$pruning"/" $HOME/.lava/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = "$pruning_keep_recent"/" $HOME/.lava/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = "$pruning_keep_every"/" $HOME/.lava/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = "$pruning_interval"/" $HOME/.lava/config/app.toml
Configuración del indexador (opcional)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.lava/config/config.toml
Cargar addrbook
wget -O $HOME/.lava/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Lava/addrbook.json"
Creación de un archivo de servicio
sudo tee /etc/systemd/system/lavad.service > /dev/null <<EOF
[Unit]
Description=lava
After=network-online.target
[Service]
User=$USER
ExecStart=$(which lavad) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
StateSync Lava Testnet
SNAP_RPC=https://lava.rpc.t.stavr.tech:443
peers="46a02fc2908aec60985fd2852c424907d6f79ed7@lava.peers.stavr.tech:197"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.lava/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height);
BLOCK_HEIGHT=$((LATEST_HEIGHT - 100));
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|1true| ;
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|1"$SNAP_RPC,$SNAP_RPC"| ;
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|1$BLOCK_HEIGHT| ;
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|1"$TRUST_HASH"| ;
s|^(seeds[[:space:]]+=[[:space:]]+).*$|1""|" $HOME/.lava/config/config.toml
lavad tendermint unsafe-reset-all --home /root/.lava
sudo systemctl daemon-reload
sudo systemctl enable lavad
sudo systemctl restart lavad && sudo journalctl -fu lavad -o cat
lavad tx staking create-validator
--amount 1000000ulava
--from <walletName>
--commission-max-change-rate "0.1"
--commission-max-rate "0.2"
--commission-rate "0.1"
--min-self-delegation "1"
--pubkey $(lavad tendermint show-validator)
--moniker STAVR_guide
--chain-id lava-testnet-2
--identity=""
--details=""
--website="" -y
Eliminación de un nodo:
sudo systemctl stop lavad
sudo systemctl disable lavad
rm /etc/systemd/system/lavad.service
sudo systemctl daemon-reload
cd $HOME
rm -rf .lava
rm -rf $(which lavad)
Lea también nuestras instrucciones - Mantra: descripción, Instalación de nodos