Stratos SDS

Linkler
Node kurulumu
root yetkisi kazanıyoruz.
sudo su
root dizinine gidiyoruz.
cd /root
Sistem güncellemesi yapıyoruz.
sudo apt update && sudo apt upgrade -y

Kütüphane kurulumu yapıyoruz.
sudo apt install make clang pkg-config libssl-dev build-essential git jq ncdu bsdmainutils -y < "/dev/null"
Go kurulumu yapıyoruz.
wget -O go1.18.2.linux-amd64.tar.gz https://golang.org/dl/go1.18.2.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz && rm go1.18.2.linux-amd64.tar.gz
echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile
echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile
echo 'export GO111MODULE=on' >> $HOME/.bash_profile
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile
go version
source code ile binary dosyayı derliyoruz.
cd $HOME
git clone https://github.com/stratosnet/sds.git
cd ~/sds
git checkout v0.8.1
make build
cp target/ppd $HOME/bin

$GOPATH/bin altında Binary dosya oluşturuyoruz.
make install
Node dosyası oluşturup yapılandırıyoruz.
config dosyasına giriyoruz.
nano $HOME/rsnode/configs/config.toml
Versiyon kısmı aşağıdaki gibi değilse düzenliyoruz.
[version]
app_ver = 8
min_app_ver = 8
show = 'v0.8.1'

stratos_chain_url kısmını aşağıdaki gibi değilse düzenliyoruz.
stratos_chain_url = 'https://rest-tropos.thestratos.org:443'

[sp-list] yani meta node'ları aşağıdaki gibidüzenliyoruz.
[[sp_list]]
p2p_address = 'stsds1mr668mxu0lyfysypq88sffurm5skwjvjgxu2xt'
p2p_public_key = 'stsdspub1zcjduepq4v8yu6nzem787nfnwvzrfvpc5f7thktsqjts6xp4cy4a2j4rgm7sgdy4zy'
network_address = '35.73.160.68:8888'
[[sp_list]]
p2p_address = 'stsds1ftcvm2h9rjtzlwauxmr67hd5r4hpxqucjawpz6'
p2p_public_key = 'tsdspub1zcjduepqq9rk5zwkzfnnszt5tqg524meeqd9zts0jrjtqk2ly2swm5phlc2qtrcgys'
network_address = '46.51.251.196:8888'
[[sp_list]]
p2p_address = 'stsds12uufhp4wunhy2n8y5p07xsvy9htnp6zjr40tuw'
p2p_public_key = 'stsdspub1zcjduepqkst98p2642fv8eh8297ppx7xuzu7qjz67s9hjjhxjxs834md7e0s5rm3lf'
network_address = '18.130.202.53:8888'
[[sp_list]]
p2p_address = 'stsds1wy6xupax33qksaguga60wcmxpk6uetxt3h5e3e'
p2p_public_key = 'stsdspub1zcjduepqyyfl7ljwc68jh2kuaqmy84hawfkak4fl2sjlpf8t3dd00ed2eqeqlm65ar'
network_address = '35.74.33.155:8888'
[[sp_list]]
p2p_address = 'stsds1nds6cwl67pp7w4sa5ng5c4a5af9hsjknpcymxn'
p2p_public_key = 'stsdspub1zcjduepq6mz8w7dygzrsarhh76tnpz0hkqdq44u7usvtnt2qd9qgp8hs8wssl6ye0g'
network_address = '52.13.28.64:8888'
[[sp_list]]
p2p_address = 'stsds1403qtm2t7xscav9vd3vhu0anfh9cg2dl6zx2wg'
p2p_public_key = 'stsdspub1zcjduepqzarvtl2ulqzw3t42dcxeryvlj6yf80jjchvsr3s8ljsn7c25y3hq2fv5qv'
network_address = '3.9.152.251:8888'
[[sp_list]]
p2p_address = 'stsds1hv3qmnujlrug00frk86zxr0q23rnqcaquh62j2'
p2p_public_key = 'stsdspub1zcjduepqj69eeq07yfdgu4cdlupvga897zjqjakuru0qar5na7as4kjr7jgs0k7aln'
network_address = '18.223.175.117:8888'

chain_id kısmını tropos-4 olarak ayarlı değilse düzenliyoruz.
chain_id = 'tropos-4'

network_address kısmına kendi ip adresimizi aşağıdaki gibi düzenliyoruz.
network_address = 'your node external ip'

Son olarak config.toml dosyası aşağıdaki gibi gözükür.

Faucetten token alıyoruz. WalletAddress kısmına cüzdan adresimizi yazıyoruz.
curl --header "Content-Type: application/json" --request POST --data '{"denom":"ustos","address":"WalletAddress"} ' https://faucet-tropos.thestratos.org/credit
tmux kurulumu yapıyoruz.
apt-get install tmux
sds isimli bir oturum oluşturuyoruz.
tmux new-session -s sds
sds resource node başlatıyoruz. (please register at first çıktısı almamız gerekiyor.)
cd ~/rsnode
ppd start

ctrl+b d ile çıkıyoruz.
screen aracımızı yüklüyoruz.
apt-get install screen
terminal isimli bir screen oluşturuyoruz.
screen -S terminal
resource node ile etkileşim kurabilmek için ek terminal açıyoruz.
cd ~/rsnode
ppd terminal

registerpeer işlemi yapıyoruz.Aşağıdaki gibi registered as PP successfully çıktısı almamız gerekli.
registerpeer

activate işlemi yapıyoruz. (activate amount fee gas)
activate 10000000000 10000 1000000

Node durumumuza bakıyoruz.
status

Kazandığımız ödülleri tarayıcıdan kontrol etmek için (cüzdanAdresi kısmına cüzdan adresimizi yazıyoruz):
--Utros stos'un 1.000.000.000 da 1 ine eşit.
https://rest-tropos.thestratos.org/pot/rewards/wallet/cüzdanAdresi

Ek komutlar
Ozon almak için: (purchaseAmount kısmına ustos ile alacağımız miktar, fee amount kısmına fee miktarı, gasAmount kısmına gas yazıyoruz.)
Ozon, SDS tarafından kullanılan trafik birimidir. Ağ trafiğini içeren işlemler, ozonun yürütülmesini gerektirir.
--prepay <purchaseAmount> <feeAmount> <gasAmount>
prepay 500000000 10000 1000000
Cüzdandaki ozon miktarını sorgulamak için: (walletAddress kısmına cüzdan adresini yazıyoruz.)
getoz walletAddress

Dosya yüklemek için (PATH kısmına dosyanın dizinin yapıştırırız.):
put PATH

Dosya indirmek için (SHARE_LINK kısmına dosya hash'ini yazıyoruz.PASSWORD kısmına ise eğer dosya şifreli paylaşılmışsa şifre bilgisini yazıyoruz.):
getsharefile SHARE_LINK PASSWORD

Yüklenen dosyaları listelemek için:
ls

Yüklenen dosyayı paylaşmak için:
FILE_HASH kısmına dosya hash'i gireceğiz.
EXPIRY_TIME kısmına ne kadar süre sonra yok olacağını giriyoruz. (0 girersek dosya paylaşımı sonsuza kadar kalıcı olur.)
PRIVATE kısmına dosyanın gizli veya public olacağını yazıyoruz. (0 girersek şifresiz, 1 ise şifreli)
sharefile FILE_HASH EXPIRY_TIME PRIVATE
sharefile v05ahm52mafaujmvqodbnj2u4ld0edm611nlqp58 0 0

Tüm paylaşılan dosyaları listelemek için:
allshare

Yüklenen bir dosya silmek için. (FILE_HASH kısmındda dosya'nın hashini giriyoruz)
delete FILE_HASH
Mining:SUSPEND olunca (Bu hatanın sebebi Node'umuzun kötü performans sergilemesi.)
Activation: Active | Mining: SUSPEND | Initial tier: 2 | Ongoing tier: 0 | Weight score: 8000
updateStake <stakeDelta> <fee> <gas> <isIncrStake>
updateStake 1000000000 10000 1000000 1
Dosya paylaşımını durdurmak için ShareId kısmına share id mizi yazıyoruz
cancelshare ShareId
Kaynak kullanımını görüntülemek için:
monitor

Kaynak kullanımı görüntülemesini kapatmak için:
stopmonitor
Cüzdan adreslerini listelemek için:
wallets

(opsiyonel) SCRIPT Otomatik dosya oluşturup yükleme (ödül almak için gerekli değil):
Ozon alımı yapıyoruz. (Eğer cüzdanımızda 1 token varsa)
prepay 1000000000 10000 600000
Ozon alımının başarılı olup olmadığını kontrol ediyoruz. WalletAddress kısmına cüzdan adresimizi yazıyoruz.
getoz walletAddress

ctrl+a d ile terminal screen den çıkıyoruz.
upload isimli bir screen oluşturuyoruz.
screen -S upload
upload isimli bir klasör oluşturuyoruz.
mkdir -p ~/upload
upload.sh script'i oluşturuyoruz.
nano $HOME/rsnode/upload.sh
script komutlarımızı yapıştırıyoruz ardından ctrl x y ile kaydedip çıkıyoruz.
#!/bin/bash
while true;
do /usr/bin/head -c 25M /dev/urandom > "$HOME/upload/test-$(date '+%Y%m%d%H%M')" ; ppd terminal exec put "$HOME/upload/test-$(date '+%Y%m%d%H%M')";
sleep 900;
/usr/bin/rm -rf "$HOME/upload/test*";
sleep 1;
done

upload.sh dosyasına executuble yetkisi veriyoruz.
cd $HOME/rsnode
chmod +x upload.sh
./upload.sh
