Installation
Manual Installation
Install dependencies
UPDATE SYSTEM AND INSTALL BUILD TOOLS
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
INSTALL GO
cd $HOME
VER="1.23.3"
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
Set Vars
wallet yerine istediğiniz bir ismi, MONIKER yerine bir validator adı yazmayı unutmayın.
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="test"" >> $HOME/.bash_profile
echo "export KOPI_CHAIN_ID="luwak-1"" >> $HOME/.bash_profile
source $HOME/.bash_profile
Download and build binaries
cd $HOME
wget -O kopid https://github.com/kopi-money/kopi/releases/download/v0.6.5.2/kopid-v0.6.5.2-linux-amd64-static
chmod +x $HOME/kopid
mv $HOME/kopid $HOME/go/bin/kopid
Config init app
kopid init $MONIKER --chain-id luwak-1
sed -i \
-e 's/timeout_propose = .*/timeout_propose = "300ms"/' \
-e 's/timeout_propose_delta = .*/timeout_propose_delta = "50ms"/' \
-e 's/timeout_prevote = .*/timeout_prevote = "100ms"/' \
-e 's/timeout_prevote_delta = .*/timeout_prevote_delta = "50ms"/' \
-e 's/timeout_precommit = .*/timeout_precommit = "100ms"/' \
-e 's/timeout_precommit_delta = .*/timeout_precommit_delta = "50ms"/' \
-e 's/timeout_commit = .*/timeout_commit = "500ms"/' \
-e 's/^create_empty_blocks = .*/create_empty_blocks = true/' \
-e 's/^create_empty_blocks_interval = .*/create_empty_blocks_interval = "15s"/' \
-e 's/^timeout_broadcast_tx_commit = .*/timeout_broadcast_tx_commit = "151s"/' \
-e 's/skip_timeout_commit = .*/skip_timeout_commit = false/' \
$HOME/.kopid/config/config.toml
Download Genesis and Addrbook
wget -O $HOME/.kopid/config/genesis.json https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/kopi/genesis.json
wget -O $HOME/.kopid/config/addrbook.json https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/kopi/addrbook.json
Set seeds and peers
# set seeds and peers
SEEDS="[email protected]:27656"
PEERS="[email protected]:27656,[email protected]:39656,[email protected]:25656,[email protected]:15956,[email protected]:5356,[email protected]:12656,[email protected]:30756,[email protected]:27656,[email protected]:26656,[email protected]:27656,[email protected]:26656,[email protected]:26656,[email protected]:15956,[email protected]:26656,[email protected]:30756,[email protected]:24656,[email protected]:26056,[email protected]:16656,[email protected]:14656,[email protected]:26656,[email protected]:19656,[email protected]:38656,[email protected]:26656,[email protected]:19656,[email protected]:45656,[email protected]:12656,[email protected]:39656,[email protected]:27656,[email protected]:12020,[email protected]:27656,[email protected]:12656,[email protected]:39656,[email protected]:26056,[email protected]:11656,[email protected]:30756,[email protected]:16656,[email protected]:16656,[email protected]:16656,[email protected]:11656,[email protected]:26656,[email protected]:25256"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*seeds *=.*/seeds = \"$SEEDS\"/}" \
-e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" \
$HOME/.kopid/config/config.toml
Config Pruning
pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.kopid/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.kopid/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.kopid/config/app.toml
set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0ukopi"|g' $HOME/.kopid/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.kopid/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.kopid/config/config.toml
create service file
sudo tee /etc/systemd/system/kopid.service > /dev/null <<EOF
[Unit]
Description=kopi node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.kopid
ExecStart=$(which kopid) start --home $HOME/.kopid
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
enable and start service
sudo systemctl daemon-reload
sudo systemctl enable kopid.service
sudo systemctl restart kopid.service && sudo journalctl -fu kopid.service -o cat
Snapshot
Stop the service and reset the data
sudo systemctl stop kopid.service
cp $HOME/.kopid/data/priv_validator_state.json $HOME/.kopid/priv_validator_state.json.backup
rm -rf $HOME/.kopid/data
Download latest snapshot
curl -L https://snapshots.coinhunterstr.com/mainnet/kopi/snapshot_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.kopid
mv $HOME/.kopid/priv_validator_state.json.backup $HOME/.kopid/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart kopid.service && sudo journalctl -fu kopid.service -o cat
Auto Installation
bash <(wget -qO- https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/AutoInstall/kopi.sh)
Sync Node
Node ağ ile eşleşmiş olması gerekiyor. Bunun için
kopid status 2>&1 | jq
komutunu çalıştırdığınızdafalse
çıktısı vermesi gerekir.True
çıktı alırsanız aşağıdaki adımlara devam etmeyin.
Run a Validator
cd $HOME
İlk önce Pubkeyimizi alıyoruz.
kopid tendermint show-validator
{"@type":"/cosmos.crypto.ed25519.PubKey","key":"0LuMdRNJpWGiH+b+................"}
buna benzer bir çıktı alacaksınız.
Sonrasında validator json dosyası açıyoruz.
Aşağıdaki dosyayı kendinize göre düzenlemeyi unutmayın. Validator ismi, site linkleri vs.
cat << EOF > ~/validator.json
{
"pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"3NyM9VcMXSDPH0yVwqbo9FKhQ3Nt4hEE7iSYb6jnWQU="},
"amount": "9000000ukopi",
"moniker": "",
"identity": "",
"website": "",
"security": "",
"details": " ",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOF
terminale yapıştırdıktan sonra, CTRL X Y enter ile çıkıyoruz.
Şimdi tekrardan node restart atalım
sudo systemctl restart kopid.service && sudo journalctl -fu kopid.service -o cat
Şimdi aşağıdaki komutu çalıştırıyoruz.
wallet
yerine kendi cüzdan isminizi yazmayı unutmayın. Terminalde cüzdan kurmak içinUseful Commands
bölümüne bakabilirsiniz.
kopid tx staking create-validator ~/validator.json --from wallet --chain-id luwak-1 --gas="auto" --gas-adjustment 2 --gas-prices="0.01ukopi"
Last updated