-
Notifications
You must be signed in to change notification settings - Fork 124
/
gitopiaEN.sh
148 lines (114 loc) · 13 KB
/
gitopiaEN.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
#!/bin/bash
echo -e "\033[0;35m"
echo " _ ___ ____ ____ _ _ ___ ____ _____ ";
echo " | | / _ \/ ___/ ___|| \ | |/ _ \| _ \| ____|";
echo " | | | | | \___ \___ \| \| | | | | | | | _| ";
echo " | |__| |_| |___) |__) | |\ | |_| | |_| | |___ ";
echo " |_____\___/|____/____/|_| \_|\___/|____/|_____|";
echo -e "\e[0m"
sleep 3
if [ ! $NODENAME ]; then
read -p "Enter your moniker name: " NODENAME
echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
fi
echo -e "\e[1m\e[32m1. Updating server.. \e[0m"
echo "======================================================"
sleep 1
sudo apt update && sudo apt upgrade -y
echo -e "\e[1m\e[32m2. Installing other necessary things.. \e[0m"
echo "======================================================"
sleep 1
sudo apt install curl build-essential git wget jq make gcc tmux chrony -y
echo "export GITOPIA_CHAIN_ID=gitopia-janus-testnet-2" >> $HOME/.bash_profile
echo "export GITOPIA_PORT=${GITOPIA_PORT}" >> $HOME/.bash_profile
source $HOME/.bash_profile
echo -e "\e[1m\e[32m2. Installing Go.. \e[0m"
echo "======================================================"
sleep 1
if ! [ -x "$(command -v go)" ]; then
cd
ver="1.18.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"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
fi
echo -e "\e[1m\e[32m3. Installing binaries.. \e[0m"
echo "======================================================"
sleep 1
cd $HOME
rm -rf gitopia
curl https://get.gitopia.com | bash
git clone -b v1.2.0 gitopia://gitopia/gitopia
cd gitopia
make install
gitopiad config chain-id $GITOPIA_CHAIN_ID
gitopiad config keyring-backend test
gitopiad config node tcp://localhost:${GITOPIA_PORT}657
gitopiad init $NODENAME --chain-id $GITOPIA_CHAIN_ID
echo -e "\e[1m\e[32m3. Downloading genesis file and addrbook, setting seed/peer.. \e[0m"
echo "======================================================"
sleep 1
wget -O $HOME/.gitopia/config/addrbook.json "http://65.108.6.45:8000/gitopia/addrbook.json"
wget https://server.gitopia.com/raw/gitopia/testnets/master/gitopia-janus-testnet-2/genesis.json.gz
gunzip genesis.json.gz
mv genesis.json $HOME/.gitopia/config/genesis.json
SEEDS="[email protected]:26656"
PEERS=""
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.gitopia/config/config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${GITOPIA_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${GITOPIA_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${GITOPIA_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${GITOPIA_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${GITOPIA_PORT}660\"%" $HOME/.gitopia/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${GITOPIA_PORT}317\"%; s%^address = \":8080\"%address = \":${GITOPIA_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${GITOPIA_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${GITOPIA_PORT}091\"%; s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${GITOPIA_PORT}545\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${GITOPIA_PORT}546\"%" $HOME/.gitopia/config/app.toml
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="50"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0utlore\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.gitopia/config/config.toml
gitopiad tendermint unsafe-reset-all --home $HOME/.gitopia
echo -e "\e[1m\e[32m4. Creating service file.. \e[0m"
echo "======================================================"
sleep 1
sudo tee /etc/systemd/system/gitopiad.service > /dev/null <<EOF
[Unit]
Description=gitopia
After=network-online.target
[Service]
User=$USER
ExecStart=$(which gitopiad) start --home $HOME/.gitopia
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
echo -e "\e[1m\e[32m4. Starting service.. \e[0m"
echo "======================================================"
sleep 1
sudo systemctl daemon-reload
systemctl restart systemd-journald.service
sudo systemctl enable gitopiad
sudo systemctl restart gitopiad
source $HOME/.bash_profile
echo -e "\e[1m\e[32m4. Completing StateSync.. \e[0m"
"======================================================"
sleep 1
SNAP_RPC=https://gitopia-testnet-rpc.polkachu.com:443
peers="[email protected]:46656,[email protected]:11356,[email protected]:11356,[email protected]:21656,[email protected]:26656,[email protected]:26656,[email protected]:19656,[email protected]:46656,[email protected]:26656,[email protected]:24256,[email protected]:29686,[email protected]:11156,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:7040,[email protected]:656,[email protected]:7040,[email protected]:7040,[email protected]:7070,[email protected]:26878,[email protected]:27956,[email protected]:36656,[email protected]:26656,[email protected]:36656,[email protected]:27001,[email protected]:26656,[email protected]:36656,[email protected]:24656,[email protected]:36656,[email protected]:60756,[email protected]:17656,[email protected]:12656,[email protected]:46656,[email protected]:11156,[email protected]:46656,[email protected]:16656,[email protected]:35656,[email protected]:26656,[email protected]:34656,[email protected]:34656,[email protected]:26656,[email protected]:26656,[email protected]:34656,[email protected]:15656,[email protected]:28656,[email protected]:31656,[email protected]:16656,[email protected]:26656,[email protected]:22656,[email protected]:26676,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:19656,[email protected]:41656,[email protected]:11056,[email protected]:26656,[email protected]:13656,[email protected]:26656,[email protected]:14656,[email protected]:29656,[email protected]:60756,[email protected]:33656,[email protected]:60756,[email protected]:26656,[email protected]:60756,[email protected]:56656,[email protected]:26656,[email protected]:38816,[email protected]:26656,[email protected]:36656,[email protected]:26656,[email protected]:36656,[email protected]:41656,[email protected]:32656,[email protected]:41656,[email protected]:41656,[email protected]:26656,[email protected]:26556,[email protected]:13656,[email protected]:22656,[email protected]:46656,[email protected]:30656,[email protected]:26858,[email protected]:41656,[email protected]:26256,[email protected]:26656,[email protected]:40656,[email protected]:30656,[email protected]:26156,[email protected]:656,[email protected]:56656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26676,[email protected]:656,[email protected]:28656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:6656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.gitopia/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.gitopia/config/config.toml
gitopiad tendermint unsafe-reset-all --home /root/.gitopia
systemctl restart gitopiad && journalctl -u gitopiad -f -o cat