├── Bonus-Block
├── README.md
└── bonus.sh
├── Elixir
└── README.md
├── EthX_cover.jpeg
├── Inery
├── README.md
├── Task1
│ └── README.md
├── Task2
│ └── README.md
├── Task3
│ └── README.md
├── Task4
│ └── README.md
└── Task5
│ └── README.md
├── MOI
└── README.md
├── Muon
└── README.md
├── Nibiru
└── README.md
├── Nolus
├── README.md
└── nolus.sh
├── Q Blockchain
└── README.md
├── README.md
├── Shardeum
└── README.md
├── Stader Node ETHx Rolling beta
└── Wormholes
├── README.md
├── monitor.sh
└── wormholes.sh
/Bonus-Block/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ### Spesifikasi Hardware :
7 | NODE | CPU | RAM | SSD |
8 | | ------------- | ------------- | ------------- | -------- |
9 | | Testnet | 4 | 8 | 120 |
10 |
11 | > [Docs](https://bblocklabs.github.io/BonusBlock-docs/docs/running-a-node/prerequisites/)
12 | >
13 | > [Exploler](https://explorer.dwentz.xyz/bonus-block/staking/bonusvaloper19stcam0kspuzkrze0yyuagvxyh5sqaxe632dcv)
14 | >
15 | > [Faucet](https://faucet.bonusblock.io/)
16 | >
17 | > [Crew3](https://crew3.xyz/c/bonusblock/invite/bAjTZmTXi-k-hgadeNCUE/)
18 | >
19 | > [Twitter](https://twitter.com/bonus_block/)
20 | >
21 | > [Telegram](https://t.me/bonusblock/)
22 |
23 |
24 | ### Install otomatis
25 | ```
26 | wget -O bonus.sh https://raw.githubusercontent.com/xcodenode/NODE-TESTNET/main/Bonus-Block/bonus.sh && chmod +x bonus.sh && ./bonus.sh
27 | ```
28 | ### Load variable ke system
29 | ```
30 | source $HOME/.bash_profile
31 | ```
32 | ### Statesync
33 | ```
34 | N/A
35 | ```
36 | ### Informasi node
37 |
38 | * cek sync node
39 | ```
40 | bonus-blockd status 2>&1 | jq .SyncInfo
41 | ```
42 | * cek log node
43 | ```
44 | journalctl -fu bonus-blockd -o cat
45 | ```
46 | * cek node info
47 | ```
48 | bonus-blockd status 2>&1 | jq .NodeInfo
49 | ```
50 | * cek validator info
51 | ```
52 | bonus-blockd status 2>&1 | jq .ValidatorInfo
53 | ```
54 | * cek node id
55 | ```
56 | bonus-blockd tendermint show-node-id
57 | ```
58 | ### Membuat wallet
59 | * wallet baru
60 | ```
61 | bonus-blockd keys add $WALLET
62 | ```
63 | * recover wallet
64 | ```
65 | bonus-blockd keys add $WALLET --recover
66 | ```
67 | * list wallet
68 | ```
69 | bonus-blockd keys list
70 | ```
71 | * hapus wallet
72 | ```
73 | bonus-blockd keys delete $WALLET
74 | ```
75 | ### Simpan informasi wallet
76 | ```
77 | BONUS_WALLET_ADDRESS=$(bonus-blockd keys show $WALLET -a)
78 | BONUS_VALOPER_ADDRESS=$(bonus-blockd keys show $WALLET --bech val -a)
79 | echo 'export BONUS_WALLET_ADDRESS='${BONUS_WALLET_ADDRESS} >> $HOME/.bash_profile
80 | echo 'export BONUS_VALOPER_ADDRESS='${BONUS_VALOPER_ADDRESS} >> $HOME/.bash_profile
81 | source $HOME/.bash_profile
82 | ```
83 |
84 | ### Membuat validator
85 | * cek balance
86 | ```
87 | bonus-blockd query bank balances $BONUS_WALLET_ADDRESS
88 | ```
89 |
90 | * Faucet bonus19stcaxxxxxxxxxxxxxxxx
91 | > [Faucet](https://faucet.bonusblock.io/)
92 |
93 | * membuat validator
94 | ```
95 | bonus-blockd tx staking create-validator \
96 | --amount 100000ubonus \
97 | --from $WALLET \
98 | --commission-max-change-rate "0.01" \
99 | --commission-max-rate "0.2" \
100 | --identity "xxxxxxx" \
101 | --website https://xcodenode.xyz \
102 | --commission-rate "0.07" \
103 | --min-self-delegation "1" \
104 | --pubkey $(bonus-blockd tendermint show-validator) \
105 | --moniker $NODENAME \
106 | --gas=auto \
107 | --gas-adjustment=1.2 \
108 | --gas-prices=0.025ubonus \
109 | --chain-id $BONUS_CHAIN_ID
110 | ```
111 | * edit validator
112 | ```
113 | bonus-blockd tx staking edit-validator \
114 | --new-moniker=xcodenode \
115 | --identity="xxxxx" \
116 | --website=https://xcodenode.xyz \
117 | --chain-id=$BONUS_CHAIN_ID \
118 | --from=$WALLET \
119 | --fees=26000000ubonus
120 | ```
121 | * unjail validator
122 | ```
123 | bonus-blockd tx slashing unjail \
124 | --broadcast-mode=block \
125 | --from=$WALLET \
126 | --chain-id=$BONUS_CHAIN_ID \
127 | --fees=200000000ubonus \
128 | --gas-adjustment=1.2 \
129 | --gas=auto
130 | ```
131 | ### Voting
132 | ```
133 | bonus-blockd tx gov vote 1 yes --from $WALLET --chain-id=$BONUS_CHAIN_ID --gas=auto --fees=2500000ubonus
134 | ```
135 | ### Delegasi dan Rewards
136 | * delegasi
137 | ```
138 | bonus-blockd tx staking delegate $BONUS_VALOPER_ADDRESS 1000000000000ubonus --from=$WALLET --chain-id=$BONUS_CHAIN_ID --gas=auto --fees=250000ubonus
139 | ```
140 | * withdraw reward
141 | ```
142 | bonus-blockd tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$BONUS_CHAIN_ID --gas=auto --fees=2500000ubonus
143 | ```
144 | * withdraw reward beserta komisi
145 | ```
146 | bonus-blockd tx distribution withdraw-rewards $BONUS_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$BONUS_CHAIN_ID --gas=auto --fees=2500000ubonus
147 | ```
148 |
149 | ### Hapus node
150 | ```
151 | sudo systemctl stop bonus-blockd && \
152 | sudo systemctl disable bonus-blockd && \
153 | rm -rf /etc/systemd/system/bonus-blockd.service && \
154 | sudo systemctl daemon-reload && \
155 | cd $HOME && \
156 | rm -rf BonusBlock-chain && \
157 | rm -rf bonus.sh && \
158 | rm -rf .bonusblock && \
159 | rm -rf $(which bonus-blockd)
160 | ```
161 |
--------------------------------------------------------------------------------
/Bonus-Block/bonus.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sleep 2
4 |
5 | # set vars
6 | if [ ! $NODENAME ]; then
7 | read -p "Enter node name: " NODENAME
8 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
9 | fi
10 |
11 | if [ ! $WALLET ]; then
12 | echo "export WALLET=wallet" >> $HOME/.bash_profile
13 | fi
14 | echo "export BONUS_CHAIN_ID=blocktopia-01" >> $HOME/.bash_profile
15 | source $HOME/.bash_profile
16 |
17 | echo '==================ARSYANODE======================'
18 | echo -e "moniker : \e[1m\e[32m$NODENAME\e[0m"
19 | echo -e "wallet : \e[1m\e[32m$WALLET\e[0m"
20 | echo -e "chain-id: \e[1m\e[32m$BONUS_CHAIN_ID\e[0m"
21 | echo '================================================='
22 | sleep 2
23 |
24 | echo -e "\e[1m\e[32m1. Updating packages... \e[0m" && sleep 1
25 | # update
26 | sudo apt update && sudo apt list --upgradable && sudo apt upgrade -y
27 |
28 | echo -e "\e[1m\e[32m2. Installing dependencies... \e[0m" && sleep 1
29 | # packages
30 | sudo apt install curl build-essential git wget jq make gcc tmux chrony -y
31 |
32 | # install go
33 | ver="1.19.5" && \
34 | wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
35 | sudo rm -rf /usr/local/go && \
36 | sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
37 | rm "go$ver.linux-amd64.tar.gz" && \
38 | echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
39 | source $HOME/.bash_profile && \
40 | go version
41 |
42 | echo -e "\e[1m\e[32m3. Downloading and building binaries... \e[0m" && sleep 1
43 | # download binary
44 | cd $HOME
45 | git clone https://github.com/BBlockLabs/BonusBlock-chain
46 | cd BonusBlock-chain
47 | make build
48 |
49 | # config
50 | bonus-blockd config chain-id=blocktopia-01
51 | bonus-blockd config keyring-backend test
52 |
53 | # init
54 | bonus-blockd init $NODENAME --chain-id=blocktopia-01
55 |
56 | # download genesis and addrbook
57 | rm ~/.bonusblock/config/genesis.json
58 | curl https://bonusblock-testnet.alter.network/genesis? | jq '.result.genesis' > ~/.bonusblock/config/genesis.json
59 |
60 | # set peers and seeds
61 | PEERS=e5e04918240cfe63e20059a8abcbe62f7eb05036@bonusblock-testnet-p2p.alter.network:26656
62 | sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.bonusblock/config/config.toml
63 |
64 |
65 | # config pruning
66 | pruning="custom"
67 | pruning_keep_recent="100"
68 | pruning_keep_every="0"
69 | pruning_interval="50"
70 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.bonusblock/config/app.toml
71 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.bonusblock/config/app.toml
72 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.bonusblock/config/app.toml
73 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.bonusblock/config/app.toml
74 |
75 | # set minimum gas price and timeout commit
76 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025ubonus\"/" $HOME/.bonusblock/config/app.toml
77 |
78 | # enable prometheus
79 | sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.bonusblock/config/config.toml
80 |
81 | # reset
82 |
83 |
84 | echo -e "\e[1m\e[32m4. Starting service... \e[0m" && sleep 1
85 | # create service
86 | sudo tee /etc/systemd/system/bonus-blockd.service > /dev/null < /dev/null
34 | sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
2 |
3 |
4 |
5 |
6 | > [Docs](https://docs.inery.io/docs)
7 |
8 | > [Portal](https://testnet.inery.io/)
9 |
10 | > [Explorer Inary](https://explorer.inery.io/ "Explorer Inary")
11 |
12 | If you haven't registered, please register [here](https://testnet.inery.io/)
13 |
14 | # Install Become a Master Node
15 |
16 | ## Minimum Spec Hardware :
17 | NODE | CPU | RAM | SSD | OS |
18 | | ------------- | ------------- | ------------- | -------- | -------- |
19 | | Inery | 4 | 8 | 250 | Ubuntu 20.04 LTS |
20 |
21 |
22 | ## Update Inery-node
23 | * If you haven't run node inery before skip to step Download Inery node
24 | * Stop Node
25 | ```console
26 | cd $HOME/inery-node/inery.setup/master.node
27 | ./stop.sh
28 | ```
29 | Check
30 | ```console
31 | pidof nodine
32 | ```
33 | Execute Stop
34 | ```console
35 | pidof -9
36 | ```
37 |
38 | * Delete Folder Inery node
39 | ```console
40 | cd $HOME
41 | rm -rf inery-node
42 | ```
43 |
44 | * Download Inery node
45 | ```console
46 | git clone https://github.com/inery-blockchain/inery-node
47 | ```
48 |
49 | * Goto Folder `inery.setup`
50 | ```console
51 | cd inery-node/inery.setup
52 | ```
53 |
54 | * executable `ine.py`
55 | ```console
56 | chmod +x ine.py
57 | ```
58 |
59 | * Export path
60 | ```console
61 | ./ine.py --export
62 | ```
63 |
64 | * Load path
65 | ```console
66 | source $HOME/.bashrc
67 | ```
68 |
69 | * Config Edit
70 | ```console
71 | nano tools/config.json
72 | ```
73 | Cari `MASTER_ACCOUNT` lalu ubah value seperti berikut
74 | | Variable | Data |
75 | |-----------|------------|
76 | |NAME|Inery Account|
77 | |PUBLIC_KEY|Public Account|
78 | |PRIVATE_KEY|Privaet Account|
79 | |PEER_ADDRESS|127.0.0.1:9010|
80 |
81 | Save CTRL+x+y
82 |
83 | * Run node
84 | ```console
85 | ./ine.py --master
86 | ```
87 |
88 | * Check log node
89 | ```console
90 | tail -f master.node/blockchain/nodine.log
91 | ```
92 |
93 | * If it's syncron run`start.sh`
94 | ```console
95 | ./master.node/start.sh
96 | ```
97 |
98 | * Request Faucet in [Dashboard](https://testnet.inery.io/dashboard/)
99 |
100 | * Register to produser
101 | ```console
102 | cline master bind :9010
103 | ```
104 | Delete `<>`
105 |
106 | If Message Error : `wallet not unlocked`
107 |
108 | ```console
109 | cline wallet unlock -n -p
110 | ```
111 |
112 | * Allow to be producer
113 | ```console
114 | cline master approve
115 | ```
116 |
117 | If Message Error : `unable to find key` required to request a faucet again on the dashboard
118 |
119 | * Check if the account has produced a block
120 | ```console
121 | cline get account
122 | ```
123 |
124 | Goto [TASK1](https://github.com/an-node/NODE-TESTNET/tree/main/Inery/Task1)
125 |
126 | ## Troubleshoot
127 |
128 | ### Error : FileNotFoundError:[Errno] No such file or directory:./blockchain/config/config.ini
129 |
130 | Indication : `libssl 1.1` not installed properly
131 |
132 | Solution :
133 | ```
134 | wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
135 | sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
136 | ```
137 |
138 | ### Erorr : net_plugin::plugin_startup failed to bind to port 9010
139 |
140 | Indication : noding keeps running in the background
141 |
142 | Solution :
143 | ```
144 | pidof nodine
145 |
146 | pidkill -9
147 | ```
148 |
149 | Check Again
150 |
151 | ```
152 | pidof nodine
153 | ```
154 |
155 | Run Again
156 |
157 | ## Delete Node
158 | ```console
159 | cd $HOME/inery-node/inery.setup/master.node
160 | ./stop.sh
161 | pidof nodine
162 | cd $HOME
163 | rm -rf inery-node
164 | ```
165 |
--------------------------------------------------------------------------------
/Inery/Task1/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Task 1
3 |
4 | ## Task : Master Approval
5 |
6 | ## Reward : 800 INR
7 |
8 | #### Login to [Dashboard](https://testnet.inery.io/dashboard)
9 |
10 | * Select Task1
11 |
12 | * Readmodre
13 |
14 | * Finish Task
15 |
16 | * Wait for Review
17 |
18 | * Done
19 |
--------------------------------------------------------------------------------
/Inery/Task2/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Task 2
3 |
4 |
--------------------------------------------------------------------------------
/Inery/Task3/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Task 3
3 |
4 |
--------------------------------------------------------------------------------
/Inery/Task4/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Task 4
3 |
4 |
--------------------------------------------------------------------------------
/Inery/Task5/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Task 5
3 | SOON
4 |
5 |
--------------------------------------------------------------------------------
/MOI/README.md:
--------------------------------------------------------------------------------
1 |
2 | 
3 |
4 | > [Docs](https://validator.moi.technology/docs?activeTab=CLI)
5 |
6 | > [Portal](https://moi.technology/indus/)
7 |
8 | > [Discord](https://discord.gg/eKN2gXcS)
9 |
10 |
11 | * [Register](https://iome.ai/signup)
12 |
13 | * KYC : Submit Front ID & Selfie, wait 2 Minute - 24 Hours
14 |
15 | # Install Become a Node MOI
16 |
17 | ## Minimum Spec Hardware :
18 | NODE | CPU | RAM | SSD | OS |
19 | | ------------- | ------------- | ------------- | -------- | -------- |
20 | | MOI | 4 | 8 | 250 | Ubuntu 20.04 LTS |
21 |
22 | ## 1. Auto Install
23 | ```console
24 | wget -O setup_moipod_indus.sh https://run-indus.moi.technology && chmod +x setup_moipod_indus.sh && bash setup_moipod_indus.sh
25 | ```
26 | * Input Username (Username Register in iome.ai)
27 | * Input Password (Passowrd Register in iome.ai)
28 | * Change Password
29 | * Wait for it to finish
30 |
31 | ## 2. Manual Install
32 | ```console
33 | sudo curl -o moipod https://validator.moi.technology/moipod/v0.5.1/moipod.linux && sudo chmod +x moipod
34 | ```
35 | ### Setup Node
36 | * Step 1: Install NodeJS
37 |
38 | ```console
39 | apt update
40 | ```
41 | ```console
42 | apt install Node.js
43 | ```
44 | ```console
45 | apt install npm
46 | ```
47 | * Step 2: Install Node ZKP Library
48 | ```console
49 | sudo npm i @nuid/zk@0.0.12 -g
50 | ```
51 | * Step 3: Start/Restart MOI Pod
52 | Node password = create Begining Instalation
53 | ```console
54 | ./moipod --username --password --nodepass
55 | ```
56 | * Step 4: Import Node
57 | ```console
58 | ./moipod --username --password --nodepass --kramaID
59 | ```
60 | * Step 5: Deregister Node from Machine
61 | ```console
62 | ./moipod --username --password --nodepass --deregister
63 | ```
64 | ## Check Validator
65 |
66 | [Check](https://iome.ai/validators)
67 |
68 | Incentive will be visible after 24 hours indashboard
69 |
--------------------------------------------------------------------------------
/Muon/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Intsallation Node Validator Muon
3 |
4 | 
5 |
6 | ## Referensi
7 | * [DOC](https://docs.muon.net/muon-network/muon-nodes/joining-the-testnet-alice/faq-for-alice#when-i-check-the-status-of-my-node-on-the-dashboard-why-do-i-see-loading-or-offline)
8 |
9 | * [DISCORD](https://discord.gg/muon)
10 |
11 | ## Minimum Requirements
12 |
13 | - 2vCPU
14 | - 4GB RAM
15 | - 20GB SSD
16 | - Port 8000
17 |
18 | ## Update Package
19 |
20 | ```bash
21 | sudo apt update && sudo apt upgrade -y
22 | sudo apt install curl tar wget tmux htop net-tools clang pkg-config libssl-dev jq build-essential git make ncdu docker-compose -y
23 | ```
24 |
25 | ## Open Port
26 |
27 | ```bash
28 | ufw allow 8000
29 | ufw enable
30 | ```
31 |
32 | ## Install Docker
33 | ```bash
34 | rm /usr/bin/docker-compose /usr/local/bin/docker-compose
35 | ```
36 | ```bash
37 | curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
38 | ```
39 | ```bash
40 | systemctl restart docker
41 | ```
42 | ```bash
43 | curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
44 | ```
45 | ```bash
46 | chmod +x /usr/local/bin/docker-compose
47 | ```
48 | ```bash
49 | ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
50 | ```
51 | ```bash
52 | docker --version
53 | ```
54 |
55 | ## Clone Muon
56 |
57 | ```bash
58 | git clone https://github.com/muon-protocol/muon-node-js.git --recurse-submodules --branch testnet
59 | ```
60 |
61 | ## Build Muon
62 |
63 | ```bash
64 | cd muon-node-js
65 | docker-compose build
66 | docker-compose up -d
67 | ```
68 |
69 | ## Paste In Browser
70 | ```bash
71 | http://:8000/status
72 | ```
73 | Create New wallet & Request Faucet BSC Testnet
74 | ```bash
75 | https://testnet.bnbchain.org/faucet-smart
76 | ```
77 | Result
78 | ```bash
79 | {"address":"0xDE53563cf21D5E6257BE1Ec67eCCA63dEBXXXXXXX","peerId":"QmbtJLXPQUGiJfSnbAxJXW6HPQ4bhTCRBKufSFHaexxxxx","managerContract":{"network":"bsctest","address":"0x2efB53c11FC935f6114B3fC37AaFa6a76B263a4E"},"shield":{"enable":false,"apps":[]},"addedToNetwork":false}
80 | ```
81 |
82 | Visit -> https://alice.muon.net/join
83 | ### Connect Wallet
84 |
85 | 
86 |
87 | ### Mint Faucet Muon
88 |
89 | 
90 |
91 |
92 | ### Register add Node
93 |
94 | Go to -> http://:8000/status
95 |
96 | Save output
97 |
98 | example
99 | ```bash
100 |
101 | {"address":"0xDE53563cf21D5E6257BE1Ec67eCCA63dEBXXXXXXX","peerId":"QmbtJLXPQUGiJfSnbAxJXW6HPQ4bhTCRBKufSFHaexxxxx","managerContract":{"network":"bsctest","address":"0x2efB53c11FC935f6114B3fC37AaFa6a76B263a4E"},"shield":{"enable":false,"apps":[]},"addedToNetwork":false}
102 | ```
103 |
104 | 
105 |
106 | Input Node Address and peerID, and then Add Node
107 | ```bash
108 | Node Adress : 0xDE53563cf21D5E6257BE1Ec67eCCA63dEBXXXXXXX
109 | Peer ID : QmbtJLXPQUGiJfSnbAxJXW6HPQ4bhTCRBKufSFHaexxxxx
110 | ```
111 |
112 | Please Wait......
113 | ```bash
114 | http://:8000/v1/?app=tss&method=test
115 | ```
116 |
117 | If it is added correctly, you should receive a json response whose `success` is `true`
118 | ```bash
119 | {"success":true,"result":{"confirmed":true, ... }}
120 | ```
121 | Restart
122 | ```bash
123 | docker-compose restart
124 | ```
125 | 
126 |
127 | ## Backup
128 | ```bash
129 | docker cp muon-node:/usr/src/muon-node-js/.env ./backup.env
130 | ```
131 | ## Restore
132 | ```bash
133 | docker cp backup.env muon-node:/usr/src/muon-node-js/.env
134 | docker-compose restart
135 | ```
136 | ## Remove Docker Muon
137 | ```bash
138 | docker ps
139 | sudo docker kill
140 | sudo docker rm kill
141 | ```
142 |
--------------------------------------------------------------------------------
/Nibiru/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # LINKS
4 | ```WEBSITE``` - https://nibiru.fi/
5 | ```TWITTER``` - https://twitter.com/NibiruChain/
6 | ```DISCORD``` - https://discord.gg/nibiru/
7 | ```GITHUB``` - https://github.com/NibiruChain/
8 | ```GITBOOK``` - https://docs.nibiru.fi/
9 | ```MEDIUM``` - https://blog.nibiru.fi/
10 | ```LINKEDIN``` - https://www.linkedin.com/company/nibiruchain/
11 | # EXPLORERS
12 | ```NIBIRU.FI``` - https://testnet-2.nibiru.fi/
13 | # SOFTWARE REQUIREMENTS
14 | ```
15 | sudo add-apt-repository ppa:longsleep/golang-backports
16 | sudo apt-get update
17 | sudo apt-get install golang-go
18 | go version
19 | sudo apt-get install git
20 | git --version
21 | ```
22 | # INSTALL LAST BINARY
23 | ```
24 | git clone https://github.com/NibiruChain/nibiru
25 | cd nibiru
26 | git checkout v0.19.2
27 | go mod tidy
28 | make install
29 | ```
30 | # INIT THE CONFIG FILES
31 | ```
32 | nibid init --chain-id nibiru-itn-1
33 | nibid config chain-id nibiru-itn-1
34 | ```
35 | # CREATE OR RESTORE A WALLET
36 | ```
37 | nibid keys add
38 | ```
39 | or
40 | ```
41 | nibid keys add --recover
42 | ```
43 | # DOWNLOAD GENESIS
44 | ```
45 | curl https://anode.team/Nibiru/test/genesis.json > ~/.nibid/config/genesis.json
46 | ```
47 | # DOWNLOAD ADDRBOOK
48 | ```
49 | curl https://anode.team/Nibiru/test/addrbook.json > ~/.nibid/config/addrbook.json
50 | ```
51 | # ADD PEERS AND SEEDS
52 | ```
53 | SEEDS=""
54 | PEERS="dd58949cab9bf75a42b556d04d3a4b1bbfadd8b5@144.76.97.251:40656"
55 | sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.nibid/config/config.toml
56 | ```
57 | # ADD MIN GAS
58 | ```
59 | sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025unibi\"/" $HOME/.nibid/config/app.toml
60 | ```
61 | # CREATE THE SERVICE FILE
62 | ```
63 | sudo tee /etc/systemd/system/nibid.service > /dev/null <" \
93 | --identity="" \
94 | --website="" \
95 | --details="" \
96 | --security-contact="" \
97 | --chain-id="nibiru-itn-1" \
98 | --commission-rate="0.10" \
99 | --commission-max-rate="0.20" \
100 | --commission-max-change-rate="0.01" \
101 | --min-self-delegation="1" \
102 | --fees="5000unibi" \
103 | --from=
104 | ```
105 | # STATE-SYNC
106 | ```
107 | SNAP_RPC=65.108.199.120:61757 && \
108 | LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
109 | BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
110 | TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) && \
111 | echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
112 | ```
113 | ```
114 | sudo systemctl stop nibid && nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book
115 | ```
116 | ```
117 | peers="2479ff4d8c0918b95da280319b179f016b5db814@65.108.199.120:61756"
118 | sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.nibid/config/config.toml
119 | ```
120 | ```
121 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
122 | s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
123 | s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
124 | s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
125 | s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.nibid/config/config.toml
126 | ```
127 | ```
128 | curl -o - -L https://anode.team/Nibiru/test/anode.team_nibiru_wasm.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.nibid/data
129 | ```
130 | ```
131 | sudo systemctl restart nibid && journalctl -fu nibid -o cat
132 | ```
133 | # Check VALIDATOR
134 | [Explorer](https://nibiru.explorers.guru/)
135 |
--------------------------------------------------------------------------------
/Nolus/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ### Official
6 | >- [Docs](https://docs-nolus-protocol.notion.site/Nolus-Protocol-Docs-a0ddfe091cc5456183417a68502705f8)
7 |
8 | ### Minimum Hardware :
9 | NODE | CPU | RAM | SSD | OS |
10 | | ------------- | ------------- | ------------- | -------- | -------- |
11 | | NOLUS | 2 | 4 | 120 | Ubuntu 22.00 LTS |
12 |
13 | ### Automatic Installer
14 | ```
15 | wget -O nolus.sh https://github.com/an-node/NODE-TESTNET/blob/main/Nolus/nolus.sh && chmod +x nolus.sh && ./nolus.sh
16 | ```
17 | ### Snapshot
18 | ```
19 | sudo systemctl stop nolusd
20 | cp $HOME/.nolus/data/priv_validator_state.json $HOME/.nolus/data/priv_validator_state.json.backup
21 | rm -rf $HOME/.nolus/data
22 |
23 | curl -L https://snapshots.kjnodes.com/nolus-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.nolus
24 |
25 | mv $HOME/.nolus/data/priv_validator_state.json.backup $HOME/.nolus/data/priv_validator_state.json
26 |
27 | sudo systemctl start nolusd && sudo journalctl -fu nolusd -o cat
28 | ```
29 |
30 | ### State Sync
31 | ```
32 | nolusd tendermint unsafe-reset-all --home $HOME/.nolus --keep-addr-book
33 |
34 | SNAP_RPC="https://rpc.nolus.nodexcapital.com:443"
35 |
36 | LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
37 | BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
38 | TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
39 |
40 | sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
41 | s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
42 | s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
43 | s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.nolus/config/config.toml
44 |
45 | sudo systemctl start nolusd && sudo journalctl -fu nolusd -o cat
46 | ```
47 | ### Seed Peers
48 | ```
49 | sed -i -e "s|^seeds *=.*|seeds = \"3f472746f46493309650e5a033076689996c8881@nolus-testnet.rpc.kjnodes.com:43659\"|" $HOME/.nolus/config/config.toml
50 | ```
51 | ### Addrbook (Update every hour)
52 | ```
53 | curl -Ls https://snapshots.kjnodes.com/nolus-testnet/addrbook.json > $HOME/.nolus/config/addrbook.json
54 | ```
55 | ### Genesis
56 | ```
57 | curl -Ls hhttps://snapshots.kjnodes.com/nolus-testnet/genesis.json > $HOME/.nolus/config/genesis.json
58 | ```
59 |
--------------------------------------------------------------------------------
/Nolus/nolus.sh:
--------------------------------------------------------------------------------
1 | echo -e "\033[0;35m"
2 | echo " ░█████╗░███╗░░██╗███╗░░██╗ ███╗░░██╗░█████╗░██████╗░███████╗ ";
3 | echo " ██╔══██╗████╗░██║████╗░██║ ████╗░██║██╔══██╗██╔══██╗██╔════╝ ";
4 | echo " ███████║██╔██╗██║██╔██╗██║ ██╔██╗██║██║░░██║██║░░██║█████╗░░ ";
5 | echo " ██╔══██║██║╚████║██║╚████║ ██║╚████║██║░░██║██║░░██║██╔══╝░░ ";
6 | echo " ██║░░██║██║░╚███║██║░╚███║ ██║░╚███║╚█████╔╝██████╔╝███████╗ ";
7 | echo " ╚═╝░░╚═╝╚═╝░░╚══╝╚═╝░░╚══╝ ╚═╝░░╚══╝░╚════╝░╚═════╝░╚══════╝ ";
8 | echo -e "\e[0m"
9 |
10 | sleep 1
11 |
12 | # Variable
13 | SOURCE=nolus-core
14 | WALLET=wallet
15 | BINARY=nolusd
16 | CHAIN=nolus-rila
17 | FOLDER=.nolus
18 | VERSION=v0.1.39
19 | DENOM=unls
20 | COSMOVISOR=cosmovisor
21 | REPO=https://github.com/Nolus-Protocol/nolus-core.git
22 | GENESIS=https://snapshots.kjnodes.com/nolus-testnet/genesis.json
23 | ADDRBOOK=https://snapshots.kjnodes.com/nolus-testnet/addrbook.json
24 | PORT=39
25 |
26 | echo "export SOURCE=${SOURCE}" >> $HOME/.bash_profile
27 | echo "export WALLET=${WALLET}" >> $HOME/.bash_profile
28 | echo "export BINARY=${BINARY}" >> $HOME/.bash_profile
29 | echo "export DENOM=${DENOM}" >> $HOME/.bash_profile
30 | echo "export CHAIN=${CHAIN}" >> $HOME/.bash_profile
31 | echo "export FOLDER=${FOLDER}" >> $HOME/.bash_profile
32 | echo "export VERSION=${VERSION}" >> $HOME/.bash_profile
33 | echo "export COSMOVISOR=${COSMOVISOR}" >> $HOME/.bash_profile
34 | echo "export REPO=${REPO}" >> $HOME/.bash_profile
35 | echo "export GENESIS=${GENESIS}" >> $HOME/.bash_profile
36 | echo "export ADDRBOOK=${ADDRBOOK}" >> $HOME/.bash_profile
37 | echo "export PORT=${PORT}" >> $HOME/.bash_profile
38 | source $HOME/.bash_profile
39 |
40 | # Set Vars
41 | if [ ! $NODENAME ]; then
42 | read -p "hello@nodexcapital:~# [ENTER YOUR NODENAME] > " NODENAME
43 | echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile
44 | fi
45 | echo ""
46 | echo -e "YOUR NODE NAME : \e[1m\e[35m$NODENAME\e[0m"
47 | echo -e "NODE CHAIN ID : \e[1m\e[35m$CHAIN\e[0m"
48 | echo -e "NODE PORT : \e[1m\e[35m$PORT\e[0m"
49 | echo ""
50 |
51 | # Package
52 | sudo apt -q update
53 | sudo apt -qy install curl git jq lz4 build-essential
54 | sudo apt -qy upgrade
55 |
56 | # Install GO
57 | sudo rm -rf /usr/local/go
58 | curl -Ls https://go.dev/dl/go1.19.5.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
59 | eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
60 | eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
61 |
62 | # Get testnet version of LAVA
63 | cd $HOME
64 | rm -rf $SOURCE
65 | git clone $REPO
66 | cd $SOURCE
67 | git checkout $VERSION
68 | make build
69 | go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
70 |
71 | # Prepare binaries for Cosmovisor
72 | mkdir -p $HOME/$FOLDER/$COSMOVISOR/genesis/bin
73 | mv target/release/$BINARY $HOME/$FOLDER/$COSMOVISOR/genesis/bin/
74 | rm -rf build
75 |
76 | # Create application symlinks
77 | ln -s $HOME/$FOLDER/$COSMOVISOR/genesis $HOME/$FOLDER/$COSMOVISOR/current
78 | sudo ln -s $HOME/$FOLDER/$COSMOVISOR/current/bin/$BINARY /usr/local/bin/$BINARY
79 |
80 | # Init generation
81 | $BINARY config chain-id $CHAIN
82 | $BINARY config keyring-backend test
83 | $BINARY config node tcp://localhost:${PORT}657
84 | $BINARY init $NODENAME --chain-id $CHAIN
85 |
86 | # Set peers and seeds
87 | PEERS=
88 | SEEDS="3f472746f46493309650e5a033076689996c8881@nolus-testnet.rpc.kjnodes.com:43659"
89 | sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/$FOLDER/config/config.toml
90 | sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/$FOLDER/config/config.toml
91 |
92 | # Download genesis and addrbook
93 | curl -Ls $GENESIS > $HOME/$FOLDER/config/genesis.json
94 | curl -Ls $ADDRBOOK > $HOME/$FOLDER/config/addrbook.json
95 |
96 | # Set Port
97 | 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
98 | 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
99 |
100 | # Set Config Pruning
101 | pruning="custom"
102 | pruning_keep_recent="100"
103 | pruning_keep_every="0"
104 | pruning_interval="10"
105 | sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/$FOLDER/config/app.toml
106 | sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/$FOLDER/config/app.toml
107 | sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/$FOLDER/config/app.toml
108 | sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/$FOLDER/config/app.toml
109 |
110 | # Set minimum gas price
111 | sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025$DENOM\"/" $HOME/$FOLDER/config/app.toml
112 |
113 | # Enable snapshots
114 | sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"2000\"/" $HOME/$FOLDER/config/app.toml
115 | $BINARY tendermint unsafe-reset-all --home $HOME/$FOLDER --keep-addr-book
116 | curl -L https://snapshots.kjnodes.com/nolus-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/$FOLDER
117 |
118 | # Create Service
119 | sudo tee /etc/systemd/system/$BINARY.service > /dev/null << EOF
120 | [Unit]
121 | Description=$BINARY
122 | After=network-online.target
123 |
124 | [Service]
125 | User=$USER
126 | ExecStart=$(which cosmovisor) run start
127 | Restart=on-failure
128 | RestartSec=10
129 | LimitNOFILE=65535
130 | Environment="DAEMON_HOME=$HOME/$FOLDER"
131 | Environment="DAEMON_NAME=$BINARY"
132 | Environment="UNSAFE_SKIP_BACKUP=true"
133 |
134 | [Install]
135 | WantedBy=multi-user.target
136 | EOF
137 |
138 | # Register And Start Service
139 | sudo systemctl start $BINARY
140 | sudo systemctl daemon-reload
141 | sudo systemctl enable $BINARY
142 |
143 | echo -e "\e[1m\e[35mSETUP FINISHED\e[0m"
144 | echo ""
145 | echo -e "CHECK STATUS BINARY : \e[1m\e[35msystemctl status $BINARY\e[0m"
146 | echo -e "CHECK RUNNING LOGS : \e[1m\e[35mjournalctl -fu $BINARY -o cat\e[0m"
147 | echo -e "CHECK LOCAL STATUS : \e[1m\e[35mcurl -s localhost:${PORT}657/status | jq .result.sync_info\e[0m"
148 | echo ""
149 |
150 | # End
151 |
--------------------------------------------------------------------------------
/Q Blockchain/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 |
4 | # Install Q-Blockchain
5 |
6 | [Docs](https://docs.qtestnet.org/how-to-setup-validator/)
7 |
8 | [Faucet](https://faucet.qtestnet.org/)
9 |
10 | [Explorer](https://explorer.qtestnet.org/)
11 |
12 | [Validator](https://stats.qtestnet.org/)
13 |
14 | ## Minimum Spec Hardware :
15 | NODE | CPU | RAM | SSD | OS |
16 | | ------------- | ------------- | ------------- | -------- | -------- |
17 | | Q Block | 4 | 4 | 500 | Ubuntu 20.04 LTS |
18 |
19 |
20 | ### Dependensi
21 |
22 | ```
23 | apt install git docker docker-compose
24 | ```
25 |
26 | ### Q-Blockchain
27 |
28 | ```
29 | git clone https://gitlab.com/q-dev/testnet-public-tools.git
30 | ```
31 |
32 | ```
33 | cd testnet-public-tools/testnet-validator
34 | ```
35 |
36 | ```
37 | mkdir keystore
38 | ```
39 |
40 | ```
41 | nano keystore/pwd.txt
42 | ```
43 | ```
44 | cat keystore/pwd.txt
45 | ```
46 |
47 | ### Create Wallet
48 | ```
49 | docker run --entrypoint="" --rm -v $PWD:/data -it qblockchain/q-client:testnet geth account new --datadir=/data --password=/data/keystore/pwd.txt
50 | ```
51 | ```
52 | Your new key was generated
53 |
54 | Public address of the key: 0xb3FF24F818b0ff6Cc50de951bcB8f86b52287dac
55 | Path of the secret key file: /data/keystore/UTC--2021-01-18T11-36-28.705754426Z--b3ff24f818b0ff6cc50de951bcb8f86b52287dac
56 |
57 | - You can share your public address with anyone. Others need it to interact with you.
58 | - You must NEVER share the secret key with anyone! The key controls access to your funds!
59 | - You must BACKUP your key file! Without the key, it's impossible to access account funds!
60 | - You must REMEMBER your password! Without the password, it's impossible to decrypt the key!
61 | ```
62 |
63 | ### Claim faucet
64 |
65 | [Claim](https://faucet.qtestnet.org/)
66 |
67 | ### Edit `.env`
68 |
69 | ```
70 | nano .env
71 | ```
72 |
73 | ### Edit `config.json`
74 |
75 | ```
76 | nano config.json
77 | ```
78 |
79 | Example:
80 |
81 | ```js
82 | {
83 | "address": "Replace your address + Remove 0x ",
84 | "password": "Your Password",
85 | "keystoreDirectory": "/data",
86 | "rpc": "https://rpc.qtestnet.org"
87 | }
88 |
89 | ```
90 | ### Move stake to validator contract
91 |
92 | ```
93 | docker run --rm -v $PWD:/data -v $PWD/config.json:/build/config.json qblockchain/js-interface:testnet validators.js
94 | ```
95 | ### Register Validator
96 | ```
97 | nano docker-compose.yaml
98 | ```
99 | Example :
100 | ```
101 | "--ethstats=NAMA_VALIDATOR:TESTNET_ACCESS_KEY@stats.qtestnet.org",
102 | ```
103 | ### Run Validator
104 | ```
105 | docker-compose up -d
106 | ```
107 | Check Log
108 | ```
109 | docker-compose logs -f --tail "100"
110 | ```
111 | [Find Name Validator](https://stats.qtestnet.org/)
112 |
113 | ### Update Q-Client
114 | ```
115 | cd $HOME/testnet-public-tools/testnet-validator
116 | ```
117 | ```
118 | git stash && git pull
119 | ```
120 | ```
121 | git stash apply && docker-compose pull
122 | ```
123 |
124 | ### Restart Docker
125 | ```
126 | docker-compose up -d
127 | ```
128 | # New Update
129 | ```
130 | cd /var/lib/docker/volumes/testnet-validator_testnet-validator-node-data/_data/geth/chaindata/
131 | ```
132 | ### Download
133 | ```
134 | wget -O - https://snapshots.stakecraft.com/q-testnet-latest.tar | tar xf -
135 | ```
136 | ### Restart Node
137 | ```
138 | cd $HOME/testnet-public-tools/testnet-validator && docker-compose down && docker-compose up -d
139 | ```
140 | ### Check logs
141 | ```
142 | docker-compose logs -f --tail "100"
143 | ```
144 | ### Check Status Node
145 |
146 | [Connect](https://itn.qdev.li/) With Walet Metamask
147 |
148 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tutorial Stader Node ETHx Rolling beta
2 |
3 |
4 |
5 |
6 |
7 |
8 | ## Referensi
9 |
10 | * [Testnet Announcement](https://blog.staderlabs.com/launching-ethx-rolling-beta-on-goerli-testnet-for-permissionless-node-operators-56cf15d05255)
11 | * [Dokumen resmi](https://staderlabs.notion.site/staderlabs/ETHx-Rolling-beta-Support-Guide-3039a5cbf7c449e3982aa7dbd6c68199)
12 | * [Website](https://www.staderlabs.com/)
13 | * [Server discord](https://discord.gg/staderlabs)
14 | * [Twitter](https://twitter.com/staderlabs)
15 |
16 | ## Spesifikasi Software & Hardware
17 |
18 | ### Persyaratan Hardware
19 |
20 | | Komponen | Spesifikasi minimal |
21 | |----------|---------------------|
22 | |CPU|4 Cores|
23 | |RAM|16 GB DDR4 RAM|
24 | |Penyimpanan|2 TB HDD|
25 | |Koneksi|10Mbit/s port|
26 |
27 | | Komponen | Spesifikasi rekomendasi |
28 | |----------|---------------------|
29 | |CPU|32 Cores|
30 | |RAM|32 GB DDR4 RAM|
31 | |Penyimpanan|2 x 1 TB NVMe SSD|
32 | |Koneksi|1 Gbit/s port|
33 |
34 | ### Persyaratan Software/OS
35 |
36 | | Komponen | Spesifikasi minimal |
37 | |----------|---------------------|
38 | |Sistem Operasi|Ubuntu 16.04|
39 |
40 | | Komponen | Spesifikasi rekomendasi |
41 | |----------|---------------------|
42 | |Sistem Operasi|Ubuntu 22.04|
43 |
44 | ## Setup Node
45 |
46 | ### Install docker
47 |
48 | Jika kalian kalian pernah ikut Q-Blockchain dan testnet node lainnya kemungkinan kalian sudah pernah install docker, jadi bisa skip langkah ini.
49 |
50 | 1. Update `apt-get` dan install paket yang diperlukan
51 | ```console
52 | sudo apt-get update
53 | sudo apt-get install \
54 | ca-certificates \
55 | curl \
56 | gnupg \
57 | lsb-release
58 | ```
59 | 2. Tambahkan kunci GPG docker
60 | ```console
61 | sudo mkdir -p /etc/apt/keyrings
62 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
63 | ```
64 | 3. Setup repositori
65 | ```console
66 | echo \
67 | "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
68 | $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
69 | ```
70 | 4. Install docker
71 | ```console
72 | sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
73 | ```
74 | 5. Cek apakah docker sudah terinstall dengan benar
75 | ```console
76 | sudo docker run hello-world
77 | ```
78 |
79 | ### Install Node
80 | 1. Download Node
81 | ```console
82 | wget https://dub.sh/linuxamd64 -O ~/bin/stader-cli
83 | ```
84 | 2. Masuk ke direktori bin
85 | ```console
86 | cd $HOME/bin
87 | ```
88 | 3. Ubah file menjadi executable
89 | ```console
90 | chmod +x ~/bin/stader-cli
91 | ```
92 | 4. Restart terminal
93 | ```console
94 | bash
95 | ```
96 | 5. Install service
97 | ```console
98 | ~/bin/stader-cli --allow-root service install
99 | ```
100 | 6. Jalankan Node wizard
101 | ```console
102 | ~/bin/stader-cli --allow-root service config
103 | ```
104 | Nanti akan muncul menu GUI, kalian ikuti aja step-stepnya, pake arrow keys di keyboard buat navigasi & enter buat pilih jawaban
105 |
106 | 1. Goerli Network
107 | 2. Locally managed
108 | 3. System-recommended
109 | 4. System-recommended
110 | 5. Isi moniker/graffiti/usernamemu (bebas)
111 | 6. https://beaconstate-goerli.chainsafe.io/
112 | 7. Yes
113 | 8. No
114 | 9. Yes
115 | 10. Locally managed
116 | 11. Pilih regulated terus next
117 | 12. Save and exit
118 | 13. y
119 | 14. y
120 |
121 | Tunggu sampe sync (1-3 hari)
122 |
123 | ### Daftarkan validator
124 | 1. Pastikan Node kalian sudah sync
125 | ```console
126 | ~/bin/stader-cli --allow-root node sync
127 | ```
128 |
129 | Kalo outputnya gini berarti node kalian sudah sync
130 | ```console
131 | Your primary execution client is fully synced.
132 | Your primary consensus client is fully synced.
133 | ```
134 | 2. Buat dompet
135 | ```console
136 | stader-cli --allow-root wallet init
137 | ```
138 |
139 | 1. Pilih Y
140 | 2. Masukan password (bebas 12 character)
141 | 3. Salin mnemonic
142 | 4. Masukin 24
143 | 5. Paste mnemonic tadi sesuai urutan (per kata)
144 | 6. Salin node key
145 |
146 | 3. Claim faucet
147 | 1. Join server [discord](https://discord.gg/staderlabs)
148 | 2. Masuk ke channel [#ethxclusives-permisionless-node-operators](https://discord.com/channels/839544036984750120/1079816702017155072)
149 | 3. Send chat `!interested`
150 | 4. Tunggu sampe kalian diapprove jadi beta tester
151 | 5. Masuk ke channel [#ethx-rolling-beta-test](https://discord.com/channels/839544036984750120/1089835916274708490)
152 | 6. Paste Node key kalian (Jangan spam, cukup sekali aja), contoh
153 | ```console
154 | Your Stader Node is currently using the Goerli Test Network.
155 |
156 | The node wallet is initialized.
157 | Node account: 0x0000000000000000000000000000000000000000
158 | ```
159 | 4. Daftar validator
160 | ```console
161 | ~/bin/stader-cli --allow-root node register --on
162 | ```
163 |
164 | Ganti moniker terserah kalian, contoh:
165 |
166 | ```console
167 | ~/bin/stader-cli --allow-root node register --on node123
168 | ```
169 | 5. Deposit SD
170 | ```console
171 | ~/bin/stader-cli --allow-root node deposit-sd --amount 640
172 | ```
173 | 6. Deposit 4 ETH
174 | ```console
175 | ~/bin/stader-cli --allow-root node deposit --num-validators 1
176 | ```
177 | 7. Cek status
178 | ```console
179 | ~/bin/stader-cli --allow-root node status
180 | ```
181 |
182 | ## Perintah berguna
183 |
184 | ### Cek service status
185 | ```console
186 | ~/bin/stader-cli --allow-root service status
187 | ```
188 |
189 | ### Cek service logs
190 | ```console
191 | ~/bin/stader-cli --allow-root service logs
192 | ```
193 |
194 | ### Cek node status
195 | ```console
196 | ~/bin/stader-cli --allow-root node status
197 | ```
198 |
199 | ## Troubleshoot
200 | Reserved
--------------------------------------------------------------------------------
/Shardeum/README.md:
--------------------------------------------------------------------------------
1 | # SHARDEUM
2 |
3 | 
4 |
5 | ## Referensi
6 | * [Website](https://www.shardeum.org/)
7 | * [Document](https://docs.shardeum.org/node/run/validator)
8 | * [RPC](https://docs.shardeum.org/Network/Endpoints#connect-wallet)
9 | * [Faucet](https://docs.shardeum.org/Faucet/Claim#shardeum-faucet-website)
10 | * [Discord](https://discord.com/invite/shardeum)
11 |
12 |
13 | ### Minimum Specification
14 | NODE | CPU | RAM | SSD |
15 | | ------------- | ------------- | ------------- | -------- |
16 | | Testnet | 4 | 8 | 250 |
17 |
18 |
19 | ### Install curl
20 | ```
21 | sudo apt-get install curl
22 | ```
23 | ### Update
24 | ```
25 | sudo apt update
26 | ```
27 | ### Install docker
28 | ```
29 | sudo apt install docker.io
30 | ```
31 | ### Install docker-compose
32 | ```
33 | sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
34 | ```
35 | ### Setup permissions for docker-compose
36 | ```
37 | sudo chmod +x /usr/local/bin/docker-compose
38 | ```
39 | ### Download and install validator
40 | ```
41 | curl -O https://gitlab.com/shardeum/validator/dashboard/-/raw/main/installer.sh && chmod +x installer.sh && ./installer.sh
42 | ```
43 | ### Download and install validator
44 | ```
45 | curl -O https://gitlab.com/shardeum/validator/dashboard/-/raw/main/installer.sh && chmod +x installer.sh && ./installer.sh
46 | ```
47 | ```
48 | Do you want to run the web based Dashboard? (y/n): Y
49 | ```
50 | ### Set a password for dashboard access:
51 | ```
52 | Set the password to access the Dashboard: input your password
53 | ```
54 | ### Add a custom session port for the web based dashboard or hit enter for port 8080:
55 | ```
56 | Enter the port (1025-65536) to access the web based Dashboard (default 8080): ENTER
57 | ```
58 | ### Add a custom path or install to root:
59 | ```
60 | What base directory should the node use (defaults to ~/.shardeum): ENTER
61 | ```
62 | ### Open validator CLI
63 | ```
64 | cd
65 | ```
66 | ```
67 | cd .shardeum
68 | ```
69 | ```
70 | ./shell.sh
71 | ```
72 | ```
73 | operator-cli gui start
74 | ```
75 | ### Stake SHM
76 | Open Browser
77 | ```
78 | https://localhost:8080/
79 | ```
80 | ```
81 | Input password
82 | ```
83 | ```
84 | Select tab 'Maintenance` select `Start Node`
85 | ```
86 | ```
87 | Claim [faucet](https://faucet-sphinx.shardeum.org/) (Input New address ERC-20)
88 | ```
89 | ```
90 | Select 'validator' in dashboard, Select `Settings`
91 | ```
92 | ```
93 | Connect Metamask
94 | ```
95 | ```
96 | 'Add stake` Input SHM MInimum 10 SHM for Stake
97 | ```
98 | ```
99 | operator-cli start
100 | ```
101 | ```
102 | operator-cli stop
103 | ```
104 | ```
105 | operator-cli status
106 | ```
107 |
--------------------------------------------------------------------------------
/Stader Node ETHx Rolling beta:
--------------------------------------------------------------------------------
1 | # Tutorial Stader Node ETHx Rolling beta
2 |
3 |
4 |
5 |
6 |
7 |
8 | ## Referensi
9 |
10 | * [Testnet Announcement](https://blog.staderlabs.com/launching-ethx-rolling-beta-on-goerli-testnet-for-permissionless-node-operators-56cf15d05255)
11 | * [Dokumen resmi](https://staderlabs.notion.site/staderlabs/ETHx-Rolling-beta-Support-Guide-3039a5cbf7c449e3982aa7dbd6c68199)
12 | * [Website](https://www.staderlabs.com/)
13 | * [Server discord](https://discord.gg/staderlabs)
14 | * [Twitter](https://twitter.com/staderlabs)
15 |
16 | ## Spesifikasi Software & Hardware
17 |
18 | ### Persyaratan Hardware
19 |
20 | | Komponen | Spesifikasi minimal |
21 | |----------|---------------------|
22 | |CPU|4 Cores|
23 | |RAM|16 GB DDR4 RAM|
24 | |Penyimpanan|2 TB HDD|
25 | |Koneksi|10Mbit/s port|
26 |
27 | | Komponen | Spesifikasi rekomendasi |
28 | |----------|---------------------|
29 | |CPU|32 Cores|
30 | |RAM|32 GB DDR4 RAM|
31 | |Penyimpanan|2 x 1 TB NVMe SSD|
32 | |Koneksi|1 Gbit/s port|
33 |
34 | ### Persyaratan Software/OS
35 |
36 | | Komponen | Spesifikasi minimal |
37 | |----------|---------------------|
38 | |Sistem Operasi|Ubuntu 16.04|
39 |
40 | | Komponen | Spesifikasi rekomendasi |
41 | |----------|---------------------|
42 | |Sistem Operasi|Ubuntu 22.04|
43 |
44 | ## Setup Node
45 |
46 | ### Install docker
47 |
48 | Jika kalian kalian pernah ikut Q-Blockchain dan testnet node lainnya kemungkinan kalian sudah pernah install docker, jadi bisa skip langkah ini.
49 |
50 | 1. Update `apt-get` dan install paket yang diperlukan
51 | ```console
52 | sudo apt-get update
53 | sudo apt-get install \
54 | ca-certificates \
55 | curl \
56 | gnupg \
57 | lsb-release
58 | ```
59 | 2. Tambahkan kunci GPG docker
60 | ```console
61 | sudo mkdir -p /etc/apt/keyrings
62 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
63 | ```
64 | 3. Setup repositori
65 | ```console
66 | echo \
67 | "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
68 | $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
69 | ```
70 | 4. Install docker
71 | ```console
72 | sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
73 | ```
74 | 5. Cek apakah docker sudah terinstall dengan benar
75 | ```console
76 | sudo docker run hello-world
77 | ```
78 |
79 | ### Install Node
80 | 1. Download Node
81 | ```console
82 | wget https://dub.sh/linuxamd64 -O ~/bin/stader-cli
83 | ```
84 | 2. Masuk ke direktori bin
85 | ```console
86 | cd $HOME/bin
87 | ```
88 | 3. Ubah file menjadi executable
89 | ```console
90 | chmod +x ~/bin/stader-cli
91 | ```
92 | 4. Restart terminal
93 | ```console
94 | bash
95 | ```
96 | 5. Install service
97 | ```console
98 | ~/bin/stader-cli --allow-root service install
99 | ```
100 | 6. Jalankan Node wizard
101 | ```console
102 | ~/bin/stader-cli --allow-root service config
103 | ```
104 | Nanti akan muncul menu GUI, kalian ikuti aja step-stepnya, pake arrow keys di keyboard buat navigasi & enter buat pilih jawaban
105 |
106 | 1. Goerli Network
107 | 2. Locally managed
108 | 3. System-recommended
109 | 4. System-recommended
110 | 5. Isi moniker/graffiti/usernamemu (bebas)
111 | 6. https://beaconstate-goerli.chainsafe.io/
112 | 7. Yes
113 | 8. No
114 | 9. Yes
115 | 10. Locally managed
116 | 11. Pilih regulated terus next
117 | 12. Save and exit
118 | 13. y
119 | 14. y
120 |
121 | Tunggu sampe sync (1-3 hari)
122 |
123 | ### Daftarkan validator
124 | 1. Pastikan Node kalian sudah sync
125 | ```console
126 | ~/bin/stader-cli --allow-root node sync
127 | ```
128 |
129 | Kalo outputnya gini berarti node kalian sudah sync
130 | ```console
131 | Your primary execution client is fully synced.
132 | Your primary consensus client is fully synced.
133 | ```
134 | 2. Buat dompet
135 | ```console
136 | stader-cli --allow-root wallet init
137 | ```
138 |
139 | 1. Pilih Y
140 | 2. Masukan password (bebas 12 character)
141 | 3. Salin mnemonic
142 | 4. Masukin 24
143 | 5. Paste mnemonic tadi sesuai urutan (per kata)
144 | 6. Salin node key
145 |
146 | 3. Claim faucet
147 | 1. Join server [discord](https://discord.gg/staderlabs)
148 | 2. Masuk ke channel [#ethxclusives-permisionless-node-operators](https://discord.com/channels/839544036984750120/1079816702017155072)
149 | 3. Send chat `!interested`
150 | 4. Tunggu sampe kalian diapprove jadi beta tester
151 | 5. Masuk ke channel [#ethx-rolling-beta-test](https://discord.com/channels/839544036984750120/1089835916274708490)
152 | 6. Paste Node key kalian (Jangan spam, cukup sekali aja), contoh
153 | ```console
154 | Your Stader Node is currently using the Goerli Test Network.
155 |
156 | The node wallet is initialized.
157 | Node account: 0x0000000000000000000000000000000000000000
158 | ```
159 | 4. Daftar validator
160 | ```console
161 | ~/bin/stader-cli --allow-root node register --on
162 | ```
163 |
164 | Ganti moniker terserah kalian, contoh:
165 |
166 | ```console
167 | ~/bin/stader-cli --allow-root node register --on node123
168 | ```
169 | 5. Deposit SD
170 | ```console
171 | ~/bin/stader-cli --allow-root node deposit-sd --amount 640
172 | ```
173 | 6. Deposit 4 ETH
174 | ```console
175 | ~/bin/stader-cli --allow-root node deposit --num-validators 1
176 | ```
177 | 7. Cek status
178 | ```console
179 | ~/bin/stader-cli --allow-root node status
180 | ```
181 |
182 | ## Perintah berguna
183 |
184 | ### Cek service status
185 | ```console
186 | ~/bin/stader-cli --allow-root service status
187 | ```
188 |
189 | ### Cek service logs
190 | ```console
191 | ~/bin/stader-cli --allow-root service logs
192 | ```
193 |
194 | ### Cek node status
195 | ```console
196 | ~/bin/stader-cli --allow-root node status
197 | ```
198 |
199 | ## Troubleshoot
200 | Reserved
201 |
--------------------------------------------------------------------------------
/Wormholes/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | # Update Wormholes v.0.12.0
6 | Especially for new VPS, this method does not apply to updates on previous VPS where there is already a worm node
7 |
8 | [NEW REGISTER](https://twitter.com/WormholesChain/status/1622533966782955520?t=Vr_iyHqOEDsPTeUUiBhkLQ&s=19)
9 |
10 | ### Spesifikasi Hardware :
11 | NODE | CPU | RAM | SSD |
12 | | ------------- | ------------- | ------------- | -------- |
13 | | Testnet | 4 | 8 | 120 |
14 |
15 | ### Stop Docker & Delete
16 | ```
17 | docker stop wormholes && docker rm wormholes && docker rmi wormholestech/wormholes:v1
18 | ```
19 | ### Delete worm sh
20 | ```
21 | rm -rf wormholes_install.sh
22 | ```
23 | ### Delete Folder
24 | ```
25 | rm -rf /wm/
26 | ```
27 | ### Update Worm
28 | ```
29 | wget -O wormholes_install.sh https://docker.wormholes.com/wormholes_install.sh && chmod +x wormholes_install.sh && ./wormholes_install.sh
30 | ```
31 | ### Input Private Key
32 | ```
33 | input private key
34 | ```
35 | ### Check Version
36 | ```
37 | docker exec -it wormholes ./wormholes version|grep "Version"|grep -v go
38 | ```
39 | ### Result
40 | ```
41 | wormholes v0.12.0
42 | ```
43 | ### RUN
44 | ```
45 | ./monitor.sh
46 | ```
47 | OR Just Paste on CLI
48 | ```
49 | #!/bin/bash
50 | function info(){
51 | cn=0
52 | while true
53 | do
54 | echo "$cn second."
55 | echo "node $1"
56 | rs=`curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","id":64}' https://api.wormholestest.com 2>/dev/null`
57 | blockNumbers=$(parse_json $rs "result")
58 | echo "Block height of the whole network: $((16#${blockNumbers:2}))"
59 | rs1=`curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"net_peerCount","id":64}' 127.0.0.1:$1 2>/dev/null`
60 | count=$(parse_json $rs1 "result")
61 | echo "Number of node connections: $((16#${count:2}))"
62 | rs2=`curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","id":64}' 127.0.0.1:$1 2>/dev/null`
63 | blckNumber=$(parse_json $rs2 "result")
64 | echo "Block height of the current peer: $((16#${blckNumber:2}))"
65 | sleep 5
66 | clear
67 | let cn+=5
68 | done
69 | }
70 |
71 | function parse_json(){
72 | if [[ $# -gt 1 ]] && [[ $1 =~ $2 ]];then
73 | echo "${1//\"/}"|sed "s/.*$2:\([^,}]*\).*/\1/"
74 | else
75 | echo "0x0"
76 | fi
77 | }
78 |
79 | function main(){
80 | if [[ $# -eq 0 ]];then
81 | info 8545
82 | else
83 | info $1
84 | fi
85 | }
86 |
87 | main "$@"
88 | ```
89 | ### Result
90 |
91 | 
92 |
93 | ### Stake ERB in [Wallet](https://www.limino.com/#/wallet)
94 | - More Setting
95 | - Select Become Validator
96 | - Stake 70000 ERB
97 | - Monitor Stake in [Explorer](https://www.wormholesscan.com/)
98 |
99 | ### Additional If have 700 ERB Stake SNFT in [Wallet](https://www.limino.com/#/wallet)
100 | - More Setting
101 | - Select Marketplace Management
102 | - Select Staking & Redemtion
103 | - Stake 700 ERB
104 | - Monitor Stake in [Explorer](https://www.wormholesscan.com/)
105 |
106 | ### Delete Node
107 | ```
108 | systemctl stop wormholesd
109 | systemctl disable wormholesd
110 | rm -rf /usr/local/bin/wormholes
111 | rm -rf wormholes
112 | rm -rf wormholes.sh
113 | rm -rf .wormholes
114 | ```
115 |
--------------------------------------------------------------------------------
/Wormholes/monitor.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | function info(){
3 | cn=0
4 | while true
5 | do
6 | echo "$cn second."
7 | echo "node $1"
8 | rs=`curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","id":64}' https://api.wormholestest.com 2>/dev/null`
9 | blockNumbers=$(parse_json $rs "result")
10 | echo "Block height of the whole network: $((16#${blockNumbers:2}))"
11 | rs1=`curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"net_peerCount","id":64}' 127.0.0.1:$1 2>/dev/null`
12 | count=$(parse_json $rs1 "result")
13 | echo "Number of node connections: $((16#${count:2}))"
14 | rs2=`curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","id":64}' 127.0.0.1:$1 2>/dev/null`
15 | blckNumber=$(parse_json $rs2 "result")
16 | echo "Block height of the current peer: $((16#${blckNumber:2}))"
17 | sleep 5
18 | clear
19 | let cn+=5
20 | done
21 | }
22 |
23 | function parse_json(){
24 | if [[ $# -gt 1 ]] && [[ $1 =~ $2 ]];then
25 | echo "${1//\"/}"|sed "s/.*$2:\([^,}]*\).*/\1/"
26 | else
27 | echo "0x0"
28 | fi
29 | }
30 |
31 | function main(){
32 | if [[ $# -eq 0 ]];then
33 | info 8545
34 | else
35 | info $1
36 | fi
37 | }
38 |
39 | main "$@"
--------------------------------------------------------------------------------
/Wormholes/wormholes.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #update package
4 | sudo apt update && sudo apt list --upgradable && sudo apt upgrade -y
5 |
6 | #install library
7 | sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu net-tools -y
8 |
9 | #install go
10 | ver="1.19" && \
11 | wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
12 | sudo rm -rf /usr/local/go && \
13 | sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
14 | rm "go$ver.linux-amd64.tar.gz" && \
15 | echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
16 | source $HOME/.bash_profile && \
17 | go version
18 |
19 | #install binary
20 | cd $HOME
21 | git clone https://github.com/wormholes-org/wormholes
22 | cd wormholes
23 | make wormholes
24 | mv build/bin/wormholes /usr/local/bin
25 |
26 | #create service
27 | tee /etc/systemd/system/wormholesd.service > /dev/null <