Lava ist das erste modulare Netzwerk für den Blockchain-Zugang, das einen neuen Ansatz verfolgt: "Spezifikationen" sind ein Primitivum, das es den Teilnehmern ermöglicht, dem zugrunde liegenden Protokoll ohne Genehmigungen Unterstützung für neue Ketten und Datendienste hinzuzufügen. RPC ist der erste unterstützte Dienst des Netzwerks. Die Entwickler integrieren Lava in ihre Projekte, um Daten abzurufen, und die Betreiber der Netzknoten sind motiviert, schnell, genau und zuverlässig zu reagieren. Lava schafft ein schnelles, skalierbares und einheitliches Netzwerk für den Zugriff auf eine Welt mit mehreren Netzwerken.
Mindestanforderungen an die Hardware:
Node-Typ |
CPU |
RAM |
Speicher |
Testnet |
4 |
8GB |
150GB |
wget -O lava https://raw.githubusercontent.com/111STAVR111/props/main/Lava/lava && chmod +x lava && ./lava
Server-Vorbereitung
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
GO 1.21.6 installieren
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
Build 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
Initialisierung
lavad init STAVR_guide --chain-id=lava-testnet-2
lavad config chain-id lava-testnet-2
Wallet erstellen/wiederherstellen
lavad keys add <walletname>
ODER
lavad keys add <walletname> --recover
Hochladen der Genesis-Datei
curl -s "https://raw.githubusercontent.com/111STAVR111/props/main/Lava/genesis.json" > $HOME/.lava/config/genesis.json
sha256sum $HOME/.lava/config/genesis.json
Mindestgaspreis und Peers/Sids einstellen
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
Pruning einrichten (optional)
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
Indexer einrichten (optional)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.lava/config/config.toml
Hochladen von addrbook
wget -O $HOME/.lava/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Lava/addrbook.json"
Erstellen einer Servicedatei
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
Löschen eines Knotens:
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)
Lesen Sie auch unsere Anleitung - Mantra: Beschreibung, Node-Installation