├── 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 --------------------------------------------------------------------------------