Add bootnodes and Update images folder (#47 (comment))
Signed-off-by: Doctor K <doctor_whoami@ghostchain.io>
90
README.md
@ -24,19 +24,19 @@ If you want to connect to your node-machine, allow connection to the SSH port
|
|||||||
```bash
|
```bash
|
||||||
sudo ufw allow ssh
|
sudo ufw allow ssh
|
||||||
```
|
```
|
||||||
![readme_images/img.png](readme_images/img.png)
|
![images/img.png](images/img.png)
|
||||||
|
|
||||||
Enable firewall, confirm the operation
|
Enable firewall, confirm the operation
|
||||||
```bash
|
```bash
|
||||||
sudo ufw enable
|
sudo ufw enable
|
||||||
```
|
```
|
||||||
![readme_images/img_1.png](readme_images/img_1.png)
|
![images/img_1.png](images/img_1.png)
|
||||||
|
|
||||||
Check firewall status. You should see `Status: active`
|
Check firewall status. You should see `Status: active`
|
||||||
```bash
|
```bash
|
||||||
sudo ufw numbered
|
sudo ufw numbered
|
||||||
```
|
```
|
||||||
![readme_images/img_2.png](readme_images/img_2.png)
|
![images/img_2.png](images/img_2.png)
|
||||||
|
|
||||||
# SSH
|
# SSH
|
||||||
## Install SSH
|
## Install SSH
|
||||||
@ -71,7 +71,7 @@ sudo systemctl status ssh
|
|||||||
|
|
||||||
You should be seeing something like this:
|
You should be seeing something like this:
|
||||||
|
|
||||||
![readme_images/img_3.png](readme_images/img_3.png)
|
![images/img_3.png](images/img_3.png)
|
||||||
|
|
||||||
## Connect by SSH
|
## Connect by SSH
|
||||||
|
|
||||||
@ -89,13 +89,13 @@ Allow `port 30333` on GHOST Node:
|
|||||||
```bash
|
```bash
|
||||||
sudo ufw allow 30333
|
sudo ufw allow 30333
|
||||||
```
|
```
|
||||||
![readme_images/img_5.png](readme_images/img_5.png)
|
![images/img_5.png](images/img_5.png)
|
||||||
|
|
||||||
To ensure that the ports are allowed, run the following command:
|
To ensure that the ports are allowed, run the following command:
|
||||||
```bash
|
```bash
|
||||||
sudo ufw numbered
|
sudo ufw numbered
|
||||||
```
|
```
|
||||||
![readme_images/img_6.png](readme_images/img_6.png)
|
![images/img_6.png](images/img_6.png)
|
||||||
|
|
||||||
## Install Substrate Libraries
|
## Install Substrate Libraries
|
||||||
Click [here](https://docs.substrate.io/install/linux/) for a detailed Rust guide if you want to dive deep into the documentation. Otherwise let's proceed.
|
Click [here](https://docs.substrate.io/install/linux/) for a detailed Rust guide if you want to dive deep into the documentation. Otherwise let's proceed.
|
||||||
@ -120,7 +120,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|||||||
|
|
||||||
Press Enter for using default options:
|
Press Enter for using default options:
|
||||||
|
|
||||||
![readme_images/img_7.png](readme_images/img_7.png)
|
![images/img_7.png](images/img_7.png)
|
||||||
|
|
||||||
Update your current shell to include Cargo by running the following command:
|
Update your current shell to include Cargo by running the following command:
|
||||||
```bash
|
```bash
|
||||||
@ -134,7 +134,7 @@ rustc --version
|
|||||||
|
|
||||||
You should see something like this:
|
You should see something like this:
|
||||||
|
|
||||||
![readme_images/img_8.png](readme_images/img_8.png)
|
![images/img_8.png](images/img_8.png)
|
||||||
|
|
||||||
Configure the Rust toolchain to default to the latest stable version by running the following commands:
|
Configure the Rust toolchain to default to the latest stable version by running the following commands:
|
||||||
```bash
|
```bash
|
||||||
@ -175,8 +175,8 @@ rustup +nightly show
|
|||||||
|
|
||||||
You should see something like this:
|
You should see something like this:
|
||||||
|
|
||||||
![readme_images/img_9.png](readme_images/img_9.png)
|
![images/img_9.png](images/img_9.png)
|
||||||
![readme_images/img_10.png](readme_images/img_10.png)
|
![images/img_10.png](images/img_10.png)
|
||||||
|
|
||||||
Now run:
|
Now run:
|
||||||
```bash
|
```bash
|
||||||
@ -196,7 +196,7 @@ Check if Git is already installed:
|
|||||||
```bash
|
```bash
|
||||||
git --version
|
git --version
|
||||||
```
|
```
|
||||||
![readme_images/img_11.png](readme_images/img_11.png)
|
![images/img_11.png](images/img_11.png)
|
||||||
|
|
||||||
Make a GHOST Directory and go to it:
|
Make a GHOST Directory and go to it:
|
||||||
```bash
|
```bash
|
||||||
@ -220,7 +220,7 @@ cargo build --release
|
|||||||
|
|
||||||
The build can take up to 20 minutes depending on the specifications of your machine.
|
The build can take up to 20 minutes depending on the specifications of your machine.
|
||||||
|
|
||||||
![readme_images/img_12.png](readme_images/img_12.png)
|
![images/img_12.png](images/img_12.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ Then we must determine the public IP for your GHOST Node Machine.
|
|||||||
```bash
|
```bash
|
||||||
curl -4 icanhazip.com
|
curl -4 icanhazip.com
|
||||||
```
|
```
|
||||||
![readme_images/img_13.png](readme_images/img_13.png)
|
![images/img_13.png](images/img_13.png)
|
||||||
|
|
||||||
Then type the following command replacing `<YOUR_IP_FROM_PREVIOUS_STEP>` with an actual IP address from previous step:
|
Then type the following command replacing `<YOUR_IP_FROM_PREVIOUS_STEP>` with an actual IP address from previous step:
|
||||||
```bash
|
```bash
|
||||||
@ -252,11 +252,11 @@ traceroute <YOUR_IP_FROM_PREVIOUS_STEP>
|
|||||||
|
|
||||||
If your GHOST Node is **not behind a NAT** your terminal window should look something like this:
|
If your GHOST Node is **not behind a NAT** your terminal window should look something like this:
|
||||||
|
|
||||||
![readme_images/img_14.png](readme_images/img_14.png)
|
![images/img_14.png](images/img_14.png)
|
||||||
|
|
||||||
If your GHOST Node is **behind NAT** your terminal window should look something like this:
|
If your GHOST Node is **behind NAT** your terminal window should look something like this:
|
||||||
|
|
||||||
![readme_images/img_15.png](readme_images/img_15.png)
|
![images/img_15.png](images/img_15.png)
|
||||||
|
|
||||||
If your GHOST Node is NOT behind the NAT then your node can be a Boot Node.
|
If your GHOST Node is NOT behind the NAT then your node can be a Boot Node.
|
||||||
If your GHOST Node is behind the NAT then your node CANNOT be a Boot Node
|
If your GHOST Node is behind the NAT then your node CANNOT be a Boot Node
|
||||||
@ -279,7 +279,7 @@ Check the ports that are opened on your firewall:
|
|||||||
```bash
|
```bash
|
||||||
sudo ufw numbered
|
sudo ufw numbered
|
||||||
```
|
```
|
||||||
![readme_images/img_16.png](readme_images/img_16.png)
|
![images/img_16.png](images/img_16.png)
|
||||||
|
|
||||||
If `port 9945` is opened then close it:
|
If `port 9945` is opened then close it:
|
||||||
```bash
|
```bash
|
||||||
@ -290,7 +290,7 @@ sudo ufw deny 9945
|
|||||||
|
|
||||||
Enable port forwarding for port 30333 on your router. Be mindful that different networks and routers have different ways of setting this up. It is best to search for portforwarding instruction for the specific router model.
|
Enable port forwarding for port 30333 on your router. Be mindful that different networks and routers have different ways of setting this up. It is best to search for portforwarding instruction for the specific router model.
|
||||||
|
|
||||||
![readme_images/img_17.png](readme_images/img_17.png)
|
![images/img_17.png](images/img_17.png)
|
||||||
|
|
||||||
### Checking Ports
|
### Checking Ports
|
||||||
Simulate a broadcasting node by running a dummy GHOST Node launch command:
|
Simulate a broadcasting node by running a dummy GHOST Node launch command:
|
||||||
@ -305,7 +305,7 @@ To check ports go to [Port Checker Website](https://dnschecker.org/port-scanner.
|
|||||||
|
|
||||||
Only `port 30333` should be opened.
|
Only `port 30333` should be opened.
|
||||||
|
|
||||||
![readme_images/img_18.png](readme_images/img_18.png)
|
![images/img_18.png](images/img_18.png)
|
||||||
|
|
||||||
Press _CTRL+C_ to stop the node.
|
Press _CTRL+C_ to stop the node.
|
||||||
|
|
||||||
@ -346,7 +346,7 @@ Display the wallet-key on the screen by using cat command:
|
|||||||
```bash
|
```bash
|
||||||
./target/release/ghost key inspect $(cat /etc/ghost/wallet-key)
|
./target/release/ghost key inspect $(cat /etc/ghost/wallet-key)
|
||||||
```
|
```
|
||||||
![readme_images/img_22.png](readme_images/img_22.png)
|
![images/img_22.png](images/img_22.png)
|
||||||
|
|
||||||
Feel free to back the file on a separate storage device.
|
Feel free to back the file on a separate storage device.
|
||||||
|
|
||||||
@ -359,7 +359,7 @@ Display the stash-key on the screen by using cat command:
|
|||||||
```bash
|
```bash
|
||||||
./target/release/ghost key inspect $(cat /etc/ghost/stash-key)
|
./target/release/ghost key inspect $(cat /etc/ghost/stash-key)
|
||||||
```
|
```
|
||||||
![readme_images/img_23.png](readme_images/img_23.png)
|
![images/img_23.png](images/img_23.png)
|
||||||
|
|
||||||
Generate Session Key file with the following command:
|
Generate Session Key file with the following command:
|
||||||
```bash
|
```bash
|
||||||
@ -378,25 +378,25 @@ Display the session-key//audi on the screen by using cat command:
|
|||||||
```bash
|
```bash
|
||||||
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//audi"
|
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//audi"
|
||||||
```
|
```
|
||||||
![readme_images/img_24.png](readme_images/img_24.png)
|
![images/img_24.png](images/img_24.png)
|
||||||
|
|
||||||
Display the session-key//babe on the screen by using cat command:
|
Display the session-key//babe on the screen by using cat command:
|
||||||
```bash
|
```bash
|
||||||
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//babe"
|
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//babe"
|
||||||
```
|
```
|
||||||
![readme_images/img_25.png](readme_images/img_25.png)
|
![images/img_25.png](images/img_25.png)
|
||||||
|
|
||||||
Display the session-key//slow on the screen by using cat command:
|
Display the session-key//slow on the screen by using cat command:
|
||||||
```bash
|
```bash
|
||||||
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//slow"
|
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//slow"
|
||||||
```
|
```
|
||||||
![readme_images/img_26.png](readme_images/img_26.png)
|
![images/img_26.png](images/img_26.png)
|
||||||
|
|
||||||
Display the session-key//gran on the screen by using cat command:
|
Display the session-key//gran on the screen by using cat command:
|
||||||
```bash
|
```bash
|
||||||
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//gran" --scheme=ed25519
|
./target/release/ghost key inspect "$(cat /etc/ghost/session-key)//gran" --scheme=ed25519
|
||||||
```
|
```
|
||||||
![readme_images/img_27.png](readme_images/img_27.png)
|
![images/img_27.png](images/img_27.png)
|
||||||
|
|
||||||
## Build and start the ghost-node
|
## Build and start the ghost-node
|
||||||
|
|
||||||
@ -409,15 +409,15 @@ using `--make-global`:
|
|||||||
|
|
||||||
We need to recompile so type y and press Enter to proceed:
|
We need to recompile so type y and press Enter to proceed:
|
||||||
|
|
||||||
![readme_images/img_20.png](readme_images/img_20.png)
|
![images/img_20.png](images/img_20.png)
|
||||||
|
|
||||||
Recompiling will take some time!
|
Recompiling will take some time!
|
||||||
|
|
||||||
The script needs higher permissions to write the ghost-node startup file, so it may ask for your user's password
|
The script needs higher permissions to write the ghost-node startup file, so it may ask for your user's password
|
||||||
|
|
||||||
![readme_images/img_21.png](readme_images/img_21.png)
|
![images/img_21.png](images/img_21.png)
|
||||||
|
|
||||||
![readme_images/img_28.png](readme_images/img_28.png)
|
![images/img_28.png](images/img_28.png)
|
||||||
|
|
||||||
Check the hash of the build:
|
Check the hash of the build:
|
||||||
```bash
|
```bash
|
||||||
@ -428,7 +428,7 @@ You should see:
|
|||||||
```
|
```
|
||||||
6c1bab2e9c04043814b5e5e72984b00ac60150bd48cb16068495f1b49fbc5008
|
6c1bab2e9c04043814b5e5e72984b00ac60150bd48cb16068495f1b49fbc5008
|
||||||
```
|
```
|
||||||
![readme_images/img_29.png](readme_images/img_29.png)
|
![images/img_29.png](images/img_29.png)
|
||||||
|
|
||||||
Create running `ghost-node` service that starts on system boot using `--unit-file` flag.
|
Create running `ghost-node` service that starts on system boot using `--unit-file` flag.
|
||||||
And we must set up the `ghost-node` launch command by setting arguments using
|
And we must set up the `ghost-node` launch command by setting arguments using
|
||||||
@ -451,7 +451,7 @@ specify p2p protocol TCP port (default: 30333): 30334
|
|||||||
|
|
||||||
To choose default options press Enter here:
|
To choose default options press Enter here:
|
||||||
|
|
||||||
![readme_images/img_30.png](readme_images/img_30.png)
|
![images/img_30.png](images/img_30.png)
|
||||||
|
|
||||||
Currently, you have to qualify to become a validator node through [GHOST Whales](https://ghostchain.io/whales-apply).
|
Currently, you have to qualify to become a validator node through [GHOST Whales](https://ghostchain.io/whales-apply).
|
||||||
If you were NOT included in the [ghosties file](https://git.ghostchain.io/ghostchain/ghost-node/src/branch/main/service/ghosties) then you cannot be a validator node,
|
If you were NOT included in the [ghosties file](https://git.ghostchain.io/ghostchain/ghost-node/src/branch/main/service/ghosties) then you cannot be a validator node,
|
||||||
@ -460,38 +460,46 @@ If you were included in the ghosties file you can press Enter:
|
|||||||
```
|
```
|
||||||
disable validator mode? [y/N]: y
|
disable validator mode? [y/N]: y
|
||||||
```
|
```
|
||||||
![readme_images/img_31.png](readme_images/img_31.png)
|
![images/img_31.png](images/img_31.png)
|
||||||
|
|
||||||
Press _Enter_ for reject enabling Prometheus:
|
Press _Enter_ for reject enabling Prometheus:
|
||||||
|
|
||||||
![readme_images/img_32.png](readme_images/img_32.png)
|
![images/img_32.png](images/img_32.png)
|
||||||
|
|
||||||
For the following prompt:
|
For the following prompt:
|
||||||
```
|
```
|
||||||
list of bootnodes if any:
|
list of bootnodes if any:
|
||||||
```
|
```
|
||||||
|
|
||||||
Paste one of the following **Boot Node** address:
|
Paste one of available **Boot Node** addresses.
|
||||||
|
|
||||||
|
Official **Boot Node** addresses:
|
||||||
```
|
```
|
||||||
/dns/bootnode69.chain.ghostchain.io/tcp/30334/p2p/12D3KooWF9SWxz9dmy6vfndQhoxqCa7PESaoFWEiF8Jkqh4xKDRf
|
/dns/bootnode69.chain.ghostchain.io/tcp/30334/p2p/12D3KooWF9SWxz9dmy6vfndQhoxqCa7PESaoFWEiF8Jkqh4xKDRf
|
||||||
```
|
```
|
||||||
![readme_images/img_33.png](readme_images/img_33.png)
|
```
|
||||||
|
/dns/bootnode70.chain.ghostchain.io/tcp/30333/p2p/12D3KooWP3h5dSdqcpvsCr7fp1jyfqDj291QDZ68a4gY6VQ8T1nW
|
||||||
|
```
|
||||||
|
|
||||||
|
A full list of available **Boot Nodes** can be found on [the guide page](https://blog.ghostchain.io/launching-ghost-testnet-2-0/#Boot_Node).
|
||||||
|
|
||||||
|
![images/img_33.png](images/img_33.png)
|
||||||
|
|
||||||
Press _Enter_:
|
Press _Enter_:
|
||||||
|
|
||||||
![readme_images/img_34.png](readme_images/img_34.png)
|
![images/img_34.png](images/img_34.png)
|
||||||
|
|
||||||
Changing `unit-file` name is optional, otherwise press _Enter_:
|
Changing `unit-file` name is optional, otherwise press _Enter_:
|
||||||
|
|
||||||
![readme_images/img_35.png](readme_images/img_35.png)
|
![images/img_35.png](images/img_35.png)
|
||||||
|
|
||||||
Type `y` and press _Enter_ for create dedicated user for running `ghost-node`:
|
Type `y` and press _Enter_ for create dedicated user for running `ghost-node`:
|
||||||
|
|
||||||
![readme_images/img_36.png](readme_images/img_36.png)
|
![images/img_36.png](images/img_36.png)
|
||||||
|
|
||||||
**DO NOT start and enable** `ghost-node.service` press _Enter_:
|
**DO NOT start and enable** `ghost-node.service` press _Enter_:
|
||||||
|
|
||||||
![readme_images/img_37.png](readme_images/img_37.png)
|
![images/img_37.png](images/img_37.png)
|
||||||
|
|
||||||
Now you can check whether or not the keys on your GHOST Node match those
|
Now you can check whether or not the keys on your GHOST Node match those
|
||||||
in the [ghosties file](https://git.ghostchain.io/ghostchain/ghost-node/src/branch/main/service/ghosties) on GHOST Git.
|
in the [ghosties file](https://git.ghostchain.io/ghostchain/ghost-node/src/branch/main/service/ghosties) on GHOST Git.
|
||||||
@ -506,11 +514,11 @@ If you are a running a **Full Node** you will see errors:
|
|||||||
|
|
||||||
Full Node:
|
Full Node:
|
||||||
|
|
||||||
![readme_images/img_38.png](readme_images/img_38.png)
|
![images/img_38.png](images/img_38.png)
|
||||||
|
|
||||||
Validator Node:
|
Validator Node:
|
||||||
|
|
||||||
![readme_images/img_39.png](readme_images/img_39.png)
|
![images/img_39.png](images/img_39.png)
|
||||||
|
|
||||||
Start `ghost-node`:
|
Start `ghost-node`:
|
||||||
```bash
|
```bash
|
||||||
@ -523,7 +531,7 @@ Check node is started:
|
|||||||
```bash
|
```bash
|
||||||
sudo systemctl status ghost-node
|
sudo systemctl status ghost-node
|
||||||
```
|
```
|
||||||
![readme_images/img_40.png](readme_images/img_40.png)
|
![images/img_40.png](images/img_40.png)
|
||||||
|
|
||||||
For exit press _CTRL+C_
|
For exit press _CTRL+C_
|
||||||
|
|
||||||
@ -541,7 +549,7 @@ Enable `ghost-node`:
|
|||||||
```bash
|
```bash
|
||||||
sudo systemctl enable ghost-node
|
sudo systemctl enable ghost-node
|
||||||
```
|
```
|
||||||
![readme_images/img_41.png](readme_images/img_41.png)
|
![images/img_41.png](images/img_41.png)
|
||||||
|
|
||||||
To see the logs produced by your `ghost-node`:
|
To see the logs produced by your `ghost-node`:
|
||||||
```bash
|
```bash
|
||||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |