# Voi Network

* Explorer: <https://voi.observer/explorer/home>
* Check health: <https://cswenor.github.io/voi-proposer-data/health.html>
* Score: <https://voi-node-info.boeieruurd.com/>
* Website: <https://www.voi.network/>
* X: <https://twitter.com/Voi_Net>
* Discord: <https://discord.com/invite/vnFbrJrHeW>

## **Minimum hardware requirement**

2 Cores, 4G Ram, Min 80G SSD

Open port:  <mark style="color:red;">**no**</mark>

## Server preparation

Ubuntu 22.04

This guide is only suitable for x86 architecture machines as it relies on the Algorand repository, which does not publish packages for other architectures such as ARM64.

## 1. Auto Install

```
sudo apt install curl -y && source <(curl -s https://nodesync.top/voi/install)
```

choose y + enter  (next step)

Password install is:  <mark style="color:red;">**nodesync**</mark>

Input Your Telemetry Name&#x20;

Please "<mark style="color:red;">**enter"**</mark> to next step when was ask

## 2. Check logs

```
goal node status -w 1000
```

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FtKYqA2iNnAykCPDSst66%2Fvoi-guidetestnet.jpg?alt=media&#x26;token=7a4b3d16-3279-40e7-9da8-18210312e3d8" alt=""><figcaption></figcaption></figure>

## 3. Wallet

Create your wallet on site: <https://a-wallet.net/>

Please save your <mark style="color:red;">**wallet address**</mark> and <mark style="color:red;">**24 word mnemonic seed**</mark>

Faucet token on discord <https://discord.com/invite/vnFbrJrHeW>:  **/voi-testnet-faucet**

## 4. Create Name and Import Wallet

Create Name:

```
goal wallet new wallet --recover
```

Import Wallet

```
goal account import
```

Check account wallet&#x20;

```
goal account list
```

**Please&#x20;**<mark style="color:red;">**faucet token VOI**</mark>**&#x20; before next step**

## 5. Generate your participation keys

```
getaddress() {
  if [ "$addr" == "" ]; then echo -ne "\nNote: Completing this will remember your address until you log out. "; else echo -ne "\nNote: Using previously entered address. "; fi; echo -e "To forget the address, press Ctrl+C and enter the command:\n\tunset addr\n";
  count=0; while ! (echo "$addr" | grep -E "^[A-Z2-7]{58}$" > /dev/null); do
    if [ $count -gt 0 ]; then echo "Invalid address, please try again."; fi
    echo -ne "\nEnter your voi address: "; read addr;
    addr=$(echo "$addr" | sed 's/ *$//g'); count=$((count+1));
  done; echo "Using address: $addr"
}
getaddress &&\
echo -ne "\nEnter duration in rounds [press ENTER to accept default)]: " && read duration &&\
start=$(goal node status | grep "Last committed block:" | cut -d\  -f4) &&\
duration=${duration:-2000000} &&\
end=$((start + duration)) &&\
dilution=$(echo "sqrt($end - $start)" | bc) &&\
goal account addpartkey -a $addr --roundFirstValid $start --roundLastValid $end --keyDilution $dilution

```

After a few minutes, you should see:

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2Fe71TMJFxjQyeE6V68qud%2Fvi-voi-address-2.JPG?alt=media&#x26;token=42458a6d-562b-41f0-852c-b0365b87533f" alt=""><figcaption></figcaption></figure>

## 6. Check your participation status

```
getaddress() {
  if [ "$addr" == "" ]; then echo -ne "\nNote: Completing this will remember your address until you log out. "; else echo -ne "\nNote: Using previously entered address. "; fi; echo -e "To forget the address, press Ctrl+C and enter the command:\n\tunset addr\n";
  count=0; while ! (echo "$addr" | grep -E "^[A-Z2-7]{58}$" > /dev/null); do
    if [ $count -gt 0 ]; then echo "Invalid address, please try again."; fi
    echo -ne "\nEnter your voi address: "; read addr;
    addr=$(echo "$addr" | sed 's/ *$//g'); count=$((count+1));
  done; echo "Using address: $addr"
}
getaddress &&\
goal account dump -a $addr | jq -r 'if (.onl == 1) then "You are online!" else "You are offline." end'

```

*If you are online (participating in consensus) this should output `You are online!`. Otherwise, it will output `You are offline.`*

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FrXB8vYstIjHKLfz6kuok%2Fvi-voi-address-3.JPG?alt=media&#x26;token=1998bb66-cb7d-4ad5-866d-a0c597c82aa9" alt=""><figcaption></figcaption></figure>

## 7. Register to go online

```
getaddress() {
  if [ "$addr" == "" ]; then echo -ne "\nNote: Completing this will remember your address until you log out. "; else echo -ne "\nNote: Using previously entered address. "; fi; echo -e "To forget the address, press Ctrl+C and enter the command:\n\tunset addr\n";
  count=0; while ! (echo "$addr" | grep -E "^[A-Z2-7]{58}$" > /dev/null); do
    if [ $count -gt 0 ]; then echo "Invalid address, please try again."; fi
    echo -ne "\nEnter your voi address: "; read addr;
    addr=$(echo "$addr" | sed 's/ *$//g'); count=$((count+1));
  done; echo "Using address: $addr"
}
getaddress &&\
goal account changeonlinestatus -a $addr -o=1 &&\
sleep 1 &&\
goal account dump -a $addr | jq -r 'if (.onl == 1) then "You are online!" else "You are offline." end'

```

*You will see a prompt for your address (unless you entered it earlier) and your wallet password. After you enter it, you should see the following:*

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FSqIMDa6sIAV4sVku3Sgq%2Fvi-voi-address-4.JPG?alt=media&#x26;token=88b6b954-52e7-45f4-90c4-b5f131817efd" alt=""><figcaption></figcaption></figure>

## 8. Renew your participation keys

```
getaddress() {
  if [ "$addr" == "" ]; then echo -ne "\nNote: Completing this will remember your address until you log out. "; else echo -ne "\nNote: Using previously entered address. "; fi; echo -e "To forget the address, press Ctrl+C and enter the command:\n\tunset addr\n";
  count=0; while ! (echo "$addr" | grep -E "^[A-Z2-7]{58}$" > /dev/null); do
    if [ $count -gt 0 ]; then echo "Invalid address, please try again."; fi
    echo -ne "\nEnter your voi address: "; read addr;
    addr=$(echo "$addr" | sed 's/ *$//g'); count=$((count+1));
  done; echo "Using address: $addr"
}
getaddress &&\
echo -ne "\nEnter duration in rounds [press ENTER to accept default)]: " && read duration &&\
start=$(goal node status | grep "Last committed block:" | cut -d\  -f4) &&\
duration=${duration:-2000000} &&\
end=$((start + duration)) &&\
dilution=$(echo "sqrt($end - $start)" | bc) &&\
goal account renewpartkey -a $addr --roundLastValid $end --keyDilution $dilution

```

## Check Voi-Node Metrics

<https://voi-node-info.boeieruurd.com/>
