KYVE Network is revolutionizing customized access to on- and off-chain data by providing fast and easy tooling for decentralized data validation, immutability, and retrieval. The KYVE Network Stack, currently consisting of the KYVE Data Lake and Data Pipeline, enables all to securely store, validate, and query on and off-chain valid data in a streamlined manner. In the end, providing trustless data for a fast, secure, and scalable build.
kyved keys addkyved keys add --recoverkyved keys listkyved keys deletekyved keys exportkyved keys import .backup
kyved q bank balances $(kyved keys show -a)
sudo journalctl -u kyved -f --no-hostname -o catsudo systemctl start kyvedsudo systemctl stop kyvedsudo systemctl restart kyvedsudo systemctl status kyvedsudo systemctl daemon-reloadsudo systemctl enable kyvedsudo systemctl disable kyvedkyved status 2>&1 | jq .SyncInfoecho $(kyved tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.kyve/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')curl -sS http://localhost:657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
kyved tx staking create-validator \
--amount=000000ukyve \
--moniker="" \
--pubkey=$(kyved tendermint show-validator) \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id=kyve-1 \
--commission-rate=0. \
--commission-max-rate=0.20 \
--commission-max-change-rate=0. \
--min-self-delegation=1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"
kyved tx staking edit-validator \
--new-moniker="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve" -ykyved tx staking edit-validator \
--identity="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--details="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--identity="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--details="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--identity="" \
--details="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--identity="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--details="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--identity="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--details="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--identity="" \
--details="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--commission-rate=0. \
--chain-id=kyve-1 \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"kyved tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id=kyve-1 \
--commission-rate=0. \
--from= \
--gas-adjustment="1.4" \
--fees="5000ukyve"
kyved status 2>&1 | jq .ValidatorInfokyved q staking validator $(kyved keys show --bech val -a)kyved q slashing signing-info $(kyved tendermint show-validator)kyved tx slashing unjail --broadcast-mode=block --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " " + .description.moniker' | sort -gr | nl[[ $(kyved q staking validator $(kyved keys show --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(kyved status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "Your key status is ok" || echo -e "Your key status is error"kyved q slashing signing-info $(kyved tendermint show-validator)
kyved tx distribution withdraw-all-rewards --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved tx distribution withdraw-rewards $(kyved keys show --bech val -a) --commission --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved tx staking delegate $(kyved keys show --bech val -a) 000000ukyve --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved tx staking redelegate $(kyved keys show --bech val -a) 000000ukyve --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved tx staking delegate 000000ukyve --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved tx staking unbond $(kyved keys show --bech val -a) 000000ukyve --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"kyved tx bank send 000000ukyve --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"
kyved query gov proposal
kyved tx gov vote --from --chain-id kyve-1 --gas-adjustment="1.4" --fees="5000ukyve"
CUSTOM_PORT=
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.kyve/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%" $HOME/.kyve/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.kyve/config/config.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.kyve/config/config.toml
kyved tendermint unsafe-reset-all --home $HOME/.kyve --keep-addr-book
sudo systemctl stop kyved && \
sudo systemctl disable kyved && \
rm /etc/systemd/system/kyved.service && \
sudo systemctl daemon-reload && \
cd $HOME && \
rm -rf .kyve && \
rm -rf $(which kyved)
wget -O $HOME/.kyve/config/genesis.json "https://files.kyve.network/mainnet/genesis.json"
wget -O $HOME/.kyve/config/addrbook.json "https://raw.githubusercontent.com/kynraze/service/main/mainnet/kyve/addrbook.json"
PEERS=
sed -i -e "s|^persistent_peers *=.*|persistent_peers = "$PEERS"|" $HOME/.kyve/config/config.toml
wget -O auto-kyve.sh https://raw.githubusercontent.com/kynraze/service/main/mainnet/kyve/install-auto.sh && chmod +x auto-kyve.sh && ./auto-kyve.sh
KYVE
_NODENAME=""
echo "exportKYVE_NODENAME=$KYVE_NODENAME" >> $HOME/.bash_profileif [ ! $WALLET ]; thenecho "export WALLET=wallet" >> $HOME/.bash_profilefiecho "exportKYVE_CHAIN_ID=kyve-1" >> $HOME/.bash_profilesource $HOME/.bash_profile
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
ver="1.21.2"cd $HOMEwget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"sudo rm -rf /usr/local/gosudo 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" >> ~/.bash_profilesource ~/.bash_profile
go version
git clone https://github.com/KYVENetwork/chain.git cd chain git checkout v2.1.0 make install
kyved version
--long
CUSTOM_PORT=
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%"$HOME/.kyve/config/config.tomlsed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%"$HOME/.kyve/config/app.toml
kyved config chain-id $KYVE_CHAIN_ID kyved config keyring-backend file kyved config node tcp://localhost:657
kyved init $KYVE_NODENAME
--chain-id$KYVE_CHAIN_ID
wget -O $HOME/.kyve/config/genesis.json "https://files.kyve.network/mainnet/genesis.json"
wget -O $HOME/.kyve/config/addrbook.json "https://raw.githubusercontent.com/kynraze/service/main/mainnet/kyve/addrbook.json"
PEERS=""sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.kyve/config/config.tomlsed -i -e "s|^seeds *=.*|seeds = \"\"|" $HOME/.kyve/config/config.toml
pruning="custom"pruning_keep_recent="100"pruning_keep_every="0"pruning_interval="10"sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.kyve/config/app.tomlsed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.kyve/config/app.tomlsed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.kyve/config/app.tomlsed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.kyve/config/app.toml
sudo tee /etc/systemd/system/kyved.service > /dev/null << EOF[Unit]Description=kyvedAfter=network-online.target
[Service]User=$USERExecStart=$(whichkyved)start --home $HOME/.kyveRestart=on-failureRestartSec=3LimitNOFILE=65535
[Install]WantedBy=multi-user.targetEOF
curl -o - -Lhttps://snap.kynraze.com/kyve/snapshot-latest.tar.lz4| lz4 -c -d - | tar -x -C $HOME/.kyve
sudo systemctl daemon-reloadsudo systemctl enablekyvedsudo systemctl restartkyvedsudo journalctl -fukyved-o cat
# Update & install lz4(Required)
sudo apt install snapd lz4 -y
# Reset Chain Data
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.kyve/config/config.toml
sudo systemctl stop kyved
cp $HOME/.kyve/data/priv_validator_state.json $HOME/.kyve/priv_validator_state.json.backup
rm -rf $HOME/.kyve/data
# Download Data Snapshot
curl -o - -L https://snap.kynraze.com/kyve/snapshot-latest.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.kyve
mv $HOME/.kyve/priv_validator_state.json.backup $HOME/.kyve/data/priv_validator_state.json
# Restart
sudo systemctl restart kyved
sudo journalctl -fu kyved -o cat
systemctl stop kyved
kyved tendermint unsafe-reset-all --home $HOME/.kyve --keep-addr-book
STATE_SYNC_RPC=""
LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height) \
SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000)) \
SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $SYNC_BLOCK_HEIGHT $SYNC_BLOCK_HASH
PEERS=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.kyve/config/config.toml
sed -i.bak -e "s|^enable *=.*|enable = true|" $HOME/.kyve/config/config.toml
sed -i.bak -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
$HOME/.kyve/config/config.toml
sed -i.bak -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
$HOME/.kyve/config/config.toml
sed -i.bak -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
$HOME/.kyve/config/config.toml
systemctl restart kyved && journalctl -fu kyved -o cat