# 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="/files/YcefTKva1Fs8YXqzj8av" 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="/files/kieOaDsH20ssBo2wiQI7" 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="/files/bYoj7JxJPxGowiTNWdTt" 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="/files/Bs2Et3SXyfHdzViMYu9U" 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/>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://services.nodesync.top/testnet-running/voi-network.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
