├── burnt
├── README.md
└── burnt.sh
├── mande
├── mande.sh
└── README.md
├── .gitignore
├── neutron
├── README.md
├── baryon
│ ├── README.md
│ ├── provider.sh
│ └── baryon.sh
└── quark
│ └── quark.sh
├── chainflip
├── README.md
├── chainflip-20.sh
└── chainflip-22.sh
├── nibiru
├── README.md
├── nibiru-itn
│ └── README.md
└── nibiru.sh
├── celestia
└── README.md
├── elys
├── README.md
└── elys.sh
├── okp4
├── README.md
├── studycase
│ └── README.md
└── okp4.sh
├── lava
└── README.md
├── defund
└── README.md
├── terp
├── README.md
└── timpi.sh
├── saonetwork
├── README.md
└── sao.sh
├── blockx
├── README.md
└── blockx.sh
├── cascadia
└── README.md
├── sigma
├── README.md
└── sge.sh
├── althea
└── README.md
├── ojonetwork
├── README.md
└── ojo.sh
├── composable
└── README.md
├── noria
├── README.md
└── noria.sh
├── timpi
├── README.md
└── timpi.sh
├── bonusblock
├── README.md
└── bonusblock.sh
├── router
└── README.md
├── zetachain
├── README.md
└── zetachain.sh
├── dymension
└── README.md
├── realio
└── README.md
├── andromeda
└── README.md
└── README.md
/burnt/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/burnt/burnt.sh:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/mande/mande.sh:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | babylon/
2 | deinfra/
3 | empower/
4 | haqq/
5 | humans/
6 | nois/
7 | nulink/
8 | sei/
9 | source/
10 | stateset/
11 | sui/
--------------------------------------------------------------------------------
/neutron/README.md:
--------------------------------------------------------------------------------
1 |
Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
--------------------------------------------------------------------------------
/mande/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
--------------------------------------------------------------------------------
/chainflip/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Chainflip Perseverance Testnet
14 |
15 | ### Official Documentation:
16 | >- [Chainflip Validator Setup](https://docs.chainflip.io/perseverance-validator-documentation/validator-setup/)
17 |
18 | ### Explorer:
19 | >- https://blocks-perseverance.chainflip.io/
20 |
21 | ### Automatic Installer // Ubuntu 22.04
22 | You can setup your Chainflip node in few minutes on Ubuntu 22.04 by using automated script below.
23 | ```
24 | wget -O chainflip-22.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/chainflip/chainflip-22.sh && chmod +x chainflip-22.sh && ./chainflip-22.sh
25 | ```
26 |
27 | ### Automatic Installer // Ubuntu 20.04
28 | You can setup your Chainflip node in few minutes on Ubuntu 20.04 by using automated script below.
29 | ```
30 | wget -O chainflip-20.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/chainflip/chainflip-20.sh && chmod +x chainflip-20.sh && ./chainflip-20.sh
31 | ```
--------------------------------------------------------------------------------
/nibiru/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Nibiru Testnet | Chain ID : nibiru-testnet-2 | Custom Port : 203
14 |
15 | ### Community Documentation:
16 | >- https://nibiru.fi/
17 | >- https://github.com/NibiruChain
18 |
19 | ### Explorer:
20 | >- https://explorer.nodexcapital.com/nibiru
21 |
22 | ### Automatic Installer
23 | You can setup your Nibiru fullnode in few minutes by using automated script below.
24 | ```
25 | wget -O nibiru.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/nibiru/nibiru.sh && chmod +x nibiru.sh && ./nibiru.sh
26 | ```
27 | ### Public Endpoint
28 |
29 | >- API : https://api.nibiru.nodexcapital.com
30 | >- RPC : https://rpc.nibiru.nodexcapital.com
31 | >- gRPC : https://grpc.nibiru.nodexcapital.com
32 | >- gRPC Web : https://grpc-web.nibiru.nodexcapital.com
33 |
34 | ### Snapshot
35 | ```
36 | COMING SOON
37 | ```
38 |
39 | ### State Sync
40 | ```
41 | COMING SOON
42 | ```
43 |
44 | ### Live Peers
45 | ```
46 | PEERS="$(curl -sS https://rpc.nibiru-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
47 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.nibid/config/config.toml
48 | ```
49 | ### Addrbook
50 | ```
51 | COMING SOON
52 | ```
53 | ### Genesis
54 | ```
55 | COMING SOON
56 | ```
--------------------------------------------------------------------------------
/celestia/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | # Celestia Testnet | Chain ID : blockspacerace-0 | Custom Port : 223
15 |
16 | ### Official Documentation:
17 | >- https://docs.celestia.org/nodes/overview
18 |
19 | ### Explorer:
20 | >- https://explorer.nodexcapital.com/celestia
21 |
22 | ### Automatic Installer
23 | You can setup your Celestia fullnode in few minutes by using automated script below.
24 | ```
25 | wget -O blockspacerace.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/celestia/blockspacerace.sh && chmod +x blockspacerace.sh && ./blockspacerace.sh
26 | ```
27 | ### Public Endpoint
28 |
29 | >- API : https://rest.celestia-t.nodexcapital.com
30 | >- RPC : https://rpc.celestia-t.nodexcapital.com
31 | >- gRPC : https://grpc.celestia-t.nodexcapital.com
32 |
33 | ### Snapshot
34 | ```
35 | COMING SOON
36 | ```
37 |
38 | ### State Sync
39 | ```
40 | COMING SOON
41 | ```
42 |
43 | ### Live Peers
44 | ```
45 | PEERS="$(curl -sS https://rpc-celestia-itn.sxlzptprjkt.xyz/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
46 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.celestia-app/config/config.toml
47 | ```
48 | ### Addrbook (Update every hour)
49 | ```
50 | COMING SOON
51 | ```
52 | ### Genesis
53 | ```
54 | COMING SOON
55 | ```
--------------------------------------------------------------------------------
/elys/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | ### Community Documentation:
16 | >- [Polkachu Manual Installation](https://polkachu.com/testnets/elys)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/elys
20 |
21 | ### Automatic Installer
22 | You can setup your Elys fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O elys.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/elys/elys.sh && chmod +x elys.sh && ./elys.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.elys-t.nodexcapital.com
29 | >- RPC : https://rpc.elys-t.nodexcapital.com
30 | >- gRPC : https://grpc.elys-t.nodexcapital.com
31 |
32 | ### Snapshot (Update every 5 hours)
33 | ```
34 | sudo systemctl stop elysd
35 | cp $HOME/.elys/data/priv_validator_state.json $HOME/.elys/priv_validator_state.json.backup
36 | rm -rf $HOME/.elys/data
37 |
38 | curl -L https://snap.nodexcapital.com/elys/elys-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.elys
39 | mv $HOME/.elys/priv_validator_state.json.backup $HOME/.elys/data/priv_validator_state.json
40 |
41 | sudo systemctl start elysd && sudo journalctl -u elysd -f --no-hostname -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | 😢
47 | ```
48 |
49 | ### Live Peers
50 | ```
51 | PEERS="$(curl -sS https://rpc.elys-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
52 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.elys/config/config.toml
53 | ```
54 | ### Addrbook
55 | ```
56 | curl -Ls https://snap.nodexcapital.com/elys/addrbook.json > $HOME/.elys/config/addrbook.json
57 | ```
58 | ### Genesis
59 | ```
60 | curl -Ls https://snap.nodexcapital.com/elys/genesis.json > $HOME/.elys/config/genesis.json
61 | ```
--------------------------------------------------------------------------------
/okp4/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Okp4 Testnet | Chain ID: okp4-nemeton-1 | Custom Port 204
14 |
15 | ### Community Documentation:
16 | >- [Obajay - STAVR](https://github.com/obajay/nodes-Guides/tree/main/OKP4)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/okp4
20 |
21 |
22 | ### Automatic Installer
23 | You can setup your okp4 fullnode in few minutes by using automated script below.
24 | ```
25 | wget -O okp4.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/okp4/okp4.sh && chmod +x okp4.sh && ./okp4.sh
26 | ```
27 | ### Public Endpoint
28 |
29 | >- API : https://rest.okp4-t.nodexcapital.com
30 | >- RPC : https://rpc.okp4-t.nodexcapital.com
31 | >- gRPC : https://grpc.okp4-t.nodexcapital.com
32 |
33 | ### Snapshot
34 | ```
35 | sudo systemctl stop okp4d
36 | cp $HOME/.okp4d/data/priv_validator_state.json $HOME/.okp4d/priv_validator_state.json.backup
37 | rm -rf $HOME/.okp4d/data
38 |
39 | curl -L https://snap.nodexcapital.com/okp4/okp4-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.okp4d
40 | mv $HOME/.okp4d/priv_validator_state.json.backup $HOME/.okp4d/data/priv_validator_state.json
41 |
42 | sudo systemctl start okp4d && sudo journalctl -u okp4d -f --no-hostname -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | Coming Soon
48 | ```
49 |
50 | ### Live Peers
51 | ```
52 | PEERS="$(curl -sS https://rpc-t.okp4.nodestake.top/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
53 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.okp4d/config/config.toml
54 | ```
55 | ### Addrbook
56 | ```
57 | curl -Ls https://snap.nodexcapital.com/okp4/addrbook.json > $HOME/.okp4d/config/addrbook.json
58 | ```
59 | ### Genesis
60 | ```
61 | curl -Ls https://snap.nodexcapital.com/okp4/genesis.json > $HOME/.okp4d/config/genesis.json
62 | ```
--------------------------------------------------------------------------------
/lava/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | ## Lava Testnet | Chain ID : lava-testnet-1 | Custom Port : 211
14 |
15 | ### Community Documentation:
16 | >- [Kjnode Manual Installation](https://services.kjnodes.com/home/testnet/lava/installation)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/lava
20 |
21 | ### Automatic Installer (Must Using Ubuntu 22.04)
22 | You can setup your Lava fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O lava.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/lava/lava.sh && chmod +x lava.sh && ./lava.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.lava-t.nodexcapital.com
29 | >- RPC : https://rpc.lava-t.nodexcapital.com
30 | >- gRPC : https://grpc.lava-t.nodexcapital.com
31 |
32 | ### Snapshot (Update every 5 hours)
33 | ```
34 | sudo systemctl stop lavad
35 | cp $HOME/.lava/data/priv_validator_state.json $HOME/.lava/priv_validator_state.json.backup
36 | rm -rf $HOME/.lava/data
37 |
38 | curl -L https://snap.nodexcapital.com/lava/lava-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.lava
39 | mv $HOME/.lava/priv_validator_state.json.backup $HOME/.lava/data/priv_validator_state.json
40 |
41 | sudo systemctl start lavad && sudo journalctl -u lavad -f --no-hostname -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | Currently lava does not support State sync 😢
47 | ```
48 |
49 | ### Live Peers
50 | ```
51 | PEERS="$(curl -sS https://rpc.lava-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
52 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.lava/config/config.toml
53 | ```
54 | ### Addrbook (Update every hour)
55 | ```
56 | curl -Ls https://snap.nodexcapital.com/nolus/addrbook.json > $HOME/.lava/config/addrbook.json
57 | ```
58 | ### Genesis
59 | ```
60 | curl -Ls https://snap.nodexcapital.com/nolus/genesis.json > $HOME/.lava/config/genesis.json
61 | ```
--------------------------------------------------------------------------------
/defund/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Defund Testnet | Chain ID : defund-private-4 | Custom Port : 228
14 |
15 | ### Official Documentation:
16 | >- [Validator setup instructions](https://github.com/defund-labs/defund/blob/main/testnet/private/validators.md)
17 |
18 |
19 | ### Explorer
20 | >- https://explorer.nodexcapital.com/defund
21 |
22 | ### Automatic Installer
23 | You can setup your Defund fullnode in few minutes by using automated script below.
24 | ```
25 | wget -O defund.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/defund/defund.sh && chmod +x defund.sh && ./defund.sh
26 | ```
27 | ### Public Endpoint
28 |
29 | >- API : https://rest.defund-t.nodexcapital.com
30 | >- RPC : https://rpc.defund-t.nodexcapital.com
31 | >- gRPC : https://grpc.defund-t.nodexcapital.com
32 |
33 | ### Snapshot (Update every 5 hours)
34 | ```
35 | sudo systemctl stop defundd
36 | cp $HOME/.defund/data/priv_validator_state.json $HOME/.defund/priv_validator_state.json.backup
37 | rm -rf $HOME/.defund/data
38 |
39 | curl -L https://snapshots.kjnodes.com/defund-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.defund
40 |
41 | mv $HOME/.defund/priv_validator_state.json.backup $HOME/.defund/data/priv_validator_state.json
42 |
43 | sudo systemctl start defundd && sudo journalctl -fu defundd -o cat
44 | ```
45 |
46 | ### State Sync
47 | ```
48 | Currently defund does not support State sync 😢
49 | ```
50 |
51 | ### Live Peers
52 | ```
53 | PEERS="$(curl -sS https://rpc.defund-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
54 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.defund/config/config.toml
55 | ```
56 | ### Addrbook (Update every hour)
57 | ```
58 | curl -Ls https://snapshots.kjnodes.com/defund-testnet/addrbook.json > $HOME/.defund/config/addrbook.json
59 | ```
60 | ### Genesis
61 | ```
62 | curl -Ls https://snapshots.kjnodes.com/defund-testnet/genesis.json > $HOME/.defund/config/genesis.json
63 | ```
--------------------------------------------------------------------------------
/terp/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Terp Network Testnet | Chain ID : athena-4 | Custom Port : 210
14 |
15 | ### Community Documentation:
16 | >- [Validator Setup Instructions](https://nodejumper.io/terpnetwork-testnet/installation)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/terp
20 |
21 | ### Automatic Installer
22 | You can setup your Terp fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O terp.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/terp/terp.sh && chmod +x terp.sh && ./terp.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.terp-t.nodexcapital.com
29 | >- RPC : https://rpc.terp-t.nodexcapital.com
30 | >- gRPC : https://grpc.terp-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop terpd
35 | cp $HOME/.terp/data/priv_validator_state.json $HOME/.terp/data/priv_validator_state.json.backup
36 | rm -rf $HOME/.terp/data
37 |
38 | curl -L https://snap.nodexcapital.com/terp/terp-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.terp
39 |
40 | mv $HOME/.terp/data/priv_validator_state.json.backup $HOME/.terp/data/priv_validator_state.json
41 |
42 | sudo systemctl start terpd && sudo journalctl -fu terpd -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | systemctl stop terpd
48 | terpd tendermint unsafe-reset-all --home $HOME/.terp --keep-addr-book
49 |
50 | SNAP_RPC="https://rpc.terp.nodexcapital.com:443"
51 | LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
52 | BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
53 | TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
54 |
55 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
56 | s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
57 | s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
58 | s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.terp/config/config.toml
59 |
60 | sudo systemctl start terpd && sudo journalctl -fu terpd -o cat
61 | ```
62 |
63 | ### Live Peers
64 | ```
65 | PEERS="$(curl -sS https://rpc.terp-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
66 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERSgit pu\"|" $HOME/.terp/config/config.toml
67 | ```
68 | ### Addrbook
69 | ```
70 | curl -Ls https://snap.nodexcapital.com/terp/addrbook.json > $HOME/.terp/config/addrbook.json
71 | ```
72 | ### Genesis
73 | ```
74 | curl -Ls https://snap.nodexcapital.com/terp/genesis.json > $HOME/.terp/config/genesis.json
75 | ```
--------------------------------------------------------------------------------
/saonetwork/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Sao Network Testnet | Chain ID : sao-testnet0 | Port : 215
14 |
15 | ### Official Documentation:
16 | >- [Validator setup instructions](https://docs.sao.network/participate-in-sao-network/run-sao-validator)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/sao
20 |
21 | ### Automatic Installer
22 | You can setup your Sao Network fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O sao.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/saonetwork/sao.sh && chmod +x sao.sh && ./sao.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://api.sao-t.nodexcapital.com
29 | >- RPC : https://rpc.sao-t.nodexcapital.com
30 | >- gRPC : https://grpc.sao-t.nodexcapital.com
31 |
32 | ### Snapshot (Update every 5 hours)
33 | ```
34 | sudo systemctl stop saod
35 | cp $HOME/.sao/data/priv_validator_state.json $HOME/.sao/data/priv_validator_state.json.backup
36 | rm -rf $HOME/.sao/data
37 |
38 | curl -L https://snap.nodexcapital.com/sao/sao-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.sao
39 |
40 | mv $HOME/.sao/data/priv_validator_state.json.backup $HOME/.sao/data/priv_validator_state.json
41 |
42 | sudo systemctl start saod && sudo journalctl -fu saod -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | saod tendermint unsafe-reset-all --home $HOME/.sao --keep-addr-book
48 |
49 | SNAP_RPC="https://rpc.sao-t.nodexcapital.com:443"
50 |
51 | LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
52 | BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
53 | TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
54 |
55 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
56 | s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
57 | s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
58 | s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.sao/config/config.toml
59 |
60 | sudo systemctl start saod && sudo journalctl -fu saod -o cat
61 | ```
62 |
63 | ### Live Peers
64 | ```
65 | PEERS="$(curl -sS https://rpc.sao-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
66 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.nibid/config/config.toml
67 | ```
68 | ### Addrbook (Update every hour)
69 | ```
70 | curl -Ls https://snap.nodexcapital.com/sao/addrbook.json > $HOME/.sao/config/addrbook.json
71 | ```
72 | ### Genesis
73 | ```
74 | curl -Ls https://snap.nodexcapital.com/sao/genesis.json > $HOME/.sao/config/genesis.json
75 | ```
--------------------------------------------------------------------------------
/blockx/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # BlockX Testnet | Chain ID : blockx_12345-2 | Custom Port : 212
14 |
15 | ### Community Documentation:
16 | >- [Validator setup instructions](https://github.com/nodexcapital/testnet/tree/main/blockx)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/blockx
20 |
21 | ### Automatic Installer
22 | You can setup your BlockX fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O blockx.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/blockx/blockx.sh && chmod +x blockx.sh && ./blockx.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.blockx-t.nodexcapital.com
29 | >- RPC : https://rpc.blockx-t.nodexcapital.com
30 | >- gRPC : https://grpc.blockx-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop blockxd
35 | cp $HOME/.blockxd/data/priv_validator_state.json $HOME/.blockxd/priv_validator_state.json.backup
36 | rm -rf $HOME/.blockxd/data
37 |
38 | curl -L https://snap.nodexcapital.com/blockx/blockx-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.blockxd/
39 | mv $HOME/.blockxd/priv_validator_state.json.backup $HOME/.blockxd/data/priv_validator_state.json
40 |
41 | sudo systemctl start blockxd && sudo journalctl -fu blockxd -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | blockxd tendermint unsafe-reset-all --home $HOME/.blockxd --keep-addr-book
47 |
48 | SNAP_RPC="https://rpc.blockx-t.nodexcapital.com:443"
49 |
50 | LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
51 | BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
52 | TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
53 |
54 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
55 | s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
56 | s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
57 | s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.blockxd/config/config.toml
58 |
59 | sudo systemctl start blockxd && sudo journalctl -fu blockxd -o cat
60 | ```
61 | ### Disable State Sync
62 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
63 | ```
64 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.blockxd/config/config.toml
65 | sudo systemctl restart blockxd && journalctl -u blockxd -f -o cat
66 | ```
67 |
68 | ### Live Peers
69 | ```
70 | PEERS="$(curl -sS https://rpc.blockx-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
71 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.blockxd/config/config.toml
72 | ```
73 | ### Addrbook
74 | ```
75 | curl -Ls https://snap.nodexcapital.com/blockx/addrbook.json > $HOME/.blockxd/config/addrbook.json
76 | ```
77 | ### Genesis
78 | ```
79 | curl -Ls https://snap.nodexcapital.com/blockx/genesis.json > $HOME/.blockxd/config/genesis.json
80 | ```
--------------------------------------------------------------------------------
/cascadia/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Cascadia Testnet | Chain ID : cascadia_6102-1 | Custom Port : 220
14 |
15 | ### Community Documentation:
16 | >- [Validator setup instructions](https://services.kjnodes.com/home/testnet/cascadia)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/cascadia
20 |
21 | ### Automatic Installer
22 | You can setup your cascadia fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O cascadia.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/cascadia/cascadia.sh && chmod +x cascadia.sh && ./cascadia.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.cascadia-t.nodexcapital.com
29 | >- RPC : https://rpc.cascadia-t.nodexcapital.com
30 | >- gRPC : https://grpc.cascadia-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop cascadiad
35 | cp $HOME/.cascadiad/data/priv_validator_state.json $HOME/.cascadiad/priv_validator_state.json.backup
36 | rm -rf $HOME/.cascadiad/data
37 |
38 | curl -L https://snap.nodexcapital.com/cascadia/cascadia-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.cascadiad/
39 | mv $HOME/.cascadiad/priv_validator_state.json.backup $HOME/.cascadiad/data/priv_validator_state.json
40 |
41 | sudo systemctl start cascadiad && sudo journalctl -fu cascadiad -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | cascadiad tendermint unsafe-reset-all --home $HOME/.cascadiad --keep-addr-book
47 |
48 | SNAP_RPC="https://rpc.cascadia-t.nodexcapital.com:443"
49 |
50 | LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
51 | BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
52 | TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
53 |
54 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
55 | s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
56 | s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
57 | s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.cascadiad/config/config.toml
58 |
59 | sudo systemctl start cascadiad && sudo journalctl -fu cascadiad -o cat
60 | ```
61 | ### Disable State Sync
62 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
63 | ```
64 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.cascadiad/config/config.toml
65 | sudo systemctl restart cascadiad && journalctl -u cascadiad -f -o cat
66 | ```
67 |
68 | ### Live Peers
69 | ```
70 | PEERS="$(curl -sS https://rpc.cascadia-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
71 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.cascadiad/config/config.toml
72 | ```
73 | ### Addrbook
74 | ```
75 | curl -Ls https://snap.nodexcapital.com/cascadia/addrbook.json > $HOME/.cascadiad/config/addrbook.json
76 | ```
77 | ### Genesis
78 | ```
79 | curl -Ls https://snap.nodexcapital.com/cascadia/genesis.json > $HOME/.cascadiad/config/genesis.json
80 | ```
--------------------------------------------------------------------------------
/sigma/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # SGE Network Testnet | Chain ID : sge-testnet-1 | Custom Port : 209
14 |
15 | ### Community Documentation:
16 | >- https://nodeist.net/t/Sge/
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/sigma
20 |
21 | ### Automatic Installer (Mush Using Ubuntu 22)
22 | You can setup your SGE Network fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O sge.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/sigma/sge.sh && chmod +x sge.sh && ./sge.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.sge-t.nodexcapital.com
29 | >- RPC : https://rpc.sge-t.nodexcapital.com
30 | >- gRPC : https://grpc.sge-t.nodexcapital.com
31 |
32 | ### Snapshot (Update every 5 hours)
33 | ```
34 | sudo systemctl stop sged
35 | cp $HOME/.sge/data/priv_validator_state.json $HOME/.sge/priv_validator_state.json.backup
36 | rm -rf $HOME/.sge/data
37 |
38 | curl -L https://snap.nodexcapital.com/sge/sge-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.sge/
39 | mv $HOME/.sge/priv_validator_state.json.backup $HOME/.sge/data/priv_validator_state.json
40 |
41 | sudo systemctl start sged && sudo journalctl -fu sged -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | sudo systemctl stop sged
47 | cp $HOME/.sge/data/priv_validator_state.json $HOME/.sge/priv_validator_state.json.backup
48 | sged tendermint unsafe-reset-all --home $HOME/.sge
49 |
50 | STATE_SYNC_RPC=https://rpc-sge.nodeist.net:443
51 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
52 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
53 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
54 |
55 | sed -i \
56 | -e "s|^enable *=.*|enable = true|" \
57 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
58 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
59 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
60 | $HOME/.sge/config/config.toml
61 |
62 | mv $HOME/.sge/priv_validator_state.json.backup $HOME/.sge/data/priv_validator_state.json
63 |
64 | sudo systemctl start sged && sudo journalctl -u sged -f --no-hostname -o cat
65 | ```
66 |
67 | ### Disable Sync with State Sync
68 | After successful synchronization, we advise you to disable synchronization with state sync and restart the node
69 | ```
70 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.sge/config/config.toml
71 | sudo systemctl restart sged && journalctl -u sged -f -o cat
72 | ```
73 |
74 | ### Live Peers
75 | ```
76 | PEERS="$(curl -sS https://rpc.sge-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
77 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.sge/config/config.toml
78 | ```
79 | ### Addrbook (Update every hour)
80 | ```
81 | curl -Ls https://snap.nodexcapital.com/sge/addrbook.json > $HOME/.sge/config/addrbook.json
82 | ```
83 | ### Genesis
84 | ```
85 | curl -Ls https://snap.nodexcapital.com/sge/genesis.json > $HOME/.sge/config/genesis.json
86 | ```
--------------------------------------------------------------------------------
/althea/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Althea Testnet | Chain ID : althea_7357-1 | Custom Port : 218
14 |
15 | ### Community Documentation:
16 | >- [Pantek Installation](https://github.com/pantex6969/testing/blob/main/althea.sh)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/althea
20 |
21 | ### Automatic Installer
22 | You can setup your Althea fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O althea.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/althea/althea.sh && chmod +x althea.sh && ./althea.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.althea-t.nodexcapital.com
29 | >- RPC : https://rpc.althea-t.nodexcapital.com
30 | >- gRPC : https://grpc.althea-t.nodexcapital.com
31 | >- JsonRPC : https://jsonrpc.althea-t.nodexcapital.com
32 |
33 | ### Snapshot
34 | ```
35 | sudo systemctl stop althea
36 | cp $HOME/.althea/data/priv_validator_state.json $HOME/.althea/priv_validator_state.json.backup
37 | rm -rf $HOME/.althea/data
38 |
39 | curl -L https://snap.nodexcapital.com/althea/althea-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.althea/
40 | mv $HOME/.althea/priv_validator_state.json.backup $HOME/.althea/data/priv_validator_state.json
41 |
42 | sudo systemctl start althea && sudo journalctl -fu althea -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | sudo systemctl stop althea
48 | cp $HOME/.althea/data/priv_validator_state.json $HOME/.althea/priv_validator_state.json.backup
49 | althea tendermint unsafe-reset-all --home $HOME/.althea
50 |
51 | STATE_SYNC_RPC=https://rpc.althea-t.nodexcapital.com:443
52 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
53 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
54 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
55 |
56 | sed -i \
57 | -e "s|^enable *=.*|enable = true|" \
58 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
59 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
60 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
61 | $HOME/.althea/config/config.toml
62 |
63 | mv $HOME/.althea/priv_validator_state.json.backup $HOME/.althea/data/priv_validator_state.json
64 |
65 | sudo systemctl start althea && sudo journalctl -u althea -f --no-hostname -o cat
66 | ```
67 |
68 | ### Disable Sync with State Sync
69 | After successful synchronization, we advise you to disable synchronization with state sync and restart the node
70 | ```
71 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.althea/config/config.toml
72 | sudo systemctl restart althea && journalctl -u althea -f -o cat
73 | ```
74 |
75 | ### Live Peers
76 | ```
77 | PEERS="$(curl -sS https://rpc.althea-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
78 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.althea/config/config.toml
79 | ```
80 | ### Addrbook
81 | ```
82 | curl -Ls https://snap.nodexcapital.com/althea/addrbook.json > $HOME/.althea/config/addrbook.json
83 | ```
84 | ### Genesis
85 | ```
86 | curl -Ls https://snap.nodexcapital.com/althea/genesis.json > $HOME/.althea/config/genesis.json
87 | ```
--------------------------------------------------------------------------------
/ojonetwork/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Ojo Testnet | Chain ID : ojo-devnet | Custom Port : 216
14 |
15 | ### Community Documentation :
16 | >- [Validator Setup Instructions](https://polkachu.com/testnets/ojo)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/ojo
20 |
21 | ### Automatic Installer
22 | You can setup your Ojo Network fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O ojo.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/ojonetwork/ojo.sh && chmod +x ojo.sh && ./ojo.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.ojo-t.nodexcapital.com
29 | >- RPC : https://rpc.ojo-t.nodexcapital.com
30 | >- gRPC : https://grpc.ojo-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop ojod
35 | cp $HOME/.ojo/data/priv_validator_state.json $HOME/.ojo/priv_validator_state.json.backup
36 | rm -rf $HOME/.ojo/data
37 |
38 | curl -L https://snap.nodexcapital.com/ojo/ojo-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.ojo
39 |
40 | mv $HOME/.ojo/priv_validator_state.json.backup $HOME/.ojo/data/priv_validator_state.json
41 |
42 | sudo systemctl start ojod && sudo journalctl -fu ojod -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | sudo systemctl stop ojod
48 | cp $HOME/.ojo/data/priv_validator_state.json $HOME/.ojo/priv_validator_state.json.backup
49 | ojod tendermint unsafe-reset-all --home $HOME/.ojo
50 |
51 | STATE_SYNC_RPC=https://rpc.ojo-t.nodexcapital.com:443
52 | STATE_SYNC_PEER=d5b2ae8815b09a30ab253957f7eca052dde3101d@rpc.ojo-t.nodexcapital.com:24656
53 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
54 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
55 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
56 |
57 | sed -i \
58 | -e "s|^enable *=.*|enable = true|" \
59 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
60 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
61 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
62 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
63 | $HOME/.ojo/config/config.toml
64 |
65 | mv $HOME/.ojo/priv_validator_state.json.backup $HOME/.ojo/data/priv_validator_state.json
66 |
67 | sudo systemctl start ojod && sudo journalctl -u ojod -f --no-hostname -o cat
68 | ```
69 |
70 | ### Disable State Sync
71 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
72 | ```
73 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.ojo/config/config.toml
74 | sudo systemctl restart ojod && journalctl -u ojod -f -o cat
75 | ```
76 |
77 | ### Live Peers
78 | ```
79 | PEERS="$(curl -sS https://rpc.ojo-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
80 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.ojo/config/config.toml
81 | ```
82 | ### Addrbook (Update every hour)
83 | ```
84 | curl -Ls https://snap.nodexcapital.com/ojo/addrbook.json > $HOME/.ojo/config/addrbook.json
85 | ```
86 | ### Genesis
87 | ```
88 | curl -Ls https://snap.nodexcapital.com/ojo/genesis.json > $HOME/.ojo/config/genesis.json
89 | ```
--------------------------------------------------------------------------------
/composable/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | ### Community Documentation:
16 | >- [Kjnodes Manual Installation](https://services.kjnodes.com/home/testnet/composable/installation)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/composable
20 |
21 | ### Automatic Installer
22 | You can setup your composable fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O composable.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/composable/composable.sh && chmod +x composable.sh && ./composable.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.composable-t.nodexcapital.com
29 | >- RPC : https://rpc.composable-t.nodexcapital.com
30 | >- gRPC : https://grpc.composable-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop banksyd
35 | cp $HOME/.banksy/data/priv_validator_state.json $HOME/.banksy/priv_validator_state.json.backup
36 | rm -rf $HOME/.banksy/data
37 |
38 | curl -L https://snap.nodexcapital.com/composable/composable-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.banksy
39 | mv $HOME/.banksy/priv_validator_state.json.backup $HOME/.banksy/data/priv_validator_state.json
40 |
41 | sudo systemctl start banksyd && sudo journalctl -u banksyd -f --no-hostname -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | sudo systemctl stop banksyd
47 | cp $HOME/.banksy/data/priv_validator_state.json $HOME/.banksy/priv_validator_state.json.backup
48 | banksyd tendermint unsafe-reset-all --home $HOME/.banksy
49 |
50 | STATE_SYNC_RPC=https://composable-testnet.rpc.kjnodes.com:443
51 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@composable-testnet.rpc.kjnodes.com:15956
52 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
53 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 1000))
54 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
55 |
56 | sed -i \
57 | -e "s|^enable *=.*|enable = true|" \
58 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
59 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
60 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
61 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
62 | $HOME/.banksy/config/config.toml
63 |
64 | mv $HOME/.banksy/priv_validator_state.json.backup $HOME/.banksy/data/priv_validator_state.json
65 |
66 | curl -L https://snapshots.kjnodes.com/composable-testnet/wasm_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.banksy
67 |
68 | sudo systemctl start banksyd && sudo journalctl -u banksyd -f --no-hostname -o cat
69 | ```
70 |
71 | ### Disable State Sync
72 | ```
73 | Coming Soon
74 | ```
75 |
76 | ### Live Peers
77 | ```
78 | PEERS="$(curl -sS https://rpc.composable-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
79 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.banksy/config/config.toml
80 | ```
81 | ### Addrbook
82 | ```
83 | curl -Ls https://snap.nodexcapital.com/composable/addrbook.json > $HOME/.banksy/config/addrbook.json
84 | ```
85 | ### Genesis
86 | ```
87 | curl -Ls https://snap.nodexcapital.com/composable/genesis.json > $HOME/.banksy/config/genesis.json
88 | ```
--------------------------------------------------------------------------------
/noria/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Noria Testnet | Chain ID : oasis-3 | Custom Port : 224
14 |
15 | ### Community Documentation :
16 | >- [Kjnodes Setup Instructions](https://services.kjnodes.com/home/testnet/noria)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/noria
20 |
21 | ### Automatic Installer
22 | You can setup your Noria Network fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O noria.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/noria/noria.sh && chmod +x noria.sh && ./noria.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.noria-t.nodexcapital.com
29 | >- RPC : https://rpc.noria-t.nodexcapital.com
30 | >- gRPC : https://grpc.noria-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop noriad
35 | cp $HOME/.noria/data/priv_validator_state.json $HOME/.noria/priv_validator_state.json.backup
36 | rm -rf $HOME/.noria/data
37 |
38 | curl -L https://snap.nodexcapital.com/noria/noria-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.noria
39 |
40 | mv $HOME/.noria/priv_validator_state.json.backup $HOME/.noria/data/priv_validator_state.json
41 |
42 | sudo systemctl start noriad && sudo journalctl -fu noriad -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | sudo systemctl stop noriad
48 | cp $HOME/.noria/data/priv_validator_state.json $HOME/.noria/priv_validator_state.json.backup
49 | noriad tendermint unsafe-reset-all --home $HOME/.noria
50 |
51 | STATE_SYNC_RPC=https://noria-testnet.rpc.kjnodes.com
52 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@noria-testnet.rpc.kjnodes.com:16156
53 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
54 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
55 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
56 |
57 | sed -i \
58 | -e "s|^enable *=.*|enable = true|" \
59 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
60 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
61 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
62 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
63 | $HOME/.noria/config/config.toml
64 |
65 | mv $HOME/.noria/priv_validator_state.json.backup $HOME/.noria/data/priv_validator_state.json
66 |
67 | sudo systemctl start noriad && sudo journalctl -u noriad -f --no-hostname -o cat
68 | ```
69 |
70 | ### Disable State Sync
71 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
72 | ```
73 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.noria/config/config.toml
74 | sudo systemctl restart noriad && journalctl -u noriad -f -o cat
75 | ```
76 |
77 | ### Live Peers
78 | ```
79 | PEERS="$(curl -sS https://noria-testnet.rpc.kjnodes.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
80 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.noria/config/config.toml
81 | ```
82 | ### Addrbook (Update every hour)
83 | ```
84 | curl -Ls https://snap.nodexcapital.com/noria/addrbook.json > $HOME/.noria/config/addrbook.json
85 | ```
86 | ### Genesis
87 | ```
88 | curl -Ls https://snap.nodexcapital.com/noria/genesis.json > $HOME/.noria/config/genesis.json
89 | ```
--------------------------------------------------------------------------------
/neutron/baryon/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | # Neutron Testnet | Chain ID : baryon-1 | Custom Port : 213
15 |
16 | ### Official Documentation:
17 | >- [Validator setup instructions](https://docs.neutron.org)
18 |
19 | ### Explorer:
20 | >- https://explorer.nodexcapital.com/neutron
21 |
22 | ### Automatic Installer for baryon-1
23 | You can setup your Baryon fullnode in few minutes by using automated script below.
24 | ```
25 | wget -O baryon.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/neutron/baryon/baryon.sh && chmod +x baryon.sh && ./baryon.sh
26 | ```
27 |
28 | ### Automatic Installer for provider
29 | You can setup your Provider fullnode in few minutes by using automated script below.
30 | ```
31 | wget -O provider.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/neutron/baryon/provider.sh && chmod +x provider.sh && ./provider.sh
32 | ```
33 | ### Public Endpoint
34 |
35 | >- API : https://rest.neutron-t.nodexcapital.com
36 | >- RPC : https://rpc.neutron-t.nodexcapital.com
37 | >- gRPC : https://grpc.neutron-t.nodexcapital.com
38 |
39 | ### Snapshot
40 | ```
41 | sudo systemctl stop neutrond
42 | cp $HOME/.neutrond/data/priv_validator_state.json $HOME/.neutrond/priv_validator_state.json.backup
43 | rm -rf $HOME/.neutrond/data
44 |
45 | curl -L https://snap.nodexcapital.com/neutron/neutron-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.neutrond
46 | mv $HOME/.neutrond/priv_validator_state.json.backup $HOME/.neutrond/data/priv_validator_state.json
47 |
48 | sudo systemctl start neutrond && sudo journalctl -u neutrond -f --no-hostname -o cat
49 | ```
50 |
51 | ### State Sync
52 | ```
53 | sudo systemctl stop neutrond
54 | cp $HOME/.neutrond/data/priv_validator_state.json $HOME/.neutrond/priv_validator_state.json.backup
55 | neutrond tendermint unsafe-reset-all --home $HOME/.neutrond
56 |
57 | STATE_SYNC_RPC=https://rpc.neutrond-t.nodexcapital.com:443
58 | STATE_SYNC_PEER=e2c07e8e6e808fb36cca0fc580e31216772841df@p2p.baryon.ntrn.info:26656
59 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
60 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
61 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
62 |
63 | sed -i \
64 | -e "s|^enable *=.*|enable = true|" \
65 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
66 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
67 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
68 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
69 | $HOME/.neutrond/config/config.toml
70 |
71 | mv $HOME/.neutrond/priv_validator_state.json.backup $HOME/.neutrond/data/priv_validator_state.json
72 |
73 | sudo systemctl start neutrond && sudo journalctl -u neutrond -f --no-hostname -o cat
74 | ```
75 |
76 | ### Live Peers
77 | ```
78 | PEERS="$(curl -sS https://rpc.neutron-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
79 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.neutrond/config/config.toml
80 | ```
81 | ### Addrbook (Update every hour)
82 | ```
83 | curl -Ls https://snap.nodexcapital.com/neutron/addrbook.json > $HOME/.neutrond/config/addrbook.json
84 | ```
85 | ### Genesis
86 | ```
87 | curl -Ls https://snap.nodexcapital.com/neutron/genesis.json > $HOME/.neutrond/config/genesis.json
88 | ```
--------------------------------------------------------------------------------
/timpi/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Timpi Testnet | Chain ID : TimpiChainTN2 | Custom Port : 225
14 |
15 | ### Community Documentation :
16 | >- [Nodestake Setup Instructions](https://nodestake.top/timpi)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/timpi
20 |
21 | ### Automatic Installer
22 | You can setup your Timpi Chain fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O timpi.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/timpi/timpi.sh && chmod +x timpi.sh && ./timpi.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.timpi-t.nodexcapital.com
29 | >- RPC : https://rpc.timpi-t.nodexcapital.com
30 | >- gRPC : https://grpc.timpi-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop timpid
35 | cp $HOME/.TimpiChain/data/priv_validator_state.json $HOME/.TimpiChain/priv_validator_state.json.backup
36 | rm -rf $HOME/.TimpiChain/data
37 |
38 | curl -L https://snap.nodexcapital.com/timpi/timpi-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.TimpiChain
39 |
40 | mv $HOME/.TimpiChain/priv_validator_state.json.backup $HOME/.TimpiChain/data/priv_validator_state.json
41 |
42 | sudo systemctl start timpid && sudo journalctl -fu timpid -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | sudo systemctl stop timpid
48 | cp $HOME/.TimpiChain/data/priv_validator_state.json $HOME/.TimpiChain/priv_validator_state.json.backup
49 | timpid tendermint unsafe-reset-all --home $HOME/.TimpiChain
50 |
51 | STATE_SYNC_RPC=https://rpc.timpi-t.nodexcapital.com:443
52 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@rpc.timpi-t.nodexcapital.com:22556
53 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
54 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
55 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
56 |
57 | sed -i \
58 | -e "s|^enable *=.*|enable = true|" \
59 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
60 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
61 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
62 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
63 | $HOME/.TimpiChain/config/config.toml
64 |
65 | mv $HOME/.TimpiChain/priv_validator_state.json.backup $HOME/.TimpiChain/data/priv_validator_state.json
66 |
67 | sudo systemctl start timpid && sudo journalctl -u timpid -f --no-hostname -o cat
68 | ```
69 |
70 | ### Disable State Sync
71 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
72 | ```
73 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.TimpiChain/config/config.toml
74 | sudo systemctl restart timpid && journalctl -u timpid -f -o cat
75 | ```
76 |
77 | ### Live Peers
78 | ```
79 | PEERS="$(curl -sS https://rpc.timpi-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
80 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.TimpiChain/config/config.toml
81 | ```
82 | ### Addrbook
83 | ```
84 | curl -Ls https://snap.nodexcapital.com/timpi/addrbook.json > $HOME/.TimpiChain/config/addrbook.json
85 | ```
86 | ### Genesis
87 | ```
88 | curl -Ls https://snap.nodexcapital.com/timpi/genesis.json > $HOME/.TimpiChain/config/genesis.json
89 | ```
--------------------------------------------------------------------------------
/bonusblock/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Bonus Block Testnet | Chain ID : blocktopia-01 | Custom Port : 217
14 |
15 | ### Community Documentation:
16 | >- [Validator setup instructions](https://docs.bonusblock.xyz/validators/full-node/run-a-node)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/bonusblock
20 |
21 | ### Automatic (Must Using Ubuntu 22.04)
22 | You can setup your Bonus Block fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O bonusblock.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/bonusblock/bonusblock.sh && chmod +x bonusblock.sh && ./bonusblock.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.bonusblock-t.nodexcapital.com
29 | >- RPC : https://rpc.bonusblock-t.nodexcapital.com
30 | >- gRPC : https://grpc.bonusblock-t.nodexcapital.com
31 |
32 | ### Snapshot (Update every 5 hours)
33 | ```
34 | sudo systemctl stop bonus-blockd
35 | cp $HOME/.bonusblock/data/priv_validator_state.json $HOME/.bonusblock/priv_validator_state.json.backup
36 | rm -rf $HOME/.bonusblock/data
37 |
38 | curl -L https://snap.nodexcapital.com/bonusblock/bonusblock-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.bonusblock
39 | mv $HOME/.bonusblock/priv_validator_state.json.backup $HOME/.bonusblock/data/priv_validator_state.json
40 |
41 | sudo systemctl start bonus-blockd && sudo journalctl -u bonus-blockd -f --no-hostname -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | sudo systemctl stop bonus-blockd
47 | cp $HOME/.bonusblock/data/priv_validator_state.json $HOME/.bonusblock/priv_validator_state.json.backup
48 | bonus-blockd tendermint unsafe-reset-all --home $HOME/.bonusblock
49 |
50 | STATE_SYNC_RPC=https://rpc.bonusblock-t.nodexcapital.com:443
51 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
52 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
53 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
54 |
55 | sed -i \
56 | -e "s|^enable *=.*|enable = true|" \
57 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
58 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
59 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
60 | $HOME/.bonusblock/config/config.toml
61 |
62 | mv $HOME/.bonusblock/priv_validator_state.json.backup $HOME/.bonusblock/data/priv_validator_state.json
63 | sudo systemctl start bonus-blockd && sudo journalctl -u bonus-blockd -f --no-hostname -o cat
64 | ```
65 | ### Disable State Sync
66 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
67 | ```
68 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.bonusblock/config/config.toml
69 | sudo systemctl restart bonus-blockd && journalctl -u bonus-blockd -f -o cat
70 | ```
71 | PEERS="$(curl -sS https://rpc.bonusblock-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
72 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.bonusblock/config/config.toml
73 | ```
74 | ### Addrbook (Update every hour)
75 | ```
76 | curl -Ls https://snap.nodexcapital.com/bonusblock/addrbook.json > $HOME/.bonusblock/config/addrbook.json
77 | ```
78 | ### Genesis
79 | ```
80 | curl -Ls https://snap.nodexcapital.com/bonusblock/genesis.json > $HOME/.bonusblock/config/genesis.json
81 | ```
--------------------------------------------------------------------------------
/router/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Router Testnet | Chain ID: router_9601-1 | Custom Port 222
14 |
15 | ### Official Links
16 | - [Website](https://www.routerprotocol.com/)
17 | - [Discord](https://discord.gg/7hBuaVkNMv)
18 | - [Twitter](https://twitter.com/routerprotocol)
19 | - [Telegram](https://t.me/routerprotocol)
20 | - [Github](https://github.com/router-protocol)
21 | ### Community Documentation:
22 | - [NodeX Emperor Service](https://github.com/nodexcapital/testnet/tree/main/router)
23 |
24 | ### Explorer:
25 | - https://explorer.nodexcapital.com/router
26 |
27 | ### Automatic Installer
28 | You can setup your router fullnode in few minutes by using automated script below.
29 | ```
30 | wget -O router.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/router/router.sh && chmod +x router.sh && ./router.sh
31 | ```
32 | ### Public Endpoint
33 |
34 | - API : https://rest.router-t.nodexcapital.com
35 | - RPC : https://rpc.router-t.nodexcapital.com
36 |
37 | ### Snapshot
38 | ```
39 | sudo systemctl stop routerd
40 | cp $HOME/.routerd/data/priv_validator_state.json $HOME/.routerd/priv_validator_state.json.backup
41 | rm -rf $HOME/.routerd/data
42 |
43 | curl -L https://snap.nodexcapital.com/router/router-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.routerd
44 | mv $HOME/.routerd/priv_validator_state.json.backup $HOME/.routerd/data/priv_validator_state.json
45 |
46 | sudo systemctl start routerd && sudo journalctl -u routerd -f --no-hostname -o cat
47 | ```
48 | ### State Sync
49 | ```
50 | sudo systemctl stop routerd
51 | cp $HOME/.routerd/data/priv_validator_state.json $HOME/.routerd/priv_validator_state.json.backup
52 | routerd tendermint unsafe-reset-all --home $HOME/.routerd
53 |
54 | STATE_SYNC_RPC=https://rpc.router-t.nodexcapital.com:443
55 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
56 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
57 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
58 |
59 | sed -i \
60 | -e "s|^enable *=.*|enable = true|" \
61 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
62 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
63 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
64 | $HOME/.routerd/config/config.toml
65 |
66 | mv $HOME/.routerd/priv_validator_state.json.backup $HOME/.routerd/data/priv_validator_state.json
67 | sudo systemctl start routerd && sudo journalctl -u routerd -f --no-hostname -o cat
68 | ```
69 |
70 |
71 | ### Disable State Sync
72 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
73 | ```
74 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.routerd/config/config.toml
75 | sudo systemctl restart routerd && journalctl -u routerd -f -o cat
76 | ```
77 |
78 | ### Live Peers
79 | ```
80 | PEERS="$(curl -sS https://rpc.router-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
81 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.routerd/config/config.toml
82 | ```
83 | ### Addrbook
84 | ```
85 | curl -Ls https://snap.nodexcapital.com/router/addrbook.json > $HOME/.routerd/config/addrbook.json
86 | ```
87 | ### Genesis
88 | ```
89 | curl -Ls https://snap.nodexcapital.com/router/genesis.json > $HOME/.routerd/config/genesis.json
90 | ```
--------------------------------------------------------------------------------
/nibiru/nibiru-itn/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Nibiru Incentivized Testnet | Chain ID : nibiru-itn-1 | Custom Port : 203
14 |
15 | ### Official Documentation:
16 | >- [Validator setup instructions](https://services.kjnodes.com/home/testnet/nibiru)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/nibiru
20 |
21 | ### Automatic (Must Using Ubuntu 22.04)
22 | You can setup your Nibiru Incentivized Testnet fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O itn.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/nibiru/nibiru-itn/itn.sh && chmod +x itn.sh && ./itn.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.nibiru-t.nodexcapital.com
29 | >- RPC : https://rpc.nibiru-t.nodexcapital.com
30 | >- gRPC : https://grpc.nibiru-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop nibid
35 | cp $HOME/.nibid/data/priv_validator_state.json $HOME/.nibid/priv_validator_state.json.backup
36 | rm -rf $HOME/.nibid/data
37 |
38 | curl -L https://nibiru-t.service.indonode.net/nibiru-snapshot.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.nibid
39 | mv $HOME/.nibid/priv_validator_state.json.backup $HOME/.nibid/data/priv_validator_state.json
40 |
41 | sudo systemctl start nibid && sudo journalctl -u nibid -f --no-hostname -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | sudo systemctl stop nibid
47 | cp $HOME/.nibid/data/priv_validator_state.json $HOME/.nibid/priv_validator_state.json.backup
48 | nibid tendermint unsafe-reset-all --home $HOME/.nibid
49 |
50 | STATE_SYNC_RPC=https://rpc.nibiru-t.nodexcapital.com:443
51 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@dymension-testnet.rpc.kjnodes.com:46656
52 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
53 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
54 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
55 |
56 | sed -i \
57 | -e "s|^enable *=.*|enable = true|" \
58 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
59 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
60 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
61 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
62 | $HOME/.nibid/config/config.toml
63 |
64 | mv $HOME/.nibid/priv_validator_state.json.backup $HOME/.nibid/data/priv_validator_state.json
65 | sudo systemctl start nibid && sudo journalctl -u nibid -f --no-hostname -o cat
66 | ```
67 | ### Disable State Sync
68 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
69 | ```
70 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.nibid/config/config.toml
71 | sudo systemctl restart nibid && journalctl -u nibid -f -o cat
72 | ```
73 | ### Live Peers
74 | ```
75 | PEERS="$(curl -sS https://rpc.nibiru-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
76 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.nibid/config/config.toml
77 | ```
78 | ### Addrbook
79 | ```
80 | curl -Ls https://snap.nodexcapital.com/nibiru/addrbook.json > $HOME//.nibid/config/addrbook.json
81 | ```
82 | ### Genesis
83 | ```
84 | curl -Lshttps://snap.nodexcapital.com/nibiru/genesis.json > $HOME/.nibid/config/genesis.json
85 | ```
--------------------------------------------------------------------------------
/zetachain/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Zetachain Testnet | Chain ID : athens_7001-1 | Custom Port : 226
14 |
15 | ### Community Documentation :
16 | >- [Kjnodes Setup Instructions](https://services.kjnodes.com/testnet/zetachain/)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/zetachain
20 |
21 | ### Automatic Installer
22 | You can setup your Zetachain fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O zetachain.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/zetachain/zetachain.sh && chmod +x zetachain.sh && ./zetachain.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.zetachain-t.nodexcapital.com
29 | >- RPC : https://rpc.zetachaind-t.nodexcapital.com
30 | >- gRPC : https://grpc.zetachain-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop zetacored
35 | cp $HOME/.zetacored/data/priv_validator_state.json $HOME/.zetacored/priv_validator_state.json.backup
36 | rm -rf $HOME/.zetacored/data
37 |
38 | curl -L https://snap.nodexcapital.com/zetachain/zetachain-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.zetacored
39 |
40 | mv $HOME/.zetacored/priv_validator_state.json.backup $HOME/.zetacored/data/priv_validator_state.json
41 |
42 | sudo systemctl start zetacored && sudo journalctl -fu zetacored -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | sudo systemctl stop zetacored
48 | cp $HOME/.zetacored/data/priv_validator_state.json $HOME/.zetacored/priv_validator_state.json.backup
49 | zetacored tendermint unsafe-reset-all --home $HOME/.zetacored
50 |
51 | STATE_SYNC_RPC=https://zetachain-testnet.rpc.kjnodes.com:443
52 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@zetachain-testnet.rpc.kjnodes.com:16056
53 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
54 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
55 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
56 |
57 | sed -i \
58 | -e "s|^enable *=.*|enable = true|" \
59 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
60 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
61 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
62 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
63 | $HOME/.zetacored/config/config.toml
64 |
65 | mv $HOME/.zetacored/priv_validator_state.json.backup $HOME/.zetacored/data/priv_validator_state.json
66 |
67 | sudo systemctl start zetacored && sudo journalctl -u zetacored -f --no-hostname -o cat
68 | ```
69 |
70 | ### Disable State Sync
71 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
72 | ```
73 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.zetacored/config/config.toml
74 | sudo systemctl restart zetacored && journalctl -u zetacored -f -o cat
75 | ```
76 |
77 | ### Live Peers
78 | ```
79 | PEERS="$(curl -sS https://rpc.zetachain-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
80 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.zetacored/config/config.toml
81 | ```
82 | ### Addrbook (Update every hour)
83 | ```
84 | curl -Ls https://snap.nodexcapital.com/zetachain/addrbook.json > $HOME/.zetacored/config/addrbook.json
85 | ```
86 | ### Genesis
87 | ```
88 | curl -Ls https://snap.nodexcapital.com/zetachain/genesis.json > $HOME/.zetacored/config/genesis.json
89 | ```
--------------------------------------------------------------------------------
/dymension/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Dymension Testnet | Chain ID : 35-C | Custom Port : 214
14 |
15 | ### Official Documentation:
16 | >- [Validator setup instructions](https://docs.dymension.xyz/validators/full-node/run-a-node)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/dymension
20 |
21 | ### Automatic (Must Using Ubuntu 22.04)
22 | You can setup your Dymension fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O dymension.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/dymension/dymension.sh && chmod +x dymension.sh && ./dymension.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.dymension-t.nodexcapital.com
29 | >- RPC : https://rpc.dymension-t.nodexcapital.com
30 | >- gRPC : https://grpc.dymension-t.nodexcapital.com
31 |
32 | ### Snapshot (Update every 5 hours)
33 | ```
34 | sudo systemctl stop dymd
35 | cp $HOME/.dymension/data/priv_validator_state.json $HOME/.dymension/priv_validator_state.json.backup
36 | rm -rf $HOME/.dymension/data
37 |
38 | curl -L https://snapshots.kjnodes.com/dymension-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.dymension
39 | mv $HOME/.dymension/priv_validator_state.json.backup $HOME/.dymension/data/priv_validator_state.json
40 |
41 | sudo systemctl start dymd && sudo journalctl -u dymd -f --no-hostname -o cat
42 | ```
43 |
44 | ### State Sync
45 | ```
46 | sudo systemctl stop dymd
47 | cp $HOME/.dymension/data/priv_validator_state.json $HOME/.dymension/priv_validator_state.json.backup
48 | dymd tendermint unsafe-reset-all --home $HOME/.dymension
49 |
50 | STATE_SYNC_RPC=https://rpc.dymension-t.nodexcapital.com:443
51 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@dymension-testnet.rpc.kjnodes.com:46656
52 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
53 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
54 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
55 |
56 | sed -i \
57 | -e "s|^enable *=.*|enable = true|" \
58 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
59 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
60 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
61 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
62 | $HOME/.dymension/config/config.toml
63 |
64 | mv $HOME/.dymension/priv_validator_state.json.backup $HOME/.dymension/data/priv_validator_state.json
65 | sudo systemctl start dymd && sudo journalctl -u dymd -f --no-hostname -o cat
66 | ```
67 | ### Disable State Sync
68 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
69 | ```
70 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.dymension/config/config.toml
71 | sudo systemctl restart dymd && journalctl -u dymd -f -o cat
72 |
73 | ### Live Peers
74 | ```
75 | PEERS="$(curl -sS https://rpc.dymension-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
76 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.dymension/config/config.toml
77 | ```
78 | ### Addrbook (Update every hour)
79 | ```
80 | curl -Ls https://snapshots.kjnodes.com/dymension-testnet/addrbook.json > $HOME//.dymension/config/addrbook.json
81 | ```
82 | ### Genesis
83 | ```
84 | curl -Ls https://snapshots.kjnodes.com/dymension-testnet/genesis.json > $HOME/.dymension/config/genesis.json
85 | ```
--------------------------------------------------------------------------------
/realio/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Realio Network Testnet | Chain ID : realionetwork_3300-1 | Custom Port : 208
14 |
15 | ### Community Documentation:
16 | >- https://nodeist.net/t/Realio/
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/realio
20 |
21 | ### Automatic Installer
22 | You can setup your Realio Network fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O realio.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/realio/realio.sh && chmod +x realio.sh && ./realio.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://rest.realio-t.nodexcapital.com
29 | >- RPC : https://rpc.realio-t.nodexcapital.com
30 | >- gRPC : https://grpc.realio-t.nodexcapital.com
31 | >- Json RPC : https://jsonrpc.realio-t.nodexcapital.com
32 |
33 | ### Snapshot
34 | ```
35 | sudo systemctl stop realio-networkd
36 | cp $HOME/.realio-network/data/priv_validator_state.json $HOME/.realio-network/priv_validator_state.json.backup
37 | rm -rf $HOME/.realio-network/data
38 |
39 | curl -L https://snap.nodexcapital.com/realio/realio-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.realio-network
40 |
41 | mv $HOME/.realio-network/priv_validator_state.json.backup $HOME/.realio-network/data/priv_validator_state.json
42 |
43 | sudo systemctl start realio-networkd && sudo journalctl -fu realio-networkd -o cat
44 | ```
45 |
46 | ### State Sync
47 | ```
48 | sudo systemctl stop realio-networkd
49 | cp $HOME/.realio-network/data/priv_validator_state.json $HOME/.realio-network/priv_validator_state.json.backup
50 | realio-networkd tendermint unsafe-reset-all --home $HOME/.realio-network
51 |
52 | STATE_SYNC_RPC=https://rpc.realio-t.nodexcapital.com:443
53 | STATE_SYNC_PEER=b0db1d25f10e94c13ba5080268e3f8c58eea6b69@rpc.realio-t.nodexcapital.com:23156
54 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
55 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
56 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
57 |
58 | sed -i \
59 | -e "s|^enable *=.*|enable = true|" \
60 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
61 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
62 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
63 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
64 | $HOME/.realio-network/config/config.toml
65 |
66 | mv $HOME/.realio-network/priv_validator_state.json.backup $HOME/.realio-network/data/priv_validator_state.json
67 |
68 | sudo systemctl start realio-networkd && sudo journalctl -u realio-networkd -f --no-hostname -o cat
69 | ```
70 |
71 | ### Disable State Sync
72 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
73 | ```
74 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.realio-network/config/config.toml
75 | sudo systemctl restart realio-networkd && journalctl -u realio-networkd -f -o cat
76 | ```
77 |
78 | ### Live Peers
79 | ```
80 | PEERS="$(curl -sS https://rpc.realio-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
81 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.realio-network/config/config.toml
82 | ```
83 | ### Addrbook (Update every hour)
84 | ```
85 | curl -Ls https://snap.nodexcapital.com/realio/addrbook.json > $HOME/.realio-network/config/addrbook.json
86 | ```
87 | ### Genesis
88 | ```
89 | curl -Ls https://snap.nodexcapital.com/realio/genesis.json > $HOME/.realio-network/config/genesis.json
90 | ```
--------------------------------------------------------------------------------
/andromeda/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | # Andromeda Testnet | Chain ID : galileo-3 | Custom Port : 201
14 |
15 | ### Community Documentation :
16 | >- [Validator Setup Instructions](https://services.kjnodes.com/home/testnet/andromeda)
17 |
18 | ### Explorer:
19 | >- https://explorer.nodexcapital.com/andromeda
20 |
21 | ### Automatic Installer (Must Using Ubuntu 22.04)
22 | You can setup your Andromeda fullnode in few minutes by using automated script below.
23 | ```
24 | wget -O andromeda.sh https://raw.githubusercontent.com/nodexcapital/testnet/main/andromeda/andromeda.sh && chmod +x andromeda.sh && ./andromeda.sh
25 | ```
26 | ### Public Endpoint
27 |
28 | >- API : https://api.andromeda-t.nodexcapital.com
29 | >- RPC : https://rpc.andromeda-t.nodexcapital.com
30 | >- gRPC : https://grpc.andromeda-t.nodexcapital.com
31 |
32 | ### Snapshot
33 | ```
34 | sudo systemctl stop andromedad
35 | cp $HOME/.andromedad/data/priv_validator_state.json $HOME/.andromedad/priv_validator_state.json.backup
36 | rm -rf $HOME/.andromedad/data
37 |
38 | curl -L https://snapshots.kjnodes.com/andromeda-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.andromedad
39 |
40 | mv $HOME/.andromedad/priv_validator_state.json.backup $HOME/.andromedad/data/priv_validator_state.json
41 |
42 | sudo systemctl start andromedad && sudo journalctl -fu andromedad -o cat
43 | ```
44 |
45 | ### State Sync
46 | ```
47 | sudo systemctl stop andromedad
48 | cp $HOME/.andromedad/data/priv_validator_state.json $HOME/.andromedad/priv_validator_state.json.backup
49 | andromedad tendermint unsafe-reset-all --home $HOME/.andromedad
50 |
51 | STATE_SYNC_RPC=https://rpc.andromeda-t.nodexcapital.com:443
52 | STATE_SYNC_PEER=d5519e378247dfb61dfe90652d1fe3e2b3005a5b@andromeda-testnet.rpc.kjnodes.com:47656
53 | LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
54 | SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000))
55 | SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
56 |
57 | sed -i \
58 | -e "s|^enable *=.*|enable = true|" \
59 | -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
60 | -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
61 | -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
62 | -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" \
63 | $HOME/.andromedad/config/config.toml
64 |
65 | mv $HOME/.andromedad/priv_validator_state.json.backup $HOME/.andromedad/data/priv_validator_state.json
66 |
67 | curl -L https://snap.nodexcapital.com/andromeda/wasm.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.andromedad
68 |
69 | sudo systemctl start andromedad && sudo journalctl -u andromedad -f --no-hostname -o cat
70 | ```
71 |
72 | ### Disable State Sync
73 | After successful synchronization using state sync above, we advise you to disable synchronization with state sync and restart the node
74 | ```
75 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.andromedad/config/config.toml
76 | sudo systemctl restart andromedad && journalctl -u andromedad -f -o cat
77 | ```
78 |
79 | ### Live Peers
80 | ```
81 | PEERS="$(curl -sS https://rpc.andromeda-t.nodexcapital.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
82 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.andromedad/config/config.toml
83 | ```
84 | ### Addrbook
85 | ```
86 | curl -Ls https://snap.nodexcapital.com/andromeda/addrbook.json > $HOME/.andromedad/config/addrbook.json
87 | ```
88 | ### Genesis
89 | ```
90 | curl -Ls https://snap.nodexcapital.com/andromeda/genesis.json > $HOME/.andromedad/config/genesis.json
91 | ```
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### List of Cosmos ecosystem projets with custom ports configured below ✨ Special thanks to [kjnodes](https://kjnodes.com) and other frens ❤
2 |
3 |
4 |
5 | | Project Name | Port Testnet | Automatic Installer|Manual Installation|
6 | |--------------|--------------|--------------------|-------------------|
7 | | Andromeda | 201 | [Click Here](./andromeda/README.md) |[Click Here](https://nodexcapital.com/testnet/andromeda) |
8 | | Celestia | 202 | [Click Here](./celestia/README.md) |[Click Here](https://nodexcapital.com/testnet/celestia) |
9 | | Nibiru | 203 | [Click Here](./nibiru/README.md) |[Click Here](https://nodexcapital.com/testnet/nibiru) |
10 | | Okp4 | 204 | [Click Here](./okp4/README.md) |[Click Here](https://nodexcapital.com/testnet/okp4) |
11 | | Gitopia | N/A | [Click Here](./gitopia/README.md) |[Click Here](https://nodexcapital.com/testnet/gitopia) |
12 | | Defund | 206 | [Click Here](./defund/README.md) |[Click Here](https://nodexcapital.com/testnet/defund) |
13 | | Nolus | N/A | [Click Here](./nolus/README.md) |[Click Here](https://nodexcapital.com/testnet/nolus) |
14 | | Realio | 208 | [Click Here](./realio/README.md) |[Click Here](https://nodexcapital.com/testnet/realio) |
15 | | Sigma | 209 | [Click Here](./sigma/README.md) |[Click Here](https://nodexcapital.com/testnet/sge) |
16 | | Terp | 210 | [Click Here](./terp/README.md) |[Click Here](https://nodexcapital.com/testnet/terp) |
17 | | Lava | 211 | [Click Here](./lava/README.md) |[Click Here](https://nodexcapital.com/testnet/lava) |
18 | | Blockx | 212 | [Click Here](./blockx/README.md) |[Click Here](https://nodexcapital.com/testnet/blockx) |
19 | | Neutron | 213 | [Click Here](./neutron/README.md) |[Click Here](https://nodexcapital.com/testnet/neutron) |
20 | | Dymension | 214 | [Click Here](./dymension/README.md) |[Click Here](https://nodexcapital.com/testnet/dymension) |
21 | | Sao | 215 | [Click Here](./saonetwork/README.md)|[Click Here](https://nodexcapital.com/testnet/sao) |
22 | | Ojo | 216 | [Click Here](./ojonetwork/README.md)|[Click Here](https://nodexcapital.com/testnet/ojo) |
23 | | BonusBlock | 217 | [Click Here](./bonusblock/README.md)|[Click Here](https://nodexcapital.com/testnet/bonus) |
24 | | Althea | 218 | [Click Here](./althea/README.md) |[Click Here](https://nodexcapital.com/testnet/althea) |
25 | | Elys | 219 | [Click Here](./elys/README.md) |[Click Here](https://nodexcapital.com/testnet/elys) |
26 | | Cascadia | 220 | [Click Here](./cascadia/README.md) |[Click Here](https://nodexcapital.com/testnet/cascadia) |
27 | | Composable | 221 | [Click Here](./composable/README.md)|[Click Here](https://nodexcapital.com/testnet/composable)|
28 | | Router | 222 | [Click Here](./router/README.md) |[Click Here](https://nodexcapital.com/testnet/router) |
29 | | Router | 223 | [Click Here](./router/README.md) |[Click Here](https://nodexcapital.com/testnet/router) |
30 | | Noria | 224 | [Click Here](./noria/README.md) |[Click Here](https://nodexcapital.com/testnet/noria) |
31 | | Timpi | 225 | [Click Here](./timpi/README.md) |[Click Here](https://nodexcapital.com/testnet/timpi) |
32 | | Zetachain | 226 | [Click Here](./zetachain/README.md) |[Click Here](https://nodexcapital.com/testnet/zetachain) |
33 | | Babylon | 227 | [Click Here](./babylon/README.md) |[Click Here](https://nodexcapital.com/testnet/babylon) |
34 | | Burnt | 228 | [Click Here](./burnt/README.md) |[Click Here](https://nodexcapital.com/testnet/burnt) |
35 |
36 |
37 | ### Archieved Project
38 | | Project Name |Port Testnet|Automatic Installer|Manual Installation|
39 | |------------------|------------|-------------------|-------------------|
40 | | Nois | N/A | [Click Here](./nois/README.md) | N/A |
41 | | Humans | N/A | [Click Here](./humans/README.md) | N/A |
42 | | Source | N/A | [Click Here](./source/README.md) | N/A |
43 | | Babylon| N/A | [Click Here](./babylon/README.md) | N/A |
44 | | Haqq | N/A | [Click Here](./haqq/README.md) | N/A |
45 | | Gitopia| N/A | [Click Here](./gitopia/README.md) | N/A |
46 | | Nolus | N/A | [Click Here](./nolus/README.md) | N/A |
47 |
48 |
49 | Regards ~ [Whyme | NodeX Capital](https://discord.com/users/928575843641479198)
--------------------------------------------------------------------------------
/chainflip/chainflip-20.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Chainflip Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Automatic Installer for Chainflip Ubuntu 20.04 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Update package
19 | sudo apt update && sudo apt upgrade -y
20 |
21 | # Install curl
22 | sudo apt install curl
23 |
24 | #Download binary
25 | sudo mkdir -p /etc/apt/keyrings
26 | curl -fsSL repo.chainflip.io/keys/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/chainflip.gpg
27 |
28 | # Verify keys
29 | sudo gpg --show-keys /etc/apt/keyrings/chainflip.gpg
30 |
31 | # Add chainflip repo's
32 | sudo tee /etc/apt/sources.list.d/chainflip.list > /dev/null << EOF
33 | deb [arch=amd64 signed-by=/etc/apt/keyrings/chainflip.gpg] https://repo.chainflip.io/perseverance/ focal main
34 | EOF
35 |
36 | # Installing chainflip package
37 | sudo apt update
38 | sudo apt install -y chainflip-cli chainflip-node chainflip-engine
39 |
40 | # Make directory for keys
41 | sudo mkdir -p /etc/chainflip/keys
42 |
43 | # Input ethereum private key
44 | if [ ! $PRIVATE_KEY ]; then
45 | echo ""
46 | echo "[!] EXAMPLE 9e7107efb0043b430e2cbffcf9xxxxxxxxxxxxxxxxx"
47 | echo "[!] PRIVATE KEY ON METAMASK"
48 | echo ""
49 | read -p "[ENTER YOUR PRIVATE KEY] > " PRIVATE_KEY
50 | echo 'export PRIVATE_KEY='$PRIVATE_KEY >> $HOME/.bash_profile
51 | fi
52 | echo -n "$PRIVATE_KEY" >> /etc/chainflip/keys/ethereum_key_file
53 | echo ""
54 | echo "YOUR PRIVATE KEY : $PRIVATE_KEY"
55 | echo ""
56 |
57 | # Create Signing Keys
58 | chainflip-node key generate >> sign_key.txt
59 | echo "[!] YOUR SIGN KEY (BACKUP YOUR SIGN KEY)"
60 | echo ""
61 | cat sign_key.txt
62 | echo ""
63 | if [ ! $SECRET_SEED ]; then
64 | echo "[!] EXAMPLE 0x3f41c7492053246e899d55991xxxxxxxxxxxxxxxxx"
65 | echo "[!] SECRET SEED AS SHOWN YOUR SIGN KEY"
66 | echo ""
67 | read -p "[ENTER YOUR SECRET SEED] > " SECRET_SEED
68 | echo 'export SECRET_SEED='$SECRET_SEED >> $HOME/.bash_profile
69 | fi
70 | echo -n "${SECRET_SEED:2}" | sudo tee /etc/chainflip/keys/signing_key_file
71 | echo ""
72 | echo "YOUR SECRET SEED : $SECRET_SEED"
73 | echo ""
74 |
75 | # Create Node Key
76 | chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file
77 | echo "[!] YOUR NODE KEY (BACKUP YOUR NODE KEY)"
78 | echo ""
79 | cat /etc/chainflip/keys/node_key_file
80 | echo ""
81 |
82 | # Clean up cache
83 | sudo chmod 600 /etc/chainflip/keys/ethereum_key_file
84 | sudo chmod 600 /etc/chainflip/keys/signing_key_file
85 | sudo chmod 600 /etc/chainflip/keys/node_key_file
86 | history -c
87 |
88 | # Create configuration chainflip
89 | sudo mkdir -p /etc/chainflip/config
90 | if [ ! $WSS ]; then
91 | read -p "[ENTER YOUR WSS ENDPOINTS] > " WSS
92 | fi
93 | if [ ! $HTTPS ]; then
94 | read -p "[ENTER YOUR HTTPS ENDPOINTS] > " HTTPS
95 | fi
96 |
97 | sudo tee /etc/chainflip/config/Settings.toml > /dev/null << EOF
98 | [node_p2p]
99 | node_key_file = "/etc/chainflip/keys/node_key_file"
100 | ip_address = "$(curl -s ifconfig.me)"
101 | port = "8078"
102 |
103 | [state_chain]
104 | ws_endpoint = "ws://127.0.0.1:9944"
105 | signing_key_file = "/etc/chainflip/keys/signing_key_file"
106 |
107 | [eth]
108 | # Ethereum RPC endpoints (websocket and http for redundancy).
109 | ws_node_endpoint = "$WSS"
110 | http_node_endpoint = "$HTTPS"
111 |
112 | # Ethereum private key file path. This file should contain a hex-encoded private key.
113 | private_key_file = "/etc/chainflip/keys/ethereum_key_file"
114 |
115 | [signing]
116 | db_file = "/etc/chainflip/data.db"
117 |
118 | [dot]
119 | ws_node_endpoint = "wss://pdot.chainflip.io:443"
120 | EOF
121 |
122 | # Create service
123 | sudo tee /etc/systemd/system/chainflip-node.service > /dev/null <>> Automatic Installer for Chainflip Ubuntu 22.04 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Update package
19 | sudo apt update && sudo apt upgrade -y
20 |
21 | # Install curl
22 | sudo apt install curl
23 |
24 | #Download Libssl
25 | sudo add-apt-repository ppa:nrbrtx/libssl1
26 | sudo apt update
27 |
28 | #Download binary
29 | sudo mkdir -p /etc/apt/keyrings
30 | curl -fsSL repo.chainflip.io/keys/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/chainflip.gpg
31 |
32 | # Verify keys
33 | sudo gpg --show-keys /etc/apt/keyrings/chainflip.gpg
34 |
35 | # Add chainflip repo's
36 | sudo tee /etc/apt/sources.list.d/chainflip.list > /dev/null << EOF
37 | deb [arch=amd64 signed-by=/etc/apt/keyrings/chainflip.gpg] https://repo.chainflip.io/perseverance/ focal main
38 | EOF
39 |
40 | # Installing chainflip package
41 | sudo apt update
42 | sudo apt install -y chainflip-cli chainflip-node chainflip-engine
43 |
44 | # Make directory for keys
45 | sudo mkdir -p /etc/chainflip/keys
46 |
47 | # Input ethereum private key
48 | if [ ! $PRIVATE_KEY ]; then
49 | echo ""
50 | echo "[!] EXAMPLE 9e7107efb0043b430e2cbffcf9xxxxxxxxxxxxxxxxx"
51 | echo "[!] PRIVATE KEY ON METAMASK"
52 | echo ""
53 | read -p "[ENTER YOUR PRIVATE KEY] > " PRIVATE_KEY
54 | echo 'export PRIVATE_KEY='$PRIVATE_KEY >> $HOME/.bash_profile
55 | fi
56 | echo -n "$PRIVATE_KEY" >> /etc/chainflip/keys/ethereum_key_file
57 | echo ""
58 | echo "YOUR PRIVATE KEY : $PRIVATE_KEY"
59 | echo ""
60 |
61 | # Create Signing Keys
62 | chainflip-node key generate >> sign_key.txt
63 | echo "[!] YOUR SIGN KEY (BACKUP YOUR SIGN KEY)"
64 | echo ""
65 | cat sign_key.txt
66 | echo ""
67 | if [ ! $SECRET_SEED ]; then
68 | echo "[!] EXAMPLE 0x3f41c7492053246e899d55991xxxxxxxxxxxxxxxxx"
69 | echo "[!] SECRET SEED AS SHOWN YOUR SIGN KEY"
70 | echo ""
71 | read -p "[ENTER YOUR SECRET SEED] > " SECRET_SEED
72 | echo 'export SECRET_SEED='$SECRET_SEED >> $HOME/.bash_profile
73 | fi
74 | echo -n "${SECRET_SEED:2}" | sudo tee /etc/chainflip/keys/signing_key_file
75 | echo ""
76 | echo "YOUR SECRET SEED : $SECRET_SEED"
77 | echo ""
78 |
79 | # Create Node Key
80 | chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file
81 | echo "[!] YOUR NODE KEY (BACKUP YOUR NODE KEY)"
82 | echo ""
83 | cat /etc/chainflip/keys/node_key_file
84 | echo ""
85 | # Clean up cache
86 | sudo chmod 600 /etc/chainflip/keys/ethereum_key_file
87 | sudo chmod 600 /etc/chainflip/keys/signing_key_file
88 | sudo chmod 600 /etc/chainflip/keys/node_key_file
89 | history -c
90 |
91 | # Create configuration chainflip
92 | sudo mkdir -p /etc/chainflip/config
93 | if [ ! $WSS ]; then
94 | read -p "[ENTER YOUR WSS ENDPOINTS] > " WSS
95 | fi
96 | if [ ! $HTTPS ]; then
97 | read -p "[ENTER YOUR HTTPS ENDPOINTS] > " HTTPS
98 | fi
99 |
100 | sudo tee /etc/chainflip/config/Settings.toml > /dev/null << EOF
101 | [node_p2p]
102 | node_key_file = "/etc/chainflip/keys/node_key_file"
103 | ip_address = "$(curl -s ifconfig.me)"
104 | port = "8078"
105 |
106 | [state_chain]
107 | ws_endpoint = "ws://127.0.0.1:9944"
108 | signing_key_file = "/etc/chainflip/keys/signing_key_file"
109 |
110 | [eth]
111 | # Ethereum RPC endpoints (websocket and http for redundancy).
112 | ws_node_endpoint = "$WSS"
113 | http_node_endpoint = "$HTTPS"
114 |
115 | # Ethereum private key file path. This file should contain a hex-encoded private key.
116 | private_key_file = "/etc/chainflip/keys/ethereum_key_file"
117 |
118 | [signing]
119 | db_file = "/etc/chainflip/data.db"
120 |
121 | [dot]
122 | ws_node_endpoint = "wss://pdot.chainflip.io:443"
123 | EOF
124 |
125 | # Create service
126 | sudo tee /etc/systemd/system/chainflip-node.service > /dev/null <>> Cosmovisor Automatic Installer for Neutron | Chain ID : quark-1 <<<";
13 | echo -e "\e[0m"
14 |
15 | sleep 1
16 |
17 | # Variable
18 | SOURCE=neutron
19 | WALLET=wallet
20 | BINARY=neutrond
21 | CHAIN=quark-1
22 | FOLDER=.neutrond
23 | VERSION=v0.1.0
24 | DENOM=untrn
25 | COSMOVISOR=cosmovisor
26 | REPO=https://github.com/neutron-org/neutron.git
27 | GENESIS=https://raw.githubusercontent.com/neutron-org/testnets/main/quark/genesis.json
28 | ADDRBOOK=https://raw.githubusercontent.com/obajay/nodes-Guides/main/Neutron/addrbook.json
29 | PORT=47
30 |
31 |
32 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
33 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
34 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
35 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
36 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
37 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
38 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
39 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
40 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
41 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
42 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
43 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
44 | source $HOME/.bash_profile
45 |
46 | # Set Vars
47 | if [ ! $NODENAME ]; then
48 | read -p "hello@nodexcapital:~# [ENTER YOUR NODE] > " NODENAME
49 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
50 | fi
51 | echo ""
52 | echo -e "YOUR NODE NAME : \e[1m\e[31m$NODENAME\e[0m"
53 | echo -e "NODE CHAIN CHAIN : \e[1m\e[31m$CHAIN\e[0m"
54 | echo -e "NODE PORT : \e[1m\e[31m$PORT\e[0m"
55 | echo ""
56 |
57 | # Update
58 | sudo apt update && sudo apt upgrade -y
59 |
60 | # Package
61 | sudo apt -q update
62 | sudo apt -qy install curl git jq lz4 build-essential
63 | sudo apt -qy upgrade
64 |
65 | # Install GO
66 | sudo rm -rf /usr/local/go
67 | curl -Ls https://go.dev/dl/go1.19.5.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
68 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
69 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
70 |
71 | # Get mainnet version of MARS
72 |
73 | cd $HOME
74 | rm -rf $SOURCE
75 | git clone $REPO
76 | cd $SOURCE
77 | git checkout $VERSION
78 | make build
79 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
80 |
81 | # Prepare binaries for Cosmovisor
82 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
83 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
84 | rm -rf build
85 |
86 | # Create application symlinks
87 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
88 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/bin/$BINARY
89 |
90 | # Init generation
91 | $BINARY config chain-id $CHAIN
92 | $BINARY config keyring-backend test
93 | $BINARY config node tcp://localhost:${PORT}657
94 | $BINARY init $NODENAME --chain-id $CHAIN
95 |
96 | # Set peers and seeds
97 | SEEDS="e2c07e8e6e808fb36cca0fc580e31216772841df@p2p.baryon.ntrn.info:26656"
98 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
99 |
100 | # Download genesis and addrbook
101 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
102 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
103 |
104 | # Set Port
105 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${PORT}660\"%" $HOME/$FOLDER/config/config.toml
106 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${PORT}317\"%; s%^address = \":8080\"%address = \":${PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${PORT}091\"%" $HOME/$FOLDER/config/app.toml
107 |
108 | # Set Config Pruning
109 | pruning="custom"
110 | pruning_keep_recent="100"
111 | pruning_keep_every="0"
112 | pruning_interval="10"
113 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
114 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
115 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
116 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
117 |
118 | # Set minimum gas price
119 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
120 |
121 | # Enable snapshots
122 | # sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
123 | # $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
124 | # curl -L https://snap.nodexcapital.com/neutron/neutron-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
125 |
126 | # Create Service
127 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
128 | [Unit]
129 | Description=$BINARY
130 | After=network-online.target
131 |
132 | [Service]
133 | User=$USER
134 | ExecStart=$(which cosmovisor) run start
135 | Restart=on-failure
136 | RestartSec=10
137 | LimitNOFILE=65535
138 | Environment="DAEMON_HOME=$HOME/$FOLDER"
139 | Environment="DAEMON_NAME=$BINARY"
140 | Environment="UNSAFE_SKIP_BACKUP=true"
141 |
142 | [Install]
143 | WantedBy=multi-user.target
144 | EOF
145 |
146 | # Register And Start Service
147 | sudo systemctl start $BINARY
148 | sudo systemctl daemon-reload
149 | sudo systemctl enable $BINARY
150 |
151 | echo -e "\e[1m\e[31mSETUP FINISHED\e[0m"
152 | echo ""
153 | echo -e "CHECK STATUS BINARY : \e[1m\e[31msystemctl status $BINARY\e[0m"
154 | echo -e "CHECK RUNNING LOGS : \e[1m\e[31mjournalctl -fu $BINARY -o cat\e[0m"
155 | echo -e "CHECK LOCAL STATUS : \e[1m\e[31mcurl -s localhost:${PORT}657/status | jq .result.sync_info\e[0m"
156 | echo ""
157 |
158 | # End
--------------------------------------------------------------------------------
/saonetwork/sao.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Sao Network | Chain ID : sao-testnet0 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=sao-consensus
20 | WALLET=wallet
21 | BINARY=saod
22 | CHAIN=sao-testnet1
23 | FOLDER=.sao
24 | VERSION=v.0.1.3
25 | DENOM=sao
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/SaoNetwork/sao-consensus
28 | GENESIS=https://ss-t.sao.nodestake.top/genesis.json
29 | ADDRBOOK=https://ss-t.sao.nodestake.top/addrbook.json
30 | PORT=215
31 |
32 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
33 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
34 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
35 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
36 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
37 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
38 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
39 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
40 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
41 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
42 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
43 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
44 | source $HOME/.bash_profile
45 |
46 | # Set Vars
47 | if [ ! $NODENAME ]; then
48 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
49 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
50 | fi
51 | echo ""
52 | echo -e "YOUR NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
53 | echo -e "NODE CHAIN ID : \e[1m\e[35m$CHAIN\e[0m"
54 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
55 | echo ""
56 |
57 | # Package
58 | sudo apt -q update
59 | sudo apt -qy install curl git jq lz4 build-essential
60 | sudo apt -qy upgrade
61 |
62 | # Install GO
63 | sudo rm -rf /usr/local/go
64 | curl -Ls https://go.dev/dl/go1.19.7.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
65 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
66 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
67 |
68 | # Get testnet version of LAVA
69 | cd $HOME
70 | rm -rf $SOURCE
71 | git clone $REPO
72 | cd $SOURCE
73 | git checkout $VERSION
74 | make build
75 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
76 |
77 | # Prepare binaries for Cosmovisor
78 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
79 | mv build/linux/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
80 | rm -rf build
81 |
82 | # Create application symlinks
83 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
84 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
85 |
86 | # Init generation
87 | $BINARY config chain-id $CHAIN
88 | $BINARY config keyring-backend test
89 | $BINARY config node tcp://localhost:${PORT}57
90 | $BINARY init $NODENAME --chain-id $CHAIN
91 |
92 | # Set peers and seeds
93 | PEERS="$(curl -sS https://rpc-t.sao.nodestake.top/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
94 | SEEDS=""
95 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
96 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
97 |
98 | # Download genesis and addrbook
99 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
100 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
101 |
102 | # Set Port
103 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
104 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
105 |
106 | # Set Config Pruning
107 | pruning="custom"
108 | pruning_keep_recent="100"
109 | pruning_keep_every="0"
110 | pruning_interval="19"
111 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
112 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
113 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
114 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
115 |
116 | # Set minimum gas price
117 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0001$DENOM\"/" $HOME/$FOLDER/config/app.toml
118 |
119 | # Enable snapshots
120 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
121 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
122 |
123 | URL=$(curl -s https://ss-t.sao.nodestake.top/ | egrep -o ">20.*\.tar.lz4" | tr -d ">")
124 | curl -o - -L https://ss-t.sao.nodestake.top/$URL} | lz4 -c -d - | tar -x -C $HOME/$FOLDER
125 |
126 | # Create Service
127 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
128 | [Unit]
129 | Description=$BINARY
130 | After=network-online.target
131 |
132 | [Service]
133 | User=$USER
134 | ExecStart=$(which cosmovisor) run start
135 | Restart=on-failure
136 | RestartSec=10
137 | LimitNOFILE=65535
138 | Environment="DAEMON_HOME=$HOME/$FOLDER"
139 | Environment="DAEMON_NAME=$BINARY"
140 | Environment="UNSAFE_SKIP_BACKUP=true"
141 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.sao/cosmovisor/current/bin"
142 |
143 | [Install]
144 | WantedBy=multi-user.target
145 | EOF
146 |
147 | # Register And Start Service
148 | sudo systemctl daemon-reload
149 | sudo systemctl start $BINARY
150 | sudo systemctl enable $BINARY
151 |
152 | echo -e "\033[0;35m=============================================================\033[0m"
153 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
154 | echo ""
155 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
156 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
157 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
158 | echo -e "\033[0;35m=============================================================\033[0m"
159 |
160 |
161 | # End
--------------------------------------------------------------------------------
/nibiru/nibiru.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Nibiru Chain | Chain ID : nibiru-testnet-2 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=nibiru
20 | WALLET=wallet
21 | BINARY=nibid
22 | CHAIN=nibiru-testnet-2
23 | FOLDER=.nibid
24 | VERSION=v0.19.2
25 | DENOM=unibi
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/NibiruChain/nibiru.git
28 | GENESIS=https://snapshots.kjnodes.com/nibiru-testnet/genesis.json
29 | ADDRBOOK=https://snapshots.kjnodes.com/nibiru-testnet/addrbook.json
30 | PORT=203
31 |
32 |
33 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
34 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
35 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
36 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
37 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
38 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
39 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
40 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
41 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
42 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
43 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
44 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
45 | source $HOME/.bash_profile
46 |
47 | # Set Vars
48 | if [ ! $NODENAME ]; then
49 | read -p "hello@nodexcapital:~# [ENTER YOUR NODE] > " NODENAME
50 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
51 | fi
52 | echo ""
53 | echo -e "YOUR NODE NAME : \e[1m\e[31m$NODENAME\e[0m"
54 | echo -e "NODE CHAIN CHAIN : \e[1m\e[31m$CHAIN\e[0m"
55 | echo -e "NODE PORT : \e[1m\e[31m$PORT\e[0m"
56 | echo ""
57 |
58 | # Update
59 | sudo apt update && sudo apt upgrade -y
60 |
61 | # Package
62 | sudo apt -q update
63 | sudo apt -qy install curl git jq lz4 build-essential
64 | sudo apt -qy upgrade
65 |
66 | # Install GO
67 | sudo rm -rf /usr/local/go
68 | curl -Ls https://go.dev/dl/go1.19.7.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
69 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
70 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
71 |
72 | # Get mainnet version of MARS
73 |
74 | cd $HOME
75 | rm -rf $SOURCE
76 | git clone $REPO
77 | cd $SOURCE
78 | git checkout $VERSION
79 | make build
80 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
81 |
82 | # Prepare binaries for Cosmovisor
83 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
84 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
85 | rm -rf build
86 |
87 | # Create application symlinks
88 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
89 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/bin/$BINARY
90 |
91 | # Init generation
92 | $BINARY config chain-id $CHAIN
93 | $BINARY config keyring-backend test
94 | $BINARY config node tcp://localhost:${PORT}657
95 | $BINARY init $NODENAME --chain-id $CHAIN
96 |
97 | # Set peers and seeds
98 | PEERS="$(curl -sS https://nibiru-testnet.rpc.kjnodes.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
99 | SEEDS="a431d3d1b451629a21799963d9eb10d83e261d2c@seed-1.itn-1.nibiru.fi:26656,6a78a2a5f19c93661a493ecbe69afc72b5c54117@seed-2.itn-1.nibiru.fi:26656,3f472746f46493309650e5a033076689996c8881@nibiru-testnet.rpc.kjnodes.com:39659"
100 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
101 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
102 |
103 | # Download genesis and addrbook
104 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
105 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
106 |
107 | # Set Port
108 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
109 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
110 |
111 | # Set Config Pruning
112 | pruning="custom"
113 | pruning_keep_recent="100"
114 | pruning_keep_every="0"
115 | pruning_interval="10"
116 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
117 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
118 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
119 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
120 |
121 | # Set minimum gas price
122 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025$DENOM\"/" $HOME/$FOLDER/config/app.toml
123 |
124 | # Enable snapshots
125 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
126 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
127 | curl -L https://snapshots.kjnodes.com/nibiru-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
128 |
129 | # Create Service
130 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
131 | [Unit]
132 | Description=$BINARY
133 | After=network-online.target
134 |
135 | [Service]
136 | User=$USER
137 | ExecStart=$(which cosmovisor) run start
138 | Restart=on-failure
139 | RestartSec=10
140 | LimitNOFILE=65535
141 | Environment="DAEMON_HOME=$HOME/$FOLDER"
142 | Environment="DAEMON_NAME=$BINARY"
143 | Environment="UNSAFE_SKIP_BACKUP=true"
144 |
145 | [Install]
146 | WantedBy=multi-user.target
147 | EOF
148 |
149 | # Register And Start Service
150 | sudo systemctl daemon-reload
151 | sudo systemctl start $BINARY
152 | sudo systemctl enable $BINARY
153 |
154 | echo -e "\033[0;35m=============================================================\033[0m"
155 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
156 | echo ""
157 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
158 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
159 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
160 | echo -e "\033[0;35m=============================================================\033[0m"
161 |
162 | # End
--------------------------------------------------------------------------------
/neutron/baryon/provider.sh:
--------------------------------------------------------------------------------
1 | #
2 | # // Copyright (C) 2022 Salman Wahib Recoded By NodeX Capital
3 | #
4 |
5 | echo -e "\033[0;35m"
6 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
7 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
8 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
9 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
10 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
11 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
12 | echo ">>> Cosmovisor Automatic Installer for Cosmos | Chain ID : provider <<<";
13 | echo -e "\e[0m"
14 |
15 | sleep 1
16 |
17 | # Variable
18 | SOURCE=gaia
19 | WALLET=wallet
20 | BINARY=gaiad
21 | CHAIN=provider
22 | FOLDER=.gaia
23 | VERSION=v9.0.0-rc2
24 | DENOM=uatom
25 | COSMOVISOR=cosmovisor
26 | REPO=https://github.com/cosmos/gaia.git
27 | GENESIS=https://snap.nodexcapital.com/gaia/genesis.json
28 | ADDRBOOK=https://snap.nodexcapital.com/gaia/addrbook.json
29 | PORT=001
30 |
31 | # Set Vars
32 | if [ ! $NODENAME ]; then
33 | read -p "hello@nodexcapital:~# [ENTER YOUR NODE] > " NODENAME
34 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
35 | fi
36 |
37 | echo "Verify the information below before proceeding with the installation!"
38 | echo ""
39 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
40 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
41 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
42 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
43 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
44 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
45 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
46 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
47 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
48 | echo ""
49 |
50 | read -p "Is the above information correct? (y/n) " choice
51 | if [[ $choice == [Yy]* ]]; then
52 |
53 | echo "export SOURCE=${SOURCE}"
54 | echo "export WALLET=${WALLET}"
55 | echo "export BINARY=${BINARY}"
56 | echo "export DENOM=${DENOM}"
57 | echo "export CHAIN=${CHAIN}"
58 | echo "export FOLDER=${FOLDER}"
59 | echo "export VERSION=${VERSION}"
60 | echo "export COSMOVISOR=${COSMOVISOR}"
61 | echo "export REPO=${REPO}"
62 | echo "export GENESIS=${GENESIS}"
63 | echo "export ADDRBOOK=${ADDRBOOK}"
64 | echo "export PORT=${PORT}"
65 |
66 | else
67 | echo "Installation cancelled!"
68 | exit 1
69 | fi
70 |
71 | # Update
72 | sudo apt update && sudo apt upgrade -y
73 |
74 | # Package
75 | sudo apt -q update
76 | sudo apt -qy install curl git jq lz4 build-essential
77 | sudo apt -qy upgrade
78 |
79 | # Install GO
80 | sudo rm -rf /usr/local/go
81 | curl -Ls https://go.dev/dl/go1.18.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
82 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
83 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
84 |
85 | # Get mainnet version of MARS
86 |
87 | cd $HOME
88 | rm -rf $SOURCE
89 | git clone $REPO
90 | cd $SOURCE
91 | git checkout $VERSION
92 | make build
93 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
94 |
95 | # Prepare binaries for Cosmovisor
96 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
97 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
98 | rm -rf build
99 |
100 | # Create application symlinks
101 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
102 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/bin/$BINARY
103 |
104 | # Init generation
105 | $BINARY config chain-id $CHAIN
106 | $BINARY config keyring-backend test
107 | $BINARY config node tcp://localhost:${PORT}57
108 | $BINARY init $NODENAME --chain-id $CHAIN
109 |
110 | # Set peers and seeds
111 | PEERS="$(curl -sS https://rpc.provider-sentry-01.rs-testnet.polypore.xyz/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
112 | SEEDS=""
113 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
114 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.gaia/config/config.toml
115 |
116 | # Download genesis and addrbook
117 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
118 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
119 |
120 | # Set Port
121 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1::${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"tcp://127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
122 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1::${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
123 |
124 | # Set Config Pruning
125 | pruning="custom"
126 | pruning_keep_recent="100"
127 | pruning_keep_every="0"
128 | pruning_interval="19"
129 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
130 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
131 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
132 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
133 |
134 | # Set minimum gas price
135 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
136 |
137 | # Enable snapshots
138 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
139 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
140 | curl -L https://snap.nodexcapital.com/gaia/gaia-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
141 |
142 | # Create Service
143 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
144 | [Unit]
145 | Description=$BINARY
146 | After=network-online.target
147 |
148 | [Service]
149 | User=$USER
150 | ExecStart=$(which cosmovisor) run start
151 | Restart=on-failure
152 | RestartSec=10
153 | LimitNOFILE=65535
154 | Environment="DAEMON_HOME=$HOME/$FOLDER"
155 | Environment="DAEMON_NAME=$BINARY"
156 | Environment="UNSAFE_SKIP_BACKUP=true"
157 |
158 | [Install]
159 | WantedBy=multi-user.target
160 | EOF
161 |
162 | # Register And Start Service
163 | sudo systemctl start $BINARY
164 | sudo systemctl daemon-reload
165 | sudo systemctl enable $BINARY
166 |
167 | echo -e "\033[0;35m=============================================================\033[0m"
168 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
169 | echo ""
170 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
171 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
172 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
173 | echo -e "\033[0;35m=============================================================\033[0m"
174 |
175 | # End
--------------------------------------------------------------------------------
/neutron/baryon/baryon.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2022 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Neutron | Chain ID : baryon-1 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=neutron
20 | WALLET=wallet
21 | BINARY=neutrond
22 | CHAIN=baryon-1
23 | FOLDER=.neutrond
24 | VERSION=v0.2.0
25 | DENOM=untrn
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/neutron-org/neutron.git
28 | GENESIS=https://snap.nodexcapital.com/neutron/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/neutron/addrbook.json
30 | PORT=213
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODE] > " NODENAME
35 | echo 'export NODENAME='$NODENAME
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}"
55 | echo "export WALLET=${WALLET}"
56 | echo "export BINARY=${BINARY}"
57 | echo "export DENOM=${DENOM}"
58 | echo "export CHAIN=${CHAIN}"
59 | echo "export FOLDER=${FOLDER}"
60 | echo "export VERSION=${VERSION}"
61 | echo "export COSMOVISOR=${COSMOVISOR}"
62 | echo "export REPO=${REPO}"
63 | echo "export GENESIS=${GENESIS}"
64 | echo "export ADDRBOOK=${ADDRBOOK}"
65 | echo "export PORT=${PORT}"
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Update
73 | sudo apt update && sudo apt upgrade -y
74 |
75 | # Package
76 | sudo apt -q update
77 | sudo apt -qy install curl git jq lz4 build-essential
78 | sudo apt -qy upgrade
79 |
80 | # Install GO
81 | sudo rm -rf /usr/local/go
82 | curl -Ls https://go.dev/dl/go1.19.7.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
83 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
84 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
85 |
86 | # Get mainnet version of MARS
87 |
88 | cd $HOME
89 | rm -rf $SOURCE
90 | git clone $REPO
91 | cd $SOURCE
92 | git checkout $VERSION
93 | make build
94 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
95 |
96 | # Prepare binaries for Cosmovisor
97 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
98 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
99 | rm -rf build
100 |
101 | # Create application symlinks
102 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
103 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/bin/$BINARY
104 |
105 | # Init generation
106 | $BINARY config chain-id $CHAIN
107 | $BINARY config keyring-backend test
108 | $BINARY config node tcp://localhost:${PORT}57
109 | $BINARY init $NODENAME --chain-id $CHAIN
110 |
111 | # Set peers and
112 | PEERS="$(curl -sS https://rpc.baryon.ntrn.info/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
113 | SEEDS="e2c07e8e6e808fb36cca0fc580e31216772841df@p2p.baryon.ntrn.info:26656"
114 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.
115 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
116 |
117 | # Download genesis and addrbook
118 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
119 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
120 |
121 | # Set Port
122 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
123 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
124 |
125 | # Set Config Pruning
126 | pruning="custom"
127 | pruning_keep_recent="100"
128 | pruning_keep_every="0"
129 | pruning_interval="19"
130 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
131 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
132 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
133 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
134 |
135 | # Set minimum gas price
136 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
137 |
138 | # Enable snapshots
139 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
140 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
141 | curl -L https://snap.nodexcapital.com/neutron/neutron-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
142 |
143 | # Create Service
144 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
145 | [Unit]
146 | Description=$BINARY
147 | After=network-online.target
148 |
149 | [Service]
150 | User=$USER
151 | ExecStart=$(which cosmovisor) run start
152 | Restart=on-failure
153 | RestartSec=10
154 | LimitNOFILE=65535
155 | Environment="DAEMON_HOME=$HOME/$FOLDER"
156 | Environment="DAEMON_NAME=$BINARY"
157 | Environment="UNSAFE_SKIP_BACKUP=true"
158 |
159 |
160 | [Install]
161 | WantedBy=multi-user.target
162 | EOF
163 |
164 | # Register And Start Service
165 | sudo systemctl start $BINARY
166 | sudo systemctl daemon-reload
167 | sudo systemctl enable $BINARY
168 |
169 | echo -e "\033[0;35m=============================================================\033[0m"
170 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
171 | echo ""
172 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
173 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
174 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
175 | echo -e "\033[0;35m=============================================================\033[0m"
176 |
177 | # End
--------------------------------------------------------------------------------
/timpi/timpi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Timpi Chain | Chain ID : TimpiChainTN2 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=Timpi-ChainTN
20 | WALLET=wallet
21 | BINARY=timpid
22 | CHAIN=TimpiChainTN2
23 | FOLDER=.TimpiChain
24 | #VERSION=v1.2.0
25 | DENOM=utimpiTN
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/Timpi-official/Timpi-ChainTN.git
28 | GENESIS=https://snap.nodexcapital.com/timpi/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/timpi/addrbook.json
30 | PORT=225
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | #echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | #echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Get testnet version of Timpi
73 | cd $HOME
74 | rm -rf $SOURCE
75 | git clone $REPO
76 | cd $SOURCE/cmd/TimpiChain
77 | go build
78 | sudo mv TimpiChain timpid
79 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
80 |
81 | # Prepare binaries for Cosmovisor
82 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
83 | mv $BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
84 |
85 | # Create application symlinks
86 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
87 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
88 |
89 | # Init generation
90 | $BINARY config chain-id $CHAIN
91 | $BINARY config keyring-backend test
92 | $BINARY config node tcp://localhost:${PORT}57
93 | $BINARY init $NODENAME --chain-id $CHAIN
94 |
95 | # Download genesis and addrbook
96 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
97 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
98 |
99 | # Add seeds,gas-prices & peers
100 | PEERS="$(curl -sS https://rpc-t.timpi.nodestake.top/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
101 | SEEDS=""
102 | sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $HOME/$FOLDER/config/config.toml
103 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
104 |
105 | # Set Port
106 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
107 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
108 |
109 | # Set Config Pruning
110 | pruning="custom"
111 | pruning_keep_recent="100"
112 | pruning_keep_every="0"
113 | pruning_interval="19"
114 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
115 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
116 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
117 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
118 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
119 |
120 | # Enable snapshots
121 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
122 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
123 | curl -L https://snap.nodexcapital.com/timpi/timpi-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
124 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
125 |
126 | # Create Service
127 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
128 | [Unit]
129 | Description=$BINARY
130 | After=network-online.target
131 |
132 | [Service]
133 | User=$USER
134 | ExecStart=$(which cosmovisor) run start
135 | Restart=on-failure
136 | RestartSec=10
137 | LimitNOFILE=65535
138 | Environment="DAEMON_HOME=$HOME/$FOLDER"
139 | Environment="DAEMON_NAME=$BINARY"
140 | Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
141 | Environment="UNSAFE_SKIP_BACKUP=true"
142 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/$FOLDER/cosmovisor/current/bin"
143 |
144 | [Install]
145 | WantedBy=multi-user.target
146 | EOF
147 |
148 | # Register And Start Service
149 | sudo systemctl daemon-reload
150 | sudo systemctl enable $BINARY
151 | sudo systemctl start $BINARY
152 |
153 | echo -e "\033[0;35m=============================================================\033[0m"
154 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
155 | echo ""
156 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
157 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
158 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
159 | echo -e "\033[0;35m=============================================================\033[0m"
160 |
161 | # End
--------------------------------------------------------------------------------
/sigma/sge.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for SGE Network | Chain ID : sge-network-2 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=sge
20 | WALLET=wallet
21 | BINARY=sged
22 | CHAIN=sge-network-2
23 | FOLDER=.sge
24 | VERSION=v0.0.5
25 | DENOM=usge
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/sge-network/sge
28 | GENESIS=https://snap.nodexcapital.com/sge/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/sge/addrbook.json
30 | PORT=209
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODE] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
62 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
63 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
64 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
65 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
66 | source $HOME/.bash_profile
67 |
68 | else
69 | echo "Installation cancelled!"
70 | exit 1
71 | fi
72 |
73 | # Package
74 | sudo apt -q update
75 | sudo apt -qy install curl git jq lz4 build-essential
76 | sudo apt -qy upgrade
77 |
78 | # Install GO
79 | sudo rm -rf /usr/local/go
80 | curl -Ls https://go.dev/dl/go1.18.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
81 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
82 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
83 |
84 | # Get binary
85 |
86 | cd $HOME
87 | rm -rf $SOURCE
88 | git clone $REPO
89 | cd $SOURCE
90 | git checkout $VERSION
91 | make build
92 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
93 |
94 | # Prepare binaries for Cosmovisor
95 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
96 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
97 | rm -rf build
98 |
99 | # Create application symlinks
100 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
101 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/bin/$BINARY
102 |
103 | # Init generation
104 | $BINARY config chain-id $CHAIN
105 | $BINARY config keyring-backend test
106 | $BINARY config node tcp://localhost:${PORT}57
107 | $BINARY init $NODENAME --chain-id $CHAIN
108 |
109 | # Set peers and seeds
110 | PEERS="$(curl -sS https://rpc-t.sge.nodestake.top/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
111 | SEEDS=""
112 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
113 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
114 |
115 | # Download genesis and addrbook
116 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
117 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
118 |
119 | # Set Port
120 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
121 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
122 |
123 | # Set Config Pruning
124 | pruning="custom"
125 | pruning_keep_recent="100"
126 | pruning_keep_every="0"
127 | pruning_interval="19"
128 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
129 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
130 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
131 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
132 |
133 | # Set minimum gas price
134 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
135 |
136 | # Enable snapshots
137 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
138 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
139 | curl -L https://snap.nodexcapital.com/sge/sge-latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/$FOLDER
140 |
141 | # Create Service
142 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
143 | [Unit]
144 | Description=$BINARY
145 | After=network-online.target
146 |
147 | [Service]
148 | User=$USER
149 | ExecStart=$(which cosmovisor) run start
150 | Restart=on-failure
151 | RestartSec=10
152 | LimitNOFILE=65535
153 | Environment="DAEMON_HOME=$HOME/$FOLDER"
154 | Environment="DAEMON_NAME=$BINARY"
155 | Environment="UNSAFE_SKIP_BACKUP=true"
156 |
157 |
158 | [Install]
159 | WantedBy=multi-user.target
160 | EOF
161 |
162 | # Register And Start Service
163 | sudo systemctl start $BINARY
164 | sudo systemctl daemon-reload
165 | sudo systemctl enable $BINARY
166 |
167 | echo -e "\033[0;35m=============================================================\033[0m"
168 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
169 | echo ""
170 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
171 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
172 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
173 | echo -e "\033[0;35m=============================================================\033[0m"
174 |
175 | # End
--------------------------------------------------------------------------------
/okp4/studycase/README.md:
--------------------------------------------------------------------------------
1 | Founder :
2 | NodeX Capital Discord Community
3 | Visit Our Website :
4 | NodeX Capital Official
5 | Hetzner :
6 | Deploy Hetzner VPS Get 20€ Bonus!
7 |
8 |
9 |
10 |
11 |
12 |
13 | ## Description
14 |
15 | This study highlighting gas consumption relevancy in relation with elements at your disposal (e.g. Memory and CPU usage). Argued with curated data from your running Node, provide us feedback and suggestions to help us ensuring a fair cost.
16 |
17 | We use [okp4-objectarium](https://github.com/okp4/contracts/tree/main/contracts/okp4-objectarium) and [okp4-law-stone](https://github.com/okp4/contracts/tree/main/contracts/okp4-law-stone) smart contracts. Only Druid's delegator addresses can instantiate those contracts, through the code id 2 for cw-storage and 3 for cw-law-stone!
18 |
19 | You can also use your current node without recompiling to complete this task
20 |
21 | ## Gas Consumption Phase 4 **lughnasad**
22 |
23 | ### Equipment
24 | - Hetzner AX-41 NVMe
25 | - AMD Ryzen™ 5 3600
26 | - RAM 64 GB DDR4
27 | - Disk: 2 x 512GB NVMe
28 | - Bandwidth 1 GBit/s port
29 |
30 |
31 | ## Objecatirum
32 | The `okp4-objectarium` smart contract enables the storage of arbitrary `objects` in any [Cosmos blockchains](https://cosmos.network/) using the [CosmWasm](https://cosmwasm.com/) framework.
33 |
34 | This contract allows for storing `objects`, pinning and unpinning `objects` for a given sender address, and it also includes the ability to remove (forget) `objects` if they are no longer pinned.
35 |
36 | | Hardware | Action | Hash | Gas |
37 | | ----- | ----------- | ---------------------------------------------------------------- | ------- |
38 | | AX-41 NVMe | Instantiate | 9477924A7882DA319304DFFFE0870EF723016E60F57D7F6853FBA9ADB67940D2 | 178 341 |
39 | | AX-41 NVMe | Execute | 4E756B5BDAE62892DB8C5B552FB06C9B6B9A7DD552E22B0B737351237640799A | 193 408 |
40 | | AX-41 NVMe | Pin | 0403E29DA13E068F664330236410E020462B4C060263733F0D5DAC4AAA9DD81E | 149 097 |
41 | | AX-41 NVMe | Unpin | BCB5528F98E569CD5823048001F6D4A070A84EFFDBB84AC64AA49A45B41BE985 | 167 450 |
42 | | AX-41 NVMe | Forget | 6ED2766B2A66DE37E817FD73F42BDFBD6204BCEB7044E23E9B31BDE4567C89BF | 170 527 |
43 |
44 | The `okp4-objectarium` can be instantiated as follows, refer to the schema for more information on configuration, limits and pagination configuration:
45 |
46 | ### Variable
47 | - WALLET="your-wallet-address"
48 |
49 | ```bash
50 | okp4d tx wasm instantiate 2 \
51 | --label "my-storage" \
52 | --from $WALLET \
53 | --admin $WALLET \
54 | --gas 1000000 \
55 | --broadcast-mode block \
56 | '{"bucket":"my-bucket","limits":{}, "config": {}, "pagination": {}}'
57 | ```
58 |
59 | ### Execute
60 | Make test file whatever you want e.g (hello.txt, hello.html) and put on `$HOME` directory
61 |
62 | ```bash
63 | okp4d tx wasm execute $CONTRACT \
64 | --from $WALLET \
65 | --gas 1000000 \
66 | --broadcast-mode block \
67 | "{\"store_object\":{\"data\": \"$(cat $HOME/hello.txt | base64)\",\"pin\":true}}"
68 | ```
69 |
70 | The object id is stable as it is a hash, we can't store an object twice.
71 |
72 | With the following commands we can pin and unpin existing objects:
73 |
74 | ```bash
75 | okp4d tx wasm execute $CONTRACT \
76 | --from $WALLET \
77 | --gas 1000000 \
78 | --broadcast-mode block \
79 | "{\"pin_object\":{\"id\": \"$OBJECT_ID\"}}"
80 |
81 | okp4d tx wasm execute $CONTRACT \
82 | --from $WALLET \
83 | --gas 1000000 \
84 | --broadcast-mode block \
85 | "{\"unpin_object\":{\"id\": \"$OBJECT_ID\"}}"
86 | ```
87 |
88 | And if an object is not pinned, or pinned by the sender of transaction, we can remove it:
89 |
90 | ```bash
91 | okp4d tx wasm execute $CONTRACT \
92 | --from $WALLET \
93 | --gas 1000000 \
94 | --broadcast-mode block \
95 | "{\"forget_object\":{\"id\": \"$OBJECT_ID\"}}"
96 | ```
97 |
98 | ### Query Object
99 |
100 | Query an object by its id:
101 |
102 | ```bash
103 | okp4d query wasm contract-state smart $CONTRACT \
104 | "{\"object\": {\"id\": \"$OBJECT_ID\"}}"
105 | ```
106 |
107 | Or its data:
108 |
109 | ```bash
110 | okp4d query wasm contract-state smart $CONTRACT \
111 | "{\"object_data\": {\"id\": \"$OBJECT_ID\"}}"
112 | ```
113 |
114 | We can also list the objects, eventually filtering on the object owner:
115 |
116 | ```bash
117 | okp4d query wasm contract-state smart $CONTRACT \
118 | "{\"objects\": {\"address\": \"$WALLET\"}}"
119 | ```
120 |
121 | And navigate in a cursor based pagination:
122 |
123 | ```bash
124 | okp4d query wasm contract-state smart $CONTRACT \
125 | "{\"objects\": {\"first\": 5, \"after\": \"32MUGxHoR66M4HT8ga7haKS6tLkJ1w5P4du6q3X9tZqvdSuSHNoUzwQCPwPyW8u5xLxso1Qx99GexVGfLGep1Wfv\"}}"
126 | ```
127 |
128 | We can also query object pins with the same cursor based pagination:
129 |
130 | ```bash
131 | okp4d query wasm contract-state smart $CONTRACT \
132 | "{\"object_pins\": {\"id\": \"$OBJECT_ID\", \"first\": 5, \"after\": \"32MUGxHoR66M4HT8ga7haKS6tLkJ1w5P4du6q3X9tZqvdSuSHNoUzwQCPwPyW8u5xLxso1Qx99GexVGfLGep1Wfv\"}}"
133 |
134 | ```
135 |
136 | ## Single Source
137 | The `okp4-law-stone` smart contract aims to provide GaaS (i.e. Governance as a Service) in any [Cosmos blockchains](https://cosmos.network/) using the [CosmWasm](https://cosmwasm.com/) framework and the [Logic](https://docs.okp4.network/modules/next/logic) OKP4 module.
138 |
139 | | Hardware | Action | Hash | Gas |
140 | | ----- | ----------- | ---------------------------------------------------------------- | ------- |
141 | | AX-41 NVMe | Instantiate | 404AB3F907EB53E5430828FD4306A98CB6DB18706E276D2D49C8B368F96ED0BA | 542 752 |
142 | | AX-41 NVMe | Break | 7AC2E6EE3DEB74C056EF9813995589D754C722A5E4DF50E27EE7EF0C6440A277 | 132 160 |
143 |
144 | ### Download gov.pl
145 | ```
146 | wget -0 gov.pl https://raw.githubusercontent.com/okp4/contracts/main/contracts/okp4-law-stone/examples/single-source/gov.pl
147 | ```
148 | You'll find in the [gov.pl](gov.pl) Prolog program some predicates defining the rules allowing to perform some typical Dataspaces actions. make sure u've change the `address` on [gov.pl](gov.pl) with your own address!
149 |
150 | ### Instantiate
151 |
152 | The instantiate will take as parameters the base64 encoded program and the address of a `okp4-objectarium` contract, on which the program will be stored and pinned to prevent its removal and thus ensure its availability:
153 |
154 | ```bash
155 | okp4d tx wasm instantiate 3 \
156 | --label "nodex-single-source" \
157 | --from $WALLET \
158 | --admin $WALLET \
159 | --gas 1000000 \
160 | --broadcast-mode block \
161 | "{\"program\":\"$(cat gov.pl | base64 -w 0)\", \"storage_address\": \"$CONTRACT\"}"
162 | ```
163 |
164 | You can retrieve the new `okp4-law-stone` smart contract address in the `_contract_address` instantiate attribute of the transaction.
165 |
166 | ### Query
167 |
168 | By using the `Ask` query we can provide Prolog predicates to be evaluated againsts the underlying program:
169 |
170 | ```bash
171 | okp4d query wasm contract-state smart $CONTRACT \
172 | "{\"ask\": {\"query\": \"can('change_governance', 'did:key:$WALLET').\"}}"
173 | ```
174 |
175 | ### Break
176 |
177 | Only the smart contract admin can break the stone, if any.
178 |
179 | The program stored in the `okp4-objectarium` smart contract will be removed, or at least un-pinned.
180 |
181 | By breaking the stone, you will not be able to query it anymore.
182 |
183 | ```bash
184 | okp4d tx wasm execute $CONTRACT \
185 | --from $WALLET \
186 | --gas 1000000 \
187 | --broadcast-mode block \
188 | '"break_stone"'
189 | ```
190 |
--------------------------------------------------------------------------------
/bonusblock/bonusblock.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Bonus Block | Chain ID : blocktopia-01 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=BonusBlock-chain
20 | WALLET=wallet
21 | BINARY=bonus-blockd
22 | CHAIN=blocktopia-01
23 | FOLDER=.bonusblock
24 | VERSION=7c7522c2879ddeaa4ca72d7c1367d18a96d41741
25 | DENOM=ubonus
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/BBlockLabs/BonusBlock-chain
28 | GENESIS=https://snap.nodexcapital.com/bonusblock/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/bonusblock/addrbook.json
30 | PORT=217
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
62 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
63 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
64 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
65 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
66 | source $HOME/.bash_profile
67 |
68 | else
69 | echo "Installation cancelled!"
70 | exit 1
71 | fi
72 |
73 | # Package
74 | sudo apt -q update
75 | sudo apt -qy install curl git jq lz4 build-essential
76 | sudo apt -qy upgrade
77 |
78 | # Install GO
79 | sudo rm -rf /usr/local/go
80 | curl -Ls https://go.dev/dl/go1.19.9.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
81 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
82 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
83 |
84 | # Get testnet version of Bonus Block
85 | cd $HOME
86 | rm -rf $SOURCE
87 | git clone $REPO
88 | cd $SOURCE
89 | git checkout $VERSION
90 | make install
91 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
92 |
93 | # Prepare binaries for Cosmovisor
94 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
95 | mv $HOME/go/bin/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
96 |
97 |
98 | # Create application symlinks
99 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
100 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
101 |
102 | # Init generation
103 | $BINARY config chain-id $CHAIN
104 | $BINARY config keyring-backend test
105 | $BINARY config node tcp://localhost:${PORT}57
106 | $BINARY init $NODENAME --chain-id $CHAIN
107 |
108 | # Set peers and seeds
109 | PEERS="$(curl -sS https://rpc-t.bonusblock.nodestake.top/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
110 | SEEDS=""
111 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
112 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
113 |
114 | # Download genesis and addrbook
115 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
116 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
117 |
118 | # Set Port
119 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
120 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
121 |
122 | # Set Config Pruning
123 | pruning="custom"
124 | pruning_keep_recent="100"
125 | pruning_keep_every="0"
126 | pruning_interval="19"
127 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
128 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
129 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
130 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
131 |
132 | # Set minimum gas price
133 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0001$DENOM\"/" $HOME/$FOLDER/config/app.toml
134 |
135 | # Enable snapshots
136 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
137 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
138 | curl -L https://snap.nodexcapital.com/bonusblock/bonusblock-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
139 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
140 |
141 |
142 | # Create Service
143 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
144 | [Unit]
145 | Description=$BINARY
146 | After=network-online.target
147 |
148 | [Service]
149 | User=$USER
150 | ExecStart==$(which cosmovisor) run start
151 | Restart=on-failure
152 | RestartSec=10
153 | LimitNOFILE=65535
154 | Environment="DAEMON_HOME=$HOME/$FOLDER"
155 | Environment="DAEMON_NAME=$BINARY"
156 | Environment="UNSAFE_SKIP_BACKUP=true"
157 |
158 | [Install]
159 | WantedBy=multi-user.target
160 | EOF
161 |
162 | # Register And Start Service
163 | sudo systemctl daemon-reload
164 | sudo systemctl start $BINARY
165 | sudo systemctl enable $BINARY
166 |
167 | echo -e "\033[0;35m=============================================================\033[0m"
168 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
169 | echo ""
170 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
171 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
172 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
173 | echo -e "\033[0;35m=============================================================\033[0m"
174 |
175 | # End
--------------------------------------------------------------------------------
/zetachain/zetachain.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Zetachain | Chain ID : athens_7001-1 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | #SOURCE=
20 | WALLET=wallet
21 | BINARY=zetacored
22 | CHAIN=athens_7001-1
23 | FOLDER=.zetacored
24 | VERSION=v3.0.0
25 | DENOM=azeta
26 | COSMOVISOR=cosmovisor
27 | REPO=https://zetachain-external-files.s3.amazonaws.com/binaries/athens3/latest/zetacored-ubuntu-22-amd64
28 | GENESIS=https://snap.nodexcapital.com/zetachain/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/zetachain/addrbook.json
30 | PORT=226
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexemperor:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | #echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | #echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Package
73 | sudo apt -q update
74 | sudo apt -qy install curl git jq lz4 build-essential
75 | sudo apt -qy upgrade
76 |
77 | # Install GO
78 | sudo rm -rf /usr/local/go
79 | curl -Ls https://go.dev/dl/go1.20.5.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
80 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
81 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
82 |
83 | # Get testnet version of Zetachain
84 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
85 | wget -O $HOME/$FOLDER/$COSMOVISOR/genesis/bin/$BINARY $REPO
86 | chmod +x $HOME/$FOLDER/$COSMOVISOR/genesis/bin/$BINARY
87 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
88 |
89 | # Create application symlinks
90 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
91 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
92 |
93 | # Init generation
94 | $BINARY config chain-id $CHAIN
95 | $BINARY config keyring-backend test
96 | $BINARY config node tcp://localhost:${PORT}57
97 | $BINARY init $NODENAME --chain-id $CHAIN
98 |
99 | # Download genesis and addrbook
100 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
101 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
102 |
103 | # Add seeds,gas-prices & peers
104 | PEERS=""
105 | SEEDS="3f472746f46493309650e5a033076689996c8881@zetachain-testnet.rpc.kjnodes.com:16059"
106 | sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $HOME/$FOLDER/config/config.toml
107 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
108 |
109 | # EVM Set Port
110 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
111 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%; s%^address = \"0.0.0.0:8545\"%address = \"127.0.0.1:${PORT}45\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"127.0.0.1:${PORT}46\"%" $HOME/$FOLDER/config/app.toml
112 |
113 | # Set Config Pruning
114 | pruning="custom"
115 | pruning_keep_recent="100"
116 | pruning_keep_every="0"
117 | pruning_interval="19"
118 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
119 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
120 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
121 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
122 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
123 |
124 | # Enable snapshots
125 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
126 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
127 | curl -L https://snap.nodexcapital.com/zetachain/zetachain-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
128 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
129 |
130 | # Create Service
131 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
132 | [Unit]
133 | Description=$BINARY
134 | After=network-online.target
135 |
136 | [Service]
137 | User=$USER
138 | ExecStart=$(which cosmovisor) run start
139 | Restart=on-failure
140 | RestartSec=10
141 | LimitNOFILE=65535
142 | Environment="DAEMON_HOME=$HOME/$FOLDER"
143 | Environment="DAEMON_NAME=$BINARY"
144 | Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
145 | Environment="UNSAFE_SKIP_BACKUP=true"
146 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/$FOLDER/cosmovisor/current/bin"
147 |
148 | [Install]
149 | WantedBy=multi-user.target
150 | EOF
151 |
152 |
153 | # Register And Start Service
154 | sudo systemctl daemon-reload
155 | sudo systemctl enable $BINARY
156 | sudo systemctl start $BINARY
157 |
158 | echo -e "\033[0;35m=============================================================\033[0m"
159 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
160 | echo ""
161 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
162 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
163 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
164 | echo -e "\033[0;35m=============================================================\033[0m"
165 |
166 | # End
--------------------------------------------------------------------------------
/terp/timpi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Timpi | Chain ID : TimpiChainTN <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=Timpi-ChainTN
20 | WALLET=wallet
21 | BINARY=timpid
22 | CHAIN=TimpiChainTN
23 | FOLDER=.TimpiChain
24 | #VERSION=v1.2.0
25 | DENOM=ucrd
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/Timpi-official/Timpi-ChainTN.git
28 | GENESIS=https://ss.nodeist.net/t/timpi/genesis.json
29 | ADDRBOOK=https://ss.nodeist.net/t/timpi/addrbook.json
30 | PORT=225
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | #echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | #echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Package
73 | sudo apt -q update
74 | sudo apt -qy install curl git jq lz4 build-essential
75 | sudo apt -qy upgrade
76 |
77 | # Install GO
78 | sudo rm -rf /usr/local/go
79 | curl -Ls https://go.dev/dl/go1.19.9.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
80 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
81 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
82 |
83 | # Get testnet version of Timpi
84 | cd $HOME
85 | rm -rf $SOURCE
86 | git clone $REPO
87 | cd $SOURCE/cmd/TimpiChain
88 | go build
89 | sudo mv TimpiChain timpid
90 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
91 |
92 | # Prepare binaries for Cosmovisor
93 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
94 | mv $BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
95 |
96 | # Create application symlinks
97 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
98 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
99 |
100 | # Init generation
101 | $BINARY config chain-id $CHAIN
102 | $BINARY config keyring-backend test
103 | $BINARY config node tcp://localhost:${PORT}57
104 | $BINARY init $NODENAME --chain-id $CHAIN
105 |
106 | # Download genesis and addrbook
107 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
108 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
109 |
110 | # Add seeds,gas-prices & peers
111 | PEERS="$(curl -sS https://rpc-timpi.nodeist.net/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
112 | SEEDS=""
113 | sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $HOME/$FOLDER/config/config.toml
114 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
115 |
116 | # Set Port
117 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
118 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
119 |
120 | # Set Config Pruning
121 | pruning="custom"
122 | pruning_keep_recent="100"
123 | pruning_keep_every="0"
124 | pruning_interval="19"
125 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
126 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
127 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
128 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
129 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
130 |
131 | # Enable snapshots
132 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
133 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
134 | curl -L https://ss.nodeist.net/t/timpi/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
135 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
136 |
137 | # Create Service
138 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
139 | [Unit]
140 | Description=$BINARY
141 | After=network-online.target
142 |
143 | [Service]
144 | User=$USER
145 | ExecStart=$(which cosmovisor) run start
146 | Restart=on-failure
147 | RestartSec=10
148 | LimitNOFILE=65535
149 | Environment="DAEMON_HOME=$HOME/$FOLDER"
150 | Environment="DAEMON_NAME=$BINARY"
151 | Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
152 | Environment="UNSAFE_SKIP_BACKUP=true"
153 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/$FOLDER/cosmovisor/current/bin"
154 |
155 | [Install]
156 | WantedBy=multi-user.target
157 | EOF
158 |
159 |
160 | # Register And Start Service
161 | sudo systemctl daemon-reload
162 | sudo systemctl enable $BINARY
163 | sudo systemctl start $BINARY
164 |
165 | echo -e "\033[0;35m=============================================================\033[0m"
166 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
167 | echo ""
168 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
169 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
170 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
171 | echo -e "\033[0;35m=============================================================\033[0m"
172 |
173 | # End
--------------------------------------------------------------------------------
/okp4/okp4.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2022 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Okp4 Network | Chain ID : okp4-nemeton-1 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=okp4d
20 | WALLET=wallet
21 | BINARY=okp4d
22 | CHAIN=okp4-nemeton-1
23 | FOLDER=.okp4d
24 | VERSION=v4.1.0
25 | DENOM=uknow
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/okp4/okp4d.git
28 | GENESIS=https://snap.nodexcapital.com/okp4/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/okp4/addrbook.json
30 | PORT=204
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Package
73 | sudo apt -q update
74 | sudo apt -qy install curl git jq lz4 build-essential
75 | sudo apt -qy upgrade
76 |
77 | # Install GO
78 | sudo rm -rf /usr/local/go
79 | curl -Ls https://go.dev/dl/go1.19.9.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
80 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
81 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
82 |
83 | # Get testnet version of Okp4
84 | cd $HOME
85 | rm -rf $SOURCE
86 | git clone $REPO
87 | cd $SOURCE
88 | git checkout $VERSION
89 | make build
90 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
91 |
92 | # Prepare binaries for Cosmovisor
93 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
94 | mv target/dist/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
95 | rm -rf build
96 |
97 | # Create application symlinks
98 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
99 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
100 |
101 | # Init generation
102 | $BINARY config chain-id $CHAIN
103 | $BINARY config keyring-backend test
104 | $BINARY config node tcp://localhost:${PORT}57
105 | $BINARY init $NODENAME --chain-id $CHAIN
106 |
107 | # Set peers and seeds
108 | PEERS="$(curl -sS https://okp4-testnet.rpc.kjnodes.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
109 | SEEDS="3f472746f46493309650e5a033076689996c8881@okp4-testnet.rpc.kjnodes.com:36659"
110 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
111 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
112 |
113 | # Download genesis and addrbook
114 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
115 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
116 |
117 | # Set Port
118 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${PORT}60\"%" $HOME/$FOLDER/config/config.toml
119 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${PORT}17\"%; s%^address = \":8080\"%address = \":${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
120 |
121 | # Set Config Pruning
122 | pruning="custom"
123 | pruning_keep_recent="100"
124 | pruning_keep_every="0"
125 | pruning_interval="19"
126 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
127 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
128 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
129 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
130 |
131 | # Set minimum gas price
132 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
133 |
134 | # Enable snapshots
135 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
136 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
137 | curl -L https://snap.nodexcapital.com/okp4/okp4-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
138 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
139 |
140 | # Create Service
141 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
142 | [Unit]
143 | Description=$BINARY
144 | After=network-online.target
145 |
146 | [Service]
147 | User=$USER
148 | ExecStart=$(which cosmovisor) run start
149 | Restart=on-failure
150 | RestartSec=10
151 | LimitNOFILE=65535
152 | Environment="DAEMON_HOME=$HOME/$FOLDER"
153 | Environment="DAEMON_NAME=$BINARY"
154 | Environment="UNSAFE_SKIP_BACKUP=true"
155 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.okp4d/cosmovisor/current/bin"
156 |
157 | [Install]
158 | WantedBy=multi-user.target
159 | EOF
160 |
161 | # Register And Start Service
162 | sudo systemctl daemon-reload
163 | sudo systemctl enable $BINARY
164 | sudo systemctl start $BINARY
165 |
166 | echo -e "\033[0;35m=============================================================\033[0m"
167 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
168 | echo ""
169 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
170 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
171 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
172 | echo -e "\033[0;35m=============================================================\033[0m"
173 |
174 |
175 | # End
--------------------------------------------------------------------------------
/blockx/blockx.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for BlockX | Chain ID : blockx_12345-2 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | WALLET=wallet
20 | BINARY=blockxd
21 | CHAIN=blockx_12345-2
22 | FOLDER=.blockxd
23 | VERSION=0.1.1-test
24 | DENOM=abcx
25 | BIN_REPO=https://github.com/defi-ventures/blockx-node-public-compiled/releases/download/v9.0.0/blockxd
26 | COSMOVISOR=cosmovisor
27 | GENESIS=https://snap.nodexcapital.com/blockx/genesis.json
28 | ADDRBOOK=https://snap.nodexcapital.com/blockx/addrbook.json
29 | PORT=212
30 |
31 | # Set Vars
32 | if [ ! $NODENAME ]; then
33 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
34 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
35 | fi
36 |
37 | echo "Verify the information below before proceeding with the installation!"
38 | echo ""
39 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
40 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
41 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
42 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
43 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
44 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
45 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
46 | echo -e "SOURCE CODE : \e[1m\e[35m$BIN_REPO\e[0m"
47 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
48 | echo ""
49 |
50 | read -p "Is the above information correct? (y/n) " choice
51 | if [[ $choice == [Yy]* ]]; then
52 |
53 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
54 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
55 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
56 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
57 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
58 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
59 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
60 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
61 | echo "export BIN_REPO=${BIN_REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Package
73 | sudo apt -q update
74 | sudo apt -qy install curl git jq lz4 build-essential
75 | sudo apt -qy upgrade
76 |
77 | # Install GO
78 | sudo rm -rf /usr/local/go
79 | curl -Ls https://go.dev/dl/go1.19.9.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
80 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
81 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
82 |
83 | # Get testnet version of BlockX
84 | cd $HOME
85 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
86 |
87 | # Prepare binaries for Cosmovisor
88 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
89 | wget -O $HOME/$FOLDER/$COSMOVISOR/genesis/bin/$BINARY $BIN_REPO
90 | chmod +x $HOME/$FOLDER/$COSMOVISOR/genesis/bin/*
91 |
92 | # Create application symlinks
93 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
94 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
95 |
96 | # Init generation
97 | $BINARY config chain-id $CHAIN
98 | $BINARY config keyring-backend test
99 | $BINARY config node tcp://localhost:${PORT}57
100 | $BINARY init $NODENAME --chain-id $CHAIN
101 |
102 | # Set peers and seeds
103 | SEEDS=""
104 | PEERS="$(curl -sS https://rpc-t.blockx.nodestake.top/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
105 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
106 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
107 |
108 | # Download genesis and addrbook
109 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
110 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
111 |
112 | # EVM Set Port
113 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
114 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%; s%^address = \"0.0.0.0:8545\"%address = \"127.0.0.1:${PORT}45\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"127.0.0.1:${PORT}46\"%" $HOME/$FOLDER/config/app.toml
115 |
116 | # Set Config Pruning
117 | pruning="custom"
118 | pruning_keep_recent="100"
119 | pruning_keep_every="0"
120 | pruning_interval="19"
121 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
122 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
123 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
124 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
125 |
126 | # Set minimum gas price
127 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
128 |
129 | # Set Interval & Snapshot
130 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
131 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
132 | curl -L https://snap.nodexcapital.com/blockx/blockx-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
133 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
134 |
135 | # Create Service
136 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
137 | [Unit]
138 | Description=$BINARY
139 | After=network-online.target
140 |
141 | [Service]
142 | User=$USER
143 | ExecStart=$(which cosmovisor) run start
144 | Restart=on-failure
145 | RestartSec=10
146 | LimitNOFILE=65535
147 | Environment="DAEMON_HOME=$HOME/$FOLDER"
148 | Environment="DAEMON_NAME=$BINARY"
149 | Environment="UNSAFE_SKIP_BACKUP=true"
150 |
151 | [Install]
152 | WantedBy=multi-user.target
153 | EOF
154 |
155 | # Register And Start Service
156 | sudo systemctl daemon-reload
157 | sudo systemctl enable $BINARY
158 | sudo systemctl start $BINARY
159 |
160 | echo -e "\033[0;35m=============================================================\033[0m"
161 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
162 | echo ""
163 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
164 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
165 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
166 | echo -e "\033[0;35m=============================================================\033[0m"
167 |
168 | # End
--------------------------------------------------------------------------------
/elys/elys.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Elys | Chain ID : elystestnet-1 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=elys
20 | WALLET=wallet
21 | BINARY=elysd
22 | CHAIN=elystestnet-1
23 | FOLDER=.elys
24 | VERSION=v0.8.0
25 | DENOM=uelys
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/elys-network/elys
28 | GENESIS=https://snap.nodexcapital.com/elys/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/elys/addrbook.json
30 | PORT=219
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
62 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
63 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
64 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
65 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
66 | source $HOME/.bash_profile
67 |
68 | else
69 | echo "Installation cancelled!"
70 | exit 1
71 | fi
72 |
73 | # Package
74 | sudo apt -q update
75 | sudo apt -qy install curl git jq lz4 build-essential
76 | sudo apt -qy upgrade
77 |
78 | # Install GO
79 | sudo rm -rf /usr/local/go
80 | curl -Ls https://go.dev/dl/go1.19.10.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
81 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
82 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
83 |
84 | # Get testnet version of Elys
85 | cd $HOME
86 | rm -rf $SOURCE
87 | git clone $REPO
88 | cd $SOURCE
89 | git checkout $VERSION
90 | make build
91 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
92 |
93 | # Prepare binaries for Cosmovisor
94 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
95 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
96 | rm -rf build
97 |
98 | # Create application symlinks
99 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
100 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
101 |
102 | # Init generation
103 | $BINARY config chain-id $CHAIN
104 | $BINARY config keyring-backend test
105 | $BINARY config node tcp://localhost:${PORT}57
106 | $BINARY init $NODENAME --chain-id $CHAIN
107 |
108 | # Download genesis and addrbook
109 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
110 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
111 |
112 | # Add seeds,gas-prices & peers
113 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
114 |
115 | #Set Peers & Seeds
116 | PEERS=""
117 | SEEDS="3f472746f46493309650e5a033076689996c8881@elys-testnet.rpc.kjnodes.com:53659,ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@testnet-seeds.polkachu.com:22056"
118 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
119 | sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $HOME/$FOLDER/config/config.toml
120 |
121 | # Set Port
122 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
123 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
124 |
125 | # Set Config Pruning
126 | pruning="custom"
127 | pruning_keep_recent="100"
128 | pruning_keep_every="0"
129 | pruning_interval="19"
130 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
131 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
132 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
133 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
134 |
135 | # Enable snapshots
136 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
137 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
138 | curl -L https://snap.nodexcapital.com/elys/elys-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
139 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
140 |
141 | # Create Service
142 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
143 | [Unit]
144 | Description=$BINARY
145 | After=network-online.target
146 |
147 | [Service]
148 | User=$USER
149 | ExecStart=$(which cosmovisor) run start
150 | Restart=on-failure
151 | RestartSec=10
152 | LimitNOFILE=65535
153 | Environment="DAEMON_HOME=$HOME/$FOLDER"
154 | Environment="DAEMON_NAME=$BINARY"
155 | Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
156 | Environment="UNSAFE_SKIP_BACKUP=true"
157 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/$FOLDER/cosmovisor/current/bin"
158 |
159 | [Install]
160 | WantedBy=multi-user.target
161 | EOF
162 |
163 |
164 | # Register And Start Service
165 | sudo systemctl daemon-reload
166 | sudo systemctl enable $BINARY
167 | sudo systemctl start $BINARY
168 |
169 | echo -e "\033[0;35m=============================================================\033[0m"
170 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
171 | echo ""
172 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
173 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
174 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
175 | echo -e "\033[0;35m=============================================================\033[0m"
176 |
177 | # End
--------------------------------------------------------------------------------
/ojonetwork/ojo.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Ojo Networks | Chain ID : ojo-devnet <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=ojo
20 | WALLET=wallet
21 | BINARY=ojod
22 | CHAIN=ojo-devnet
23 | FOLDER=.ojo
24 | VERSION=v0.1.2
25 | DENOM=uojo
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/ojo-network/ojo
28 | GENESIS=https://snap.nodexcapital.com/ojo/genesis.json
29 | ADDRBOOK=https://snap.nodexcapital.com/ojo/addrbook.json
30 | PORT=216
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Package
73 | sudo apt -q update
74 | sudo apt -qy install curl git jq lz4 build-essential
75 | sudo apt -qy upgrade
76 |
77 | # Install GO
78 | sudo rm -rf /usr/local/go
79 | curl -Ls https://go.dev/dl/go1.19.9.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
80 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
81 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
82 |
83 | # Get testnet version of Ojo
84 | cd $HOME
85 | rm -rf $SOURCE
86 | git clone $REPO
87 | cd $SOURCE
88 | git checkout $VERSION
89 | make build
90 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
91 |
92 | # Prepare binaries for Cosmovisor
93 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
94 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
95 | rm -rf build
96 |
97 | # Create application symlinks
98 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
99 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
100 |
101 | # Init generation
102 | $BINARY config chain-id $CHAIN
103 | $BINARY config keyring-backend test
104 | $BINARY config node tcp://localhost:${PORT}57
105 | $BINARY init $NODENAME --chain-id $CHAIN
106 |
107 | # Download genesis and addrbook
108 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
109 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
110 |
111 | # Add seeds,gas-prices & peers
112 | PEERS="$(curl -sS https://ojo-testnet.rpc.kjnodes.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
113 | SEEDS="3f472746f46493309650e5a033076689996c8881@ojo-testnet.rpc.kjnodes.com:50659"
114 | sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $HOME/$FOLDER/config/config.toml
115 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
116 |
117 | # Set Port
118 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
119 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
120 |
121 | # Set Config Pruning
122 | pruning="custom"
123 | pruning_keep_recent="100"
124 | pruning_keep_every="0"
125 | pruning_interval="19"
126 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
127 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
128 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
129 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
130 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
131 |
132 | # Enable snapshots
133 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
134 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
135 | curl -L https://snap.nodexcapital.com/ojo/ojo-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
136 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
137 |
138 | # Create Service
139 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
140 | [Unit]
141 | Description=$BINARY
142 | After=network-online.target
143 |
144 | [Service]
145 | User=$USER
146 | ExecStart=$(which cosmovisor) run start
147 | Restart=on-failure
148 | RestartSec=10
149 | LimitNOFILE=65535
150 | Environment="DAEMON_HOME=$HOME/$FOLDER"
151 | Environment="DAEMON_NAME=$BINARY"
152 | Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
153 | Environment="UNSAFE_SKIP_BACKUP=true"
154 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/$FOLDER/cosmovisor/current/bin"
155 |
156 | [Install]
157 | WantedBy=multi-user.target
158 | EOF
159 |
160 |
161 | # Register And Start Service
162 | sudo systemctl daemon-reload
163 | sudo systemctl enable $BINARY
164 | sudo systemctl start $BINARY
165 |
166 | echo -e "\033[0;35m=============================================================\033[0m"
167 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
168 | echo ""
169 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
170 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
171 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
172 | echo -e "\033[0;35m=============================================================\033[0m"
173 |
174 | # End
--------------------------------------------------------------------------------
/noria/noria.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # // Copyright (C) 2023 Salman Wahib Recoded By NodeX Capital
4 | #
5 |
6 | echo -e "\033[0;35m"
7 | echo " ███╗ ██╗ ██████╗ ██████╗ ███████╗██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗████████╗ █████╗ ██╗ ";
8 | echo " ████╗ ██║██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝ ██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║ ";
9 | echo " ██╔██╗ ██║██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ███████║██████╔╝██║ ██║ ███████║██║ ";
10 | echo " ██║╚██╗██║██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██╔══██║██╔═══╝ ██║ ██║ ██╔══██║██║ ";
11 | echo " ██║ ╚████║╚██████╔╝██████╔╝███████╗██╔╝ ██╗ ╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║███████╗";
12 | echo " ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝";
13 | echo ">>> Cosmovisor Automatic Installer for Noria | Chain ID : oasis-3 <<<";
14 | echo -e "\e[0m"
15 |
16 | sleep 1
17 |
18 | # Variable
19 | SOURCE=noria
20 | WALLET=wallet
21 | BINARY=noriad
22 | CHAIN=oasis-3
23 | FOLDER=.noria
24 | VERSION=v1.3.0
25 | DENOM=ucrd
26 | COSMOVISOR=cosmovisor
27 | REPO=https://github.com/noria-net/noria.git
28 | GENESIS=https://snapshots.kjnodes.com/noria-testnet/genesis.json
29 | ADDRBOOK=https://snapshots.kjnodes.com/noria-testnet/addrbook.json
30 | PORT=224
31 |
32 | # Set Vars
33 | if [ ! $NODENAME ]; then
34 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
35 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
36 | fi
37 |
38 | echo "Verify the information below before proceeding with the installation!"
39 | echo ""
40 | echo -e "NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
41 | echo -e "WALLET NAME : \e[1m\e[35m$WALLET\e[0m"
42 | echo -e "CHAIN NAME : \e[1m\e[35m$CHAIN\e[0m"
43 | echo -e "NODE VERSION : \e[1m\e[35m$VERSION\e[0m"
44 | echo -e "NODE FOLDER : \e[1m\e[35m$FOLDER\e[0m"
45 | echo -e "NODE DENOM : \e[1m\e[35m$DENOM\e[0m"
46 | echo -e "NODE ENGINE : \e[1m\e[35m$COSMOVISOR\e[0m"
47 | echo -e "SOURCE CODE : \e[1m\e[35m$REPO\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | read -p "Is the above information correct? (y/n) " choice
52 | if [[ $choice == [Yy]* ]]; then
53 |
54 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
55 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
56 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
57 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
58 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
59 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
60 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
61 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
62 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
63 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
64 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
65 | source $HOME/.bash_profile
66 |
67 | else
68 | echo "Installation cancelled!"
69 | exit 1
70 | fi
71 |
72 | # Package
73 | sudo apt -q update
74 | sudo apt -qy install curl git jq lz4 build-essential
75 | sudo apt -qy upgrade
76 |
77 | # Install GO
78 | sudo rm -rf /usr/local/go
79 | curl -Ls https://go.dev/dl/go1.19.9.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
80 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
81 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
82 |
83 | # Get testnet version of Noria
84 | cd $HOME
85 | rm -rf $SOURCE
86 | git clone $REPO
87 | cd $SOURCE
88 | git checkout $VERSION
89 | make install
90 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
91 |
92 | # Prepare binaries for Cosmovisor
93 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
94 | mv build/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
95 | rm -rf build
96 |
97 | # Create application symlinks
98 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
99 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
100 |
101 | # Init generation
102 | $BINARY config chain-id $CHAIN
103 | $BINARY config keyring-backend test
104 | $BINARY config node tcp://localhost:${PORT}57
105 | $BINARY init $NODENAME --chain-id $CHAIN
106 |
107 | # Download genesis and addrbook
108 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
109 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
110 |
111 | # Add seeds,gas-prices & peers
112 | PEERS="$(curl -sS https://noria-testnet.rpc.kjnodes.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
113 | SEEDS="3f472746f46493309650e5a033076689996c8881@noria-testnet.rpc.kjnodes.com:16159"
114 | sed -i.bak -e "s/^seeds =.*/seeds = \"$SEEDS\"/" $HOME/$FOLDER/config/config.toml
115 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
116 |
117 | # Set Port
118 | sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"tcp://127.0.0.1:${PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \"127.0.0.1:${PORT}60\"%" $HOME/$FOLDER/config/config.toml
119 | sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://127.0.0.1:${PORT}17\"%; s%^address = \":8080\"%address = \"127.0.0.1:${PORT}80\"%; s%^address = \"localhost:9090\"%address = \"127.0.0.1:${PORT}90\"%; s%^address = \"localhost:9091\"%address = \"127.0.0.1:${PORT}91\"%" $HOME/$FOLDER/config/app.toml
120 |
121 | # Set Config Pruning
122 | pruning="custom"
123 | pruning_keep_recent="100"
124 | pruning_keep_every="0"
125 | pruning_interval="19"
126 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
127 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
128 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
129 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
130 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0$DENOM\"/" $HOME/$FOLDER/config/app.toml
131 |
132 | # Enable snapshots
133 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
134 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
135 | curl -L https://snapshots.kjnodes.com/noria-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
136 | [[ -f $HOME/$FOLDER/data/upgrade-info.json ]] && cp $HOME/$FOLDER/data/upgrade-info.json $HOME/$FOLDER/cosmovisor/genesis/upgrade-info.json
137 |
138 | # Create Service
139 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
140 | [Unit]
141 | Description=$BINARY
142 | After=network-online.target
143 |
144 | [Service]
145 | User=$USER
146 | ExecStart=$(which cosmovisor) run start
147 | Restart=on-failure
148 | RestartSec=10
149 | LimitNOFILE=65535
150 | Environment="DAEMON_HOME=$HOME/$FOLDER"
151 | Environment="DAEMON_NAME=$BINARY"
152 | Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
153 | Environment="UNSAFE_SKIP_BACKUP=true"
154 | Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/$FOLDER/cosmovisor/current/bin"
155 |
156 | [Install]
157 | WantedBy=multi-user.target
158 | EOF
159 |
160 |
161 | # Register And Start Service
162 | sudo systemctl daemon-reload
163 | sudo systemctl enable $BINARY
164 | sudo systemctl start $BINARY
165 |
166 | echo -e "\033[0;35m=============================================================\033[0m"
167 | echo -e "\033[0;35mCONGRATS! SETUP FINISHED\033[0m"
168 | echo ""
169 | echo -e "CHECK STATUS BINARY : \033[1m\033[35msystemctl status $BINARY\033[0m"
170 | echo -e "CHECK RUNNING LOGS : \033[1m\033[35mjournalctl -fu $BINARY -o cat\033[0m"
171 | echo -e "CHECK LOCAL STATUS : \033[1m\033[35mcurl -s localhost:${PORT}57/status | jq .result.sync_info\033[0m"
172 | echo -e "\033[0;35m=============================================================\033[0m"
173 |
174 | # End
--------------------------------------------------------------------------------