Lava est le premier réseau modulaire pour l'accès aux blockchains qui introduit une nouvelle approche : les "spécifications" sont une primitive qui permet aux participants d'ajouter la prise en charge de nouvelles chaînes et de nouveaux services de données au protocole sous-jacent sans autorisations. RPC est le premier service pris en charge par le réseau. Les développeurs intègrent Lava dans leurs projets pour récupérer des données, et les opérateurs de nœuds du réseau sont motivés pour répondre de manière rapide, précise et fiable. Lava crée un réseau rapide, évolutif et unifié pour accéder à un monde multi-réseaux.
Configuration matérielle minimale requise :
Type de nœud |
CPU |
RAM |
Stockage |
Testnet |
4 |
8GB |
150GB |
wget -O lava https://raw.githubusercontent.com/111STAVR111/props/main/Lava/lava && chmod +x lava && ./lava
préparation du serveur
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
Installer 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
Version 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
Initialisation
lavad init STAVR_guide --chain-id=lava-testnet-2
lavad config chain-id lava-testnet-2
Création/restauration du portefeuille
lavad keys add <walletname>
OU
lavad keys add <walletname> --recover
Téléchargement du fichier Genesis
curl -s "https://raw.githubusercontent.com/111STAVR111/props/main/Lava/genesis.json" > $HOME/.lava/config/genesis.json
sha256sum $HOME/.lava/config/genesis.json
Définition du prix minimum du gaz et des pairs/sidéraux
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
Configuration de l'élagage (optionnel)
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
Configuration de l'indexeur (optionnel)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.lava/config/config.toml
Téléchargement de l'addrbook
wget -O $HOME/.lava/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Lava/addrbook.json"
Création d'un fichier de service
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
Suppression d'un nœud :
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)
Lire aussi nos instructions - Mantra : description, installation de Node