> For the complete documentation index, see [llms.txt](https://scribcode.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scribcode.gitbook.io/home/testnet/kyve/installation.md).

# Installation

<figure><img src="/files/cZlo8I6tMV4UEr5OZ4He" alt=""><figcaption></figcaption></figure>

**Chain ID**: `Kaon-1` | **Latest Version Tag**: v1.0.0-rc0&#x20;

### Setup validator name

```
MONIKER="YOUR_MONIKER_GOES_HERE"
```

#### Install GO

```bash
sudo rm -rf /usr/local/go
sudo curl -Ls https://golang.org/dl/go1.19.4.linux-amd64.tar.gz | sudo tar -C /usr/local -xz
tee -a $HOME/.profile > /dev/null << EOF
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
```

### Download and build binaries

```bash
# Clone project repository

cd $HOME || return
rm -rf chain || return
git clone https://github.com/KYVENetwork/chain.git
cd chain
git fetch
git checkout v1.0.0-rc0
make install
kyved version #v1.0.0-rc0

```

### Initialize the node

```bash
# Initialize the node
kyved init "MONIKER" --chain-id kaon-1


# Download genesis and addrbook
curl -s https://raw.githubusercontent.com/KYVENetwork/networks/main/kaon-1/genesis.json > $HOME/.kyve/config/genesis.json
curl -s https://github.com/88Mikhail88/My_Testnets/blob/main/KYVE/addrbook.json > $HOME/.kyve/config/addrbook.json

# Add seeds
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" ~/.kyve/config/config.toml
sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" ~/.kyve/config/config.toml

# Set minimum gas price


# Set pruning
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="10"

sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" ~/.kyve/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" ~/.kyve/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" ~/.kyve/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" ~/.kyve/config/app.toml


# Set indexer
indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.kyve/config/config.toml

# Create service
echo "[Unit]
Description=Kyve
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=/home/$USER/go/bin/kyved start
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/kyved.service
sudo mv $HOME/kyved.service /etc/systemd/system
sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF

#Download latest chain snapshot
kyve tendermint unsafe-reset-all --home $HOME/.kyve --keep-addr-book



sudo systemctl daemon-reload
sudo systemctl enable kyved
sudo systemctl start kyved

sudo journalctl -u kyved -f --no-hostname -o cat
```

### Create Validator

```bash
# create validator wallet
kyved keys add wallet

## console output:
#- name: wallet
#  type: local
#  address: kyve19kmadqs9nsppn4wz5yp4rw8zn9545rc4zwvs7
#  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Auq9WzVEs5pCoZgr2WctjI7fU+lJCH0I3r6GC1oa0tc0"}'
#  mnemonic: ""

#!!! SAVE SEED PHRASE
kite upset hip dirt pet winter thunder slice parent flag sand express suffer chest custom pencil mother bargain remember patient other curve cancel sweet



# wait util the node is synced, should return FALSE
curl -s localhost:26657/status | jq .result.sync_info.catching_up


# Check your balance
kyved q bank balances $(kyved keys show wallet -a)

## console output:
#  balances:
#  - amount: "0000000"
#    denom: 


# create validator
kyved tx staking create-validator \
--moniker "YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--website="YOUR_WEBSITE_URL" \
--details="YOUR_DETAILS" \
--amount 1000000tkyve \
--fees 300tkyve \
--pubkey=$(kyved tendermint show-validator) \
--chain-id=kaon-1 \
--commission-max-change-rate=0.01 \
--commission-max-rate=0.20 \
--commission-rate=0.10 \
--min-self-delegation=1 \
--from=wallet \
--yes

# make sure you see the validator details
kyved q staking validator $(kyved keys show wallet --bech val -a)
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://scribcode.gitbook.io/home/testnet/kyve/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
