Giter Site home page Giter Site logo

cascadia's Introduction

Cascadia - DevNet

Neden Cascadi node'u kuruyorum?

Uzun bir süredir Cascadia DevNet'te, Burada paylaşmıştım, kontrol edin.

Yakında Cascadia incentivize testnete geçiş yapacak, ben şahsen katılacağım.

Yakında geçiş yapacağı ve kısa süreceği için, validatör rolünü almak içini kurdum, başka nedeni yok.

Topluluk kanalları: Duyuru kanalım - Sohbet kanalı - Cascadia Discord

İhtiyaç olabilecek yardımcı komutlar Linki ve Cascadia Platformu

Donanım

Sunucu temin edemiyorsanız ve para vermek istemiyorsanız Hetzner $20 veriyor.

# Hetzner'den 3 GPU 4 RAM sunucuya kurdum, sıkıntısız çalışıyor. 
# 3 dolarlık sunucu dahi kaldırır tahminim, ben yinede 7$ olanı kullandım.
# Sunucuyu beğenmezsen kapatıp yenisini açabilirsin, hetznerde saatlik ücret var, aylık yok. Sanırım bir kaç saat kullanmaya da bir şey almıyor.

image

# Sunucumuzu güncelleyelim
sudo apt update && sudo apt upgrade -y

apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
# Go'yu yüklüyoruz
if [ "$(go version)" != "go version go1.20.2 linux/amd64" ]; then \
ver="1.20.2" && \
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 ; \
fi

go version

# go version sonrası çıktı: go version go1.20.2 linux/amd64

Değişkenleri Ayarlayalım

# Validator_İsmi kısmına validatör (moniker) belirleyin.
CASCADIA_MONIKER=VALİDATOR_İSMİ

echo 'export CASCADIA_MONIKER='$CASCADIA_MONIKER >> $HOME/.bash_profile
echo "export CASCADIA_CHAIN_ID=cascadia_6102-1" >> $HOME/.bash_profile
echo "export CASCADIA_PORT=18" >> $HOME/.bash_profile
source $HOME/.bash_profile
# Binary dosyalarını yüklüyoruz
cd $HOME
git clone https://github.com/cascadiafoundation/cascadia && cd cascadia
git checkout v0.1.2
make install

cascadiad version --long | grep -e version -e commit

# Version kontrolde şöyle bir çıktı: 0.1.2 - commit: bde803072f5f52884a372c02d2249e743de9538d
# İnitalize işlemi yapalım
cascadiad init $CASCADIA_MONIKER --chain-id $CASCADIA_CHAIN_ID
# Uzun bir çıktı alacaksınız
# Genesisi yüklüyoruz
wget -O $HOME/.cascadiad/config/genesis.json "https://anode.team/Cascadia/test/genesis.json"

sha256sum $HOME/.cascadiad/config/genesis.json

# çıktı: 74ea3c84182028300d0c101c5cf017a055782c595ed91e4be3638380f0169582

Portları, Peerleri ve Config Dosyaları

# config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CASCADIA_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CASCADIA_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CASCADIA_PORT}061\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CASCADIA_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CASCADIA_PORT}660\"%" $HOME/.cascadiad/config/config.toml

# app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CASCADIA_PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CASCADIA_PORT}91\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:1${CASCADIA_PORT}7\"%" $HOME/.cascadiad/config/app.toml

# client.toml
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:${CASCADIA_PORT}657\"%" $HOME/.cascadiad/config/client.toml

external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:${CASCADIA_PORT}656\"/" $HOME/.cascadiad/config/config.toml

Config Yapılandırmaları

cascadiad config chain-id $CASCADIA_CHAIN_ID

cascadiad config keyring-backend test

cascadiad config node tcp://localhost:${CASCADIA_PORT}657

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025aCC\"/" ~/.cascadiad/config/app.toml

# seedleri ve peerleri ekliyoruz
peers="[email protected]:49656,[email protected]:46656,[email protected]:33656,[email protected]:27656,[email protected]:61556,[email protected]:26656,[email protected]:55656,[email protected]:36656,[email protected]:60556,[email protected]:16756"
sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$peers\"|" $HOME/.cascadiad/config/config.toml
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.cascadiad/config/config.toml

seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.cascadiad/config/config.toml

# İşe yaramaz peerleri kaldıracak filtreyi ekliyoruz
sed -i -e "s/^filter_peers *=.*/filter_peers = \"true\"/" $HOME/.cascadiad/config/config.toml

# Pruning'i kuralım. (Pruning: diskten tasaruf eder, CPU ve RAM'den yer, opsiyoneldir.)
pruning="custom"
pruning_keep_recent="1000"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.cascadiad/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.cascadiad/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.cascadiad/config/app.toml

# İndexeri kaldıralım, opsiyoneldir
indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.cascadiad/config/config.toml
# Servis dosyasını oluşturalım (tekte girebilirsiniz)
sudo tee /etc/systemd/system/cascadiad.service > /dev/null <<EOF
[Unit]
Description=Cascadia Node
After=network.target
 
[Service]
Type=simple
User=$USER
WorkingDirectory=$HOME/go/bin
ExecStart=/root/go/bin/cascadiad start --trace --log_level info --json-rpc.api eth,txpool,personal,net,debug,web3 --api.enable
Restart=on-failure
StartLimitInterval=0
RestartSec=3
LimitNOFILE=65535
LimitMEMLOCK=209715200
 
[Install]
WantedBy=multi-user.target
EOF
# node'u  başlatalım
systemctl daemon-reload
systemctl enable cascadiad
systemctl restart cascadiad && journalctl -u cascadiad -f -o cat
# Node'u ctrl c ile durdurabilir tekrar bu komutla izleyebilirsiniz
journalctl -u cascadiad -f -o cat
# [Explorer Linki](https://validator.cascadia.foundation/validators/cascadiavaloper1s03cy478zv9w4sf9hkwl8dlvx82ncsxayrwmgj) Güncel blok 622k, 1 saate eşleşir tahminim.

Eşleşirken hata alırsanız

sudo systemctl stop cascadiad
cp $HOME/.cascadiad/data/priv_validator_state.json $HOME/.cascadiad/priv_validator_state.json.backup
rm -rf $HOME/.cascadiad/data

curl -L https://snap.hexnodes.co/cascadia/cascadia.latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.cascadiad
mv $HOME/.cascadiad/priv_validator_state.json.backup $HOME/.cascadiad/data/priv_validator_state.json

sudo systemctl start cascadiad && sudo journalctl -fu cascadiad -o cat

Eşleşirken Geri Kalan İşlemler

# Statusu kontrol etme
curl localhost:${CASCADIA_PORT}657/status

# False çıktısında validatör oluşturabiliriz, sync olurken true çıktısı verir.
# Cüzdan oluşturma
cascadiad keys add rues
# rues kısmına wallet isminizi girin ve kaydedin bilgilerinizi.

# Recover yapmak isterseniz
cascadiad keys add rues –-recover
# Cüzdan bilgileriniz ile faucetten token alın, discorda mevcut.
# Token geldiğini kontrol edelim
cascadiad query bank balances cüzdan_adresiniz
# Tokenleri hangi blokta talep ederseniz, node'unuz o bloğa gelene kadar tokenlerinizi göstermez
# Güncel blokta değilseniz explorer'dan bakınız.

Validatör Oluşturma

# sync olduktan yani false çıktısı verdikten sonra yapıyoruz burayı.
cascadiad tx staking create-validator \
--amount 1000000000000000000aCC \
--from=wallet \
--commission-rate "0.05" \
--commission-max-rate "0.20" \
--commission-max-change-rate "0.1" \
--min-self-delegation "1" \
--pubkey=$(cascadiad tendermint show-validator) \
--moniker=$CASCADIA_MONIKER \
--chain-id=$CASCADIA_CHAIN_ID \
--identity="şart_değil" \
--details="şart_değil" \
--website="şart_değil" \
--gas auto \
--gas-adjustment=1.2 \
--gas-prices=7aCC \
-y

# Şart değil dediğim yerleri doldurmayacaksanız eğer silip "" tırnakları boş bırakın
# Validatör oluşturduktan sonra discord-validatör kanallarına explorer'dan validatorünüzün linkini atın ve rolü alın.

İhtiyaç olabilecek yardımcı komutlar linki

Bu repoları forklayın - yıldızlayın github profiliniz boş durmasın.

cascadia's People

Contributors

ruesandora avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.