-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathlava.sh
382 lines (301 loc) · 16.3 KB
/
lava.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
#!/bin/bash
exists()
{
command -v "$1" >/dev/null 2>&1
}
RED="\e[31m"
GREEN="\e[32m"
ENDCOLOR="\e[0m"
function NodePreInstall () {
echo "---------------------------------------------------"
echo -e "${GREEN}Validator kurulumu"${ENDCOLOR} && sleep 2
cd $HOME
wget -qO $HOME/lavad https://github.com/lavanet/lava/releases/download/v0.7.0/lavad-v0.7.0-RC1-linux-amd64
chmod +x $HOME/lavad
sudo mv $HOME/lavad $(which lavad)
lavad version & sleep 2
echo -e " "
}
function NodeInitialize () {
source $HOME/.bash_profile
echo "---------------------------------------------------"
echo -e "${GREEN}Başlatma ve kurulum: "${ENDCOLOR} && sleep 2
lavad init $LAVA_NODENAME --chain-id $LAVA_CHAIN_ID && sleep 2
source $HOME/.bash_profile
curl -s https://raw.githubusercontent.com/K433QLtr6RA9ExEq/GHFkqmTzpdNLDd6T/main/testnet-1/genesis_json/genesis.json > $HOME/.lava/config/genesis.json
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.025ulava"|g' $HOME/.lava/config/app.toml
PRUNING_INTERVAL=$(shuf -n1 -e 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97)
sed -i 's|^pruning *=.*|pruning = "custom"|g' $HOME/.lava/config/app.toml
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|g' $HOME/.lava/config/app.toml
sed -i 's|^pruning-interval *=.*|pruning-interval = "'$PRUNING_INTERVAL'"|g' $HOME/.lava/config/app.toml
sed -i 's|^snapshot-interval *=.*|snapshot-interval = 2000|g' $HOME/.lava/config/app.toml
SEEDS="3a445bfdbe2d0c8ee82461633aa3af31bc2b4dc0@prod-pnet-seed-node.lavanet.xyz:26656,e593c7a9ca61f5616119d6beb5bd8ef5dd28d62d@prod-pnet-seed-node2.lavanet.xyz:26656"
sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|' $HOME/.lava/config/config.toml
}
function NodePeers () {
PEERS="37fc77cca6c945d12c6e54166c3b9be2802ad1e6@lava-testnet.nodejumper.io:27656,[email protected]:33656,[email protected]:26656,[email protected]:33656,[email protected]:11656,[email protected]:11036,[email protected]:27656,[email protected]:32656,[email protected]:13656,[email protected]:26656,[email protected]:11656,[email protected]:26656,[email protected]:27656,[email protected]:30656,[email protected]:7140,[email protected]:26656,[email protected]:26656,[email protected]:61256,[email protected]:26546,[email protected]:26672,[email protected]:26656,[email protected]:26656,[email protected]:34656,[email protected]:26656,[email protected]:39656,[email protected]:26656,[email protected]:26656,[email protected]:31656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:56656,[email protected]:26656,[email protected]:31656,[email protected]:25556,[email protected]:26656,[email protected]:30656,[email protected]:36656,[email protected]:26656,[email protected]:47656,[email protected]:22626,[email protected]:60656,[email protected]:26656,[email protected]:26656,[email protected]:29656,[email protected]:38656,[email protected]:26656,[email protected]:26656,[email protected]:27656,[email protected]:26656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.lava/config/config.toml
}
function NodeServiceFile () {
echo "---------------------------------------------------"
echo -e "${GREEN}Servis dosyası kurulumu${ENDCOLOR}" && sleep 2
echo "
[Unit]
Description=Lava Node
After=network-online.target
[Service]
User=$USER
Type=simple
ExecStart=$(which lavad) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target" > $HOME/lavad.service
sudo mv $HOME/lavad.service /etc/systemd/system
}
function NodeSnapshot () {
echo "---------------------------------------------------"
echo -e "${GREEN}Anlık görüntü yükleme${ENDCOLOR}" && sleep 2
sudo systemctl stop lavad
cp $HOME/.lava/data/priv_validator_state.json $HOME/.lava/priv_validator_state.json.backup
lavad tendermint unsafe-reset-all --home $HOME/.lava --keep-addr-book
SNAP_NAME=$(curl -s https://snapshots1-testnet.nodejumper.io/lava-testnet/ | egrep -o ">lava-testnet-1.*\.tar.lz4" | tr -d ">")
curl https://snapshots1-testnet.nodejumper.io/lava-testnet/${SNAP_NAME} | lz4 -dc - | tar -xf - -C $HOME/.lava
mv $HOME/.lava/priv_validator_state.json.backup $HOME/.lava/data/priv_validator_state.json
}
function NodeChangePorts () {
echo "---------------------------------------------------"
echo -e "${GREEN}Port değiştirmek gerekli mi? İstediğiniz eylemi seçin ve tıklayın Enter${ENDCOLOR}" && sleep 3
echo -e ""
echo "1 Evet, varsayılan validator bağlantı noktalarını değiştir (Daha - https://wenmoney.io/cheat-sheet-cosmos-nodes#Ozd0)"
echo "2 HAYIR, varsayılan bağlantı noktalarını bırak"
read ports
case $ports in
1)
source $HOME/.bash_profile
if [ ! $LAVA_gRPC ]; then
read -p "gRPC bağlantı noktasını girin : " LAVA_gRPC
echo 'export LAVA_gRPC='\"${LAVA_gRPC}\" >> $HOME/.bash_profile
else
echo -e "LAVA_gRPC bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_gRPCweb ]; then
read -p "gRPC(web) bağlantı noktasını girin: " LAVA_gRPCweb
echo 'export LAVA_gRPCweb='\"${LAVA_gRPCweb}\" >> $HOME/.bash_profile
else
echo -e "LAVA_gRPCweb bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_proxy_app ]; then
read -p "Bağlantı Noktasını Girin proxy_app: " LAVA_proxy_app
echo 'export LAVA_proxy_app='\"${LAVA_proxy_app}\" >> $HOME/.bash_profile
else
echo -e "LAVA_proxy_app bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_laddrrpc ]; then
read -p "Laddr(rpc) bağlantı noktasını girin: " LAVA_laddrrpc
echo 'export LAVA_laddrrpc='\"${LAVA_laddrrpc}\" >> $HOME/.bash_profile
else
echo -e "LAVA_laddrrpc bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_pprof_laddr ]; then
read -p "pprof_laddr bağlantı noktasını girin: " LAVA_pprof_laddr
echo 'export LAVA_pprof_laddr='\"${LAVA_pprof_laddr}\" >> $HOME/.bash_profile
else
echo -e "LAVA_pprof_laddr bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_laddrp2p2 ]; then
read -p "port laddr(p2p) girin: " LAVA_laddrp2p2
echo 'export LAVA_laddrp2p2='\"${LAVA_laddrp2p2}\" >> $HOME/.bash_profile
else
echo -e "LAVA_laddrp2p2 bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_prometheus ]; then
read -p "Bağlantı Noktasını Girin prometheus: " LAVA_prometheus
echo 'export LAVA_prometheus='\"${LAVA_prometheus}\" >> $HOME/.bash_profile
else
echo -e "LAVA_prometheus bağlantı noktası sistemde zaten yüklü"
fi
if [ ! $LAVA_api ]; then
read -p "Bağlantı Noktasını Girin api: " LAVA_api
echo 'export LAVA_api='\"${LAVA_api}\" >> $HOME/.bash_profile
else
echo -e "LAVA_api bağlantı noktası sistemde zaten yüklü"
fi
echo -e ""
source $HOME/.bash_profile
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${LAVA_proxy_app}\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${LAVA_laddrrpc}\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${LAVA_laddrp2p2}\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${LAVA_pprof_laddr}\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${LAVA_prometheus}\"%" $HOME/.lava/config/config.toml && sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${LAVA_gRPC}\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${LAVA_gRPCweb}\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${LAVA_api}\"%" $HOME/.lava/config/app.toml && sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:${LAVA_laddrrpc}\"%" $HOME/.lava/config/client.toml
echo -e "Bağlantı noktası değişikliği ${GREEN}tamamlandı${ENDCOLOR}! Sonuç şuraya kaydedilir: .bash_profile" && sleep 2
;;
2)
echo -e "Bağlantı noktası ${RED}değiştirilmedi${ENDCOLOR}!" && sleep 2
;;
*)
echo "Geçersiz işlem girildi"
esac
}
function NodeRestart () {
echo "---------------------------------------------------"
echo -e "${GREEN}Düğüm başlatma${ENDCOLOR}" && sleep 2
sudo systemctl daemon-reload
sudo systemctl enable lavad
sudo systemctl restart lavad
}
function NodeCheck () {
echo "---------------------------------------------------"
echo -e "${GREEN}Düğüm durumu kontrol ediliyor${ENDCOLOR}" && sleep 2
if [[ `service lavad status | grep active` =~ "running" ]]; then
echo -e "Düğümünüz ${GREEN}yüklü ve çalışıyor${ENDCOLOR}!"
echo -e ""
echo -e "Logları komut ile kontrol edebilirsiniz.${GREEN}journalctl -u lavad -f -o cat${ENDCOLOR}"
echo -e ""
else
echo -e "Düğümünüz ${RED}yanlış yüklenmiş${ENDCOLOR}, yeniden yükleyin."
fi
}
function NodeWalletSetup {
echo "---------------------------------------------------"
echo -e "${GREEN}Cüzdan kurulumu${ENDCOLOR}" && sleep 2
echo -e "Bir eylem seçin ve istediğiniz sayıyı gi" && sleep 3
echo -e ""
echo "1 Yeni bir cüzdan oluşturm"
echo "2 Cüzdan Kurtarma"
read doing
case $doing in
1)
read -p "Cüzdan adını girin: " wallet
echo "export LAVA_WALLET=$wallet" >> $HOME/.bash_profile
echo -e "Cüzdan kurulumu..." && sleep 2
source $HOME/.bash_profile
lavad keys add $LAVA_WALLET --keyring-backend os
echo "Hatırlatıcı cümleyi cüzdanınızdan kaydetmeyi unutma"
echo -e ""
;;
2)
if [ ! $LAVA_WALLET ]; then
read -p "Cüzdan adınızı girin: " wallet
echo "export LAVA_WALLET=$wallet" >> $HOME/.bash_profile
source $HOME/.bash_profile
echo -e ""
fi
echo -e "Cüzdan kurtarma - sonraki adımda, tohum ifadesini ekleyin" && sleep 2
lavad keys add $LAVA_WALLET --recover --keyring-backend os
echo -e ""
;;
*)
echo "Geçersiz işlem girildi"
esac
if [ ! $LAVA_ADDRESS ]; then
echo "---------------------------------------------------"
echo -e "${GREEN}ADRES ve VALOPER ekleme (çift şifre istemi olacak)${ENDCOLOR}" && sleep 2
source $HOME/.bash_profile
LAVA_ADDRESS=$(lavad keys show $LAVA_WALLET -a --keyring-backend os)
LAVA_VALOPER=$(lavad keys show $LAVA_WALLET --bech val -a --keyring-backend os)
echo 'export LAVA_ADDRESS='${LAVA_ADDRESS} >> $HOME/.bash_profile
echo 'export LAVA_VALOPER='${LAVA_VALOPER} >> $HOME/.bash_profile
source $HOME/.bash_profile
fi
}
function NodeStop () {
echo "---------------------------------------------------"
echo -e "${GREEN}Düğüm durağı${ENDCOLOR}" && sleep 2
sudo systemctl stop lavad
}
function NodeBackupKey () {
cp .lava/config/priv_validator_key.json $HOME/priv_validator_state.json.backup.lava
}
function NodeDelete () {
echo "---------------------------------------------------"
echo -e "${GREEN}Bir düğümü si${ENDCOLOR}" && sleep 2
systemctl disable lavad
rm /etc/systemd/system/lavad.service
systemctl daemon-reload
cd $HOME
rm -rf .lava GHFkqmTzpdNLDd6T
rm -rf $(which lavad)
}
function NodeUpdate070 () {
echo "---------------------------------------------------"
echo -e "${GREEN}Düğüm güncellem${ENDCOLOR}" && sleep 2
rm -rf lava
wget -qO $HOME/lavad https://github.com/lavanet/lava/releases/download/v0.7.0/lavad-v0.7.0-RC1-linux-amd64
chmod +x $HOME/lavad
sudo mv $HOME/lavad $(which lavad)
lavad version & sleep 2
echo -e " "
}
# MAIN SCRIPT BEGIN
echo "---------------------------------------------------"
echo -e "${GREEN}Başlatma ${ENDCOLOR}" && sleep 2
sudo apt install curl -y
curl -s https://raw.githubusercontent.com/CoinHuntersTR/Andromeda-Testnet-Rehberi/main/logo.sh | bash
echo "---------------------------------------------------"
echo -e "${GREEN}Bir eylem seçin. İstenilen numarayı girin ve tuşu ile işlemi onaylayın. Enter${ENDCOLOR}" && sleep 3
echo -e ""
echo "1 Düğümü sıfırdan kurun (lava-testnet-1) - yerleşik anlık görüntü, bağlantı noktası değişikliği mevcut"
echo "2 102.800 bloğunda 0.7.0 sürümüne güncelleme"
echo "3 Parametre ayarı"
echo "4 Belleği temizleyin ve anlık görüntüden yükleyin (doğrulayıcı ve cüzdan verilerine dokunulmaz)"
echo "5 Cüzdan ekle veya geri yükle"
echo "6 Düğümü sil (doğrulayıcı anahtar, .backup uzantılı .root'a kaydedilecek)"
read doing
case $doing in
1)
echo "---------------------------------------------------"
echo -e "${GREEN}Paketleri yükleme: "${ENDCOLOR} && sleep 2
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential pkg-config libssl-dev git jq wget make gcc nano htop net-tools screen lz4 -y < "/dev/null"
if [ ! -f "/usr/local/go/bin/go" ]; then
wget -q -O go_install.sh https://nodes.wenmoney.io/go_install.sh && chmod +x go_install.sh && ./go_install.sh
fi
NodePreInstall
if [ ! $LAVA_NODENAME ]; then
read -p "Lav düğümünün adını girin: " LAVA_NODENAME
echo 'export LAVA_NODENAME='\"${LAVA_NODENAME}\" >> $HOME/.bash_profile
echo "export LAVA_CHAIN_ID=lava-testnet-1" >> $HOME/.bash_profile
source $HOME/.bash_profile
fi
NodeInitialize
NodePeers
NodeServiceFile
NodeSnapshot
NodeChangePorts
NodeRestart
NodeCheck
echo "---------------------------------------------------"
echo -e "${GREEN}Bundan sonra ne yapacağız - günlükleri kontrol edin, her şey yolundaysa, ardından senkronizasyonu bekleyin ve doğrulayıcıyı yükleyin${ENDCOLOR}"
echo "---------------------------------------------------"
;;
2)
NodeStop
NodeUpdate070
NodeRestart
NodeCheck
;;
3)
NodeStop
sed -i 's/create_empty_blocks = .*/create_empty_blocks = true/g' ~/.lava/config/config.toml
sed -i 's/create_empty_blocks_interval = ".*s"/create_empty_blocks_interval = "60s"/g' ~/.lava/config/config.toml
sed -i 's/timeout_propose = ".*s"/timeout_propose = "60s"/g' ~/.lava/config/config.toml
sed -i 's/timeout_commit = ".*s"/timeout_commit = "60s"/g' ~/.lava/config/config.toml
sed -i 's/timeout_broadcast_tx_commit = ".*s"/timeout_broadcast_tx_commit = "601s"/g' ~/.lava/config/config.toml
NodeRestart
NodeCheck
;;
4)
NodeStop
NodeSnapshot
NodeRestart
NodeCheck
;;
5)
NodeWalletSetup
;;
6)
NodeStop
NodeBackupKey
NodeDelete
;;
*)
echo "Geçersiz işlem girildi. Komut dosyası tamamlandı. Komut dosyasını tekrar çalıştırın ve doğru eylemi seçin!"
esac