# Streamr node

## Streamr 1.0 Testnets

System: Ubuntu 22.04 or 20.04 , Port: <mark style="color:red;">**32200**</mark>

## Server preparation

```
sudo apt update && apt upgrade -y

sudo apt install git curl -y

sudo apt install make clang pkg-config libssl-dev build-essential -y
```

## Install Docker

```
sudo apt install curl -y && curl -sO https://nodesync.top/docker_install && chmod +x docker_install && bash docker_install
```

## Wallet

1. **( Metamask Wallet ) -> Create new Wallet, Save&#x20;**<mark style="color:red;">**wallet address**</mark>**&#x20;and&#x20;**<mark style="color:red;">**private key**</mark>  -> <mark style="color:red;">**(note 01)**</mark>
2. Your <mark style="color:red;">**wallet address**</mark> need >=<mark style="color:red;">**1**</mark> token MATIC on **Polygon Mainnet**&#x20;

## Deploy your Operator Contract <a href="#step-1-deploy-your-operator-contract" id="step-1-deploy-your-operator-contract"></a>

Login wallet on **Polygon Mainnet**, Go the the [**Streamr Hub** ](https://streamr.network/hub/network/operators)->Click **Become an Operator**

<mark style="color:red;">**Input your info,**</mark> read more: <https://docs.streamr.network/guides/become-an-operator>

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2F89ikpWtnWOUptp6ztBzR%2Fstreamr-operator.PNG?alt=media&#x26;token=4518bac6-c805-41e9-904d-cfcb774fa9dc" alt=""><figcaption></figcaption></figure>

**After Become an Operator, You  "Search"  Your Name Operator or View my Operator**

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2Fo3DMZWKZsVVgAPaPcDrt%2Foperator_search_streamr.PNG?alt=media&#x26;token=f350070c-4c75-4e18-91e0-ff5860a89f38" alt=""><figcaption></figcaption></figure>

**Copy Your Operator Address and&#x20;**<mark style="color:red;">**Note 02**</mark>

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2F9yJujSQhPS4xGRYVhge9%2Foperator_address_streamr.PNG?alt=media&#x26;token=79e0b39c-2877-4dc7-9dfa-e263ea8756ff" alt=""><figcaption></figcaption></figure>

Scroll down on your Operator page and find the "**Operator's node addresses**" section. Click the "**Add node address**" button, paste in the <mark style="color:red;">**wallet address**</mark> . Then don't forget to click the <mark style="color:red;">**Save**</mark> button

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FivW3J2ETEOTUnzje2nQX%2Foperator_add_node.PNG?alt=media&#x26;token=ddc33026-8eee-4ff6-85db-02f1c63682e3" alt=""><figcaption></figcaption></figure>

**Now, you need note:&#x20;**<mark style="color:red;">**(node 03)**</mark>

1. Private key (find note 01)
2. Your Operator Address (find note 02)

## Run the config wizard to create and configure your Streamr node

```
mkdir ~/.streamrDocker
```

```
sudo chmod -R 777 ~/.streamrDocker/
```

```
sudo docker run -it -v $(cd ~/.streamrDocker && pwd):/home/streamr/.streamr streamr/broker-node:v100.0.0-testnet-one.0 bin/config-wizard
```

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FHJlLCKFQ07vuxmbl0wyE%2Fstreamr_01.PNG?alt=media&#x26;token=f1182491-cefc-4438-897a-fd47615a5945" alt=""><figcaption></figcaption></figure>

Choose <mark style="color:red;">**Import**</mark> + enter

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FTTWskw5Qtk8nqKQcC78d%2Fstreamr_02.PNG?alt=media&#x26;token=46d04811-e6ee-44f9-b8ad-2ad12923e6c0" alt=""><figcaption></figcaption></figure>

Paste your <mark style="color:red;">**Private key**</mark> +enter (find node 01)

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2F8I8kzWFmGscQW2uCpTsE%2Fstreamr_03.PNG?alt=media&#x26;token=e98c2c36-511e-41b5-bff7-09ed3e38afc0" alt=""><figcaption></figcaption></figure>

Choose <mark style="color:red;">**http**</mark> + enter -> next enter

And you can see result:

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FxC3KIIkMqhCsxfCsg30w%2Fstreamr_04.PNG?alt=media&#x26;token=433ce9dc-3bcc-4b4e-a761-448d5716a64f" alt=""><figcaption></figcaption></figure>

## Final config your Streamr node

```
rm -rf ~/.streamrDocker/config/default.json
```

```
nano ~/.streamrDocker/config/default.json
```

Paste config file bellow, you need change 2 yourinfo.  ( Find <mark style="color:red;">**node 03**</mark>)

1. NODE\_<mark style="color:red;">**PRIVATE\_KEY**</mark>
2. OPERATOR\_CONTRACT\_ADDRES

```
{
    "client": {
        "auth": {
            "privateKey": "NODE_PRIVATE_KEY"
        }
    },
    "plugins": {
        "operator": {
            "operatorContractAddress": "OPERATOR_CONTRACT_ADDRESS"
        }
    }
}
```

Ctrl +O, Enter  (Save)

Ctrl + X  (Exit)

## Start your Streamr node <a href="#step-4-start-your-streamr-node-using-docker" id="step-4-start-your-streamr-node-using-docker"></a>

```
sudo docker run -p 32200:32200 --name streamr --restart unless-stopped -d -v $(cd ~/.streamrDocker && pwd):/home/streamr/.streamr streamr/broker-node:v100.0.0-testnet-one.0
```

## Check logs

```
sudo docker logs -f streamr
```

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FRFTwW6QxjNnK4fOMpgts%2Flogs_streamr.PNG?alt=media&#x26;token=60b1ef69-3b45-4bdc-9c7b-12def8b70d2e" alt=""><figcaption></figcaption></figure>

Check Operator status  on <https://streamr.network/hub/network/operators>

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2F66T5eIv34XYuA1D6zJdl%2Flogs_streamr_das.PNG?alt=media&#x26;token=537338db-2f8f-42e1-9e6e-1a3b47b6eccf" alt=""><figcaption></figcaption></figure>
