Campaign | Parami Dāna Testnet Node Running Tutorial (good for round 2)

Parami Protocol
15 min readJun 29, 2021

Step 0: Overview

This tutorial is divided into 5 steps and does not require any previous experience. Most of the steps are illustrated with screenshots.

  1. Step 1:Preparation, you will fill out a form, download a browser (if need be)
  2. Step 2:Renting a server, you will learn how to rent a cloud server (without actually paying if you use Google Cloud)
  3. Step 3:Operating the server, you will learn how to run the node program on the server
  4. Step 4:Validating the node, you will learn how to make your node a validator node and claim reward
  5. Step 5:Joining the community, stay in touch with the Parami staff and the community

Nota Bene for returning users

Welcome back, Paramilies!

Overall, there is no major change but slight changes as follows:

  1. For Step 2.3, it is suggested to delete data on the old server, or delete the instance and start a new one;
  2. For Step 3.2, it is suggested to make a new directory for parami node program
  3. For Step 3.3, the download command of Parami node program is changed, download at the new address
wget https://github.com/parami-protocol/parami-blockchain/releases/download/3.1.2/parami-3.1.2-4.linux-amd64.tar.gz

4. For Step 3.4, the unzip command of Parami node program is changed, unzip by the new file name (“parami-3.1.2–4.linux-amd64.tar.gz”)

tar xvf parami-3.1.2-4.linux-amd64.tar.gz

5. For Step 3.5, the parameter is changed, use the new running command (Don’t forget to change COOL_NAME with your own name)

./parami --name COOL_NAME --validator --chain dana-v5.json --base-path ./node-data --unsafe-ws-external --rpc-cors all --unsafe-rpc-external --rpc-methods=Unsafe

6. Skip Step 3.7

7. For Step 4.6, change the session key for your security. You might have to repeat Step 4.4 to get session key.

Reference

  • You will find useful links and commands here

Download node-running program at

github.com/parami-protocol/parami-blockchain/releases/

Command to run the node

./parami --name COOL_NAME --validator --chain dana-v5.json --base-path ./node-data --unsafe-ws-external --rpc-cors all --unsafe-rpc-external --rpc-methods=Unsafe

Remember to remove --rpc-methods=Unsafe after all done.

Use Apps

polkadot.js.org/apps/ Use wss://dana.parami.io as the custom endpoint, top-left button.

types json

github.com/parami-protocol/parami-blockchain/blob/main/parami-types.json

Command to get session key

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc": "2.0", "method": "author_rotateKeys", "params":[]}' localhost:9933

Step 1: Preparation

Step 1.1: Download and install the browser

  1. Download and install Google Chrome browser, or Firefox browser
  • This tutorial uses Google Chrome as an example

🔗 Visit the website

https://www.google.cn/intl/zh-CN/chrome

⚡Browser

Please use Chrome or Firefox browser throughout, because some key steps call the wallet plugin, which only supports Chrome and Firefox. If you use other browsers, you may get stuck in some key steps.

Step 1.2: Fill in the questionnaire, join the community, with something optional

Fill in the form so that the administrators can give you test token $AD3

Join the Parami community so you can talk to the administrators

Something optional

  1. (Optional) Prepare a credit card (VISA/MasterCard, etc.) to get Google server credit (no charge)
  2. (Optional) Prepare a VPN for access to Google

Step 1.3: Set up a Polka Wallet account

Step 1.3.1: Install the browser plugin Polka and set up your own account

🔗Visit the website

https://polkadot.js.org/extension/

  1. Choose “Download for Chrome” or “Download for Firefox”. My browser is Chrome so I go for the “Chrome” option. The browser will proceed to Chrome Web Store.
  2. In the new website of polkadot{.js} extension, click “Add to Chrome”
  3. Confirm “add extension”
  4. Continue if you see this prompt

Step 1.3.2: Add Polkadot account

  1. Open the “polkadot{.js}” plugin you just installed, click the “plus” sign, and “Create a new account”

You will see orange English words, these are you mnemonic seed

❗ Warning

adapt toddler sting way ***** release palm firm ***** attitude ***** solar

This is a mnemonic seed

Do not let anyone know your mnemonic seed, because it can be used to restore your account without knowing your password. Knowing your mnemonic seed means liberty to do anything to your account, including transfer token to another account. The recommended method to save is pen and paper. If you insist on a digital method, do not save in any location with internet connection.

Create an account, enter your account name, enter your password and repeat password, and click “Add Account”.

There you go! Preparation is complete!

Step 2: Rent (without paying) a server

If you have a VISA/MasterCard credit card, you can continue

Now, you need to register a Google account, or you might have registered a Google account before, but it is your first time to use Google Cloud services. In this case, Google will give you $300 credit, so we can use Google Cloud services without actually paying for a period of time (roughly 6 months)

Step 2.1: Register and sign in to your Google account

This step requires access to Google. There are many detailed tutorials about registering Google accounts, so this step will be skipped.

Step 2.2: Go to Google Cloud Platform

🔗 Visit the website

https://cloud.google.com/

  1. Log in your Google account, find the “$300 credit” prompt in the website

Go to the website, enter your credit card information and submit

⚡Tips

You need fill out the payment information, usually, a credit card (like VISA or MasterCard), to receive the $300 credit, specifically, the number, billing address, expiration month and year, CCV. In addition to a credit card, you can also use PayPal or an international bank card (such as a US debit card).

After the $300 credit is used up, it stops automatically and requires manual confirmation by the user to continue the service. Don’t worry about automatic billing.

According to the practical experience, the server expense is about $40–60 a month, so $300 is enough for about six months.

After payment information, go to the console

Step 2.3: Create a new project, create a new instance

In the console, start a new project, enter that project

Go to Navigation Menu -> Compute Engine -> VM instances -> Enable this API

Create an instance

Configure a server

⚡Tips

This is our suggested configuration of a server

Operation system: Ubantu 20 or higher

Bandwidth: minimum 5M, recommended 10M and more

Hard disk: recommended between 200–250G

Memory: 8G

⚡Tips

Region and Zone

If you are in China, then choose Hong Kong, Japan, Singapore nodes

If you are in a country without network blocking, you can choose any node that is close to your actual address

Make sure your configuration is as above.

Click on “Create”, wait for a few moments as the server is starting.

Continue if you see this, it means the server is setup successfully

Continue to run cloud shell

Step 3: Access the server and connect to Parami Dāna Testnet

Step 3.1: Run the cloud shell

⚡ Tips

In the next steps, we will be entering command and executing commands in the cloud shell (ths black window below)

Welcome to the world of code, don’t panic yet! Follow the steps and we can make it work!

In order to avoid mistakes, try to

1. copy (control+c) commands into a text tool (such as Notepad for Windows, Text Editor for Mac, or Sublime Text),

2. remove the extra newlines added by Medium

3. paste (control+v) the command

(for Mac users, copy (command+c), paste (command+v)) the command, Also, commands are strictly case-sensitive.

In the cloud shell

❓What if the following prompt appears?

Solution: Click on “Connect without Identity-Aware Proxy”.

Step 3.2: Create a new directory and enter the new directory

⌨️ Enter the command

mkdir parami2

Press enter to execute the command

The command means: Create a new directory named “parami2”

⌨️ Enter the command

cd parami2

Press enter and execute the command

The command means: Switch to a new directory named “parami2”

⚡Tips

When you feel that there is too much content on the screen, you can use the “clear” command to clear the current screen, it will not affect the commands already entered

Continue if you see this window

For returning users, do “parami2” instead of “parami”

Step 3.3: Download and unzip the node-running program

The next steps is still to enter the commands and execute them in the cloud shell

⌨️ Enter the command

wget https://github.com/parami-protocol/parami-blockchain/releases/download/3.1.2/parami-3.1.2-4.linux-amd64.tar.gz

(Note: Because Medium editor automatically add a new line here, you have to remove the new line by copying and pasting the command in a text editor and editting accordingly)

Press enter to execute the command

The command means: Download a file named “parami-3.1.2–4.linux-amd64.tar.gz” to the server

Next, a download progress bar will appear in the window, wait for a while until the progress is complete.

Step 3.4: Unzip the node-running program

⌨️ Enter the command

tar xvf parami-3.1.2-4.linux-amd64.tar.gz

Press enter to execute the command

The command means: Unzip this “parami-3.1.2–4.linux-amd64.tar.gz” archive to the server

Step 3.5: Run the Parami node program

⌨️ Enter the command

(but don’t rush, read through before executing)

./parami --name COOL_NAME --validator --chain dana-v5.json --base-path ./node-data --unsafe-ws-external --rpc-cors all --unsafe-rpc-external --rpc-methods=Unsafe

(Note: Because Medium editor automatically replace two “-”s with “ — “, you have to reverse the “ — “ back to two “-”s by copying and pasting the command in a text editor and replacing accordingly)

(Note: Because Medium editor automatically add a new line or space, you have to remove the new line by copying and pasting the command in a text editor and editting accordingly)

Note that the COOL_NAME here stands for the name of the node, you should enter the name of node you set, entering someone else’s name mean he/she takes the credit of your work.

For example

./parami --name EthanDaddy --validator --chain dana-v5.json --base-path ./node-data --unsafe-ws-external --rpc-cors all --unsafe-rpc-external --rpc-methods=Unsafe

Here I changed the name to “EthanDaddy”

Press enter and execute the command

The command means: Run the node program with many parameters

This is going to take 3–5 minutes, depending on your internet connection.

(For returning users, we have updated the code, so it takes longer than before to boost the node)

The Parami Dāna Testnet node is now up and running! Do not close the window yet, we will be back later. Continue to make your node a validator node.

❓What if the window is closed

Go back to step 3.1 and do it again

Step 3.6: Connect to Parami Dāna Testnet

Open a browser and go to the test network

🔗Visit the website

https://polkadot.js.org/apps/

Click on the top left corner of the page, there is a tiny down arrow, click it

Click it and the following page will appear, but your window may not be the same as mine, go to the last item “DEVELOPMENT” anyway

In the “custom endpoint” of DEVELOPMENT, delete the original address and paste the following address

⌨️Enter the address

wss://dana.parami.io

Please copy and paste

Paste the address and click “Switch” to go to Parami Dana Testnet, wait a moment

Continue if you see this window (Don’t worry about the FATAL error, we’ll address it later)

Step 3.7: Resolving Errors

  1. After connecting, an error is reported “unknown type”

FATAL: Unable to initialize the API: createType(ChainId):: Cannot construct unknown type ChainId

Solution

🔗Visit the webpage

https://github.com/parami-protocol/parami-blockchain/blob/main/parami-types.json

Copy the content within the red box

Go back to Parami Dana Testnet and find Setting -> Developer

Paste it in the new pop-up window, click “Save” and refresh the page

The error message will no longer pop up, which means the error is solved and Parami Dana Testnet is successfully accessed.

The Parami Dāna Testnet is successfully accessed

⚡ Tips

Note the curly brackets here

If you copy the code in the red box above exactly, you should remove the curly brackets in Developer before pasting it; if you copy the code in the red box above without copying the curly brackets before and after, do not remove the curly brackets in Developer window.

Step 3.8: View your node on Polkadot Telementry

Visit the website

https://telemetry.polkadot.io

Find the button with three dots in the upper right corner of the webpage, click on it and the following prompt appears

Press “Ctrl+F” or “Command+F” to use your browser’s search, type in “Parami Dana”, and press “Enter”,

Click the “Parami Dāna” test site and enter

⚡Hint

If It is not Parami Testnet, not Parami PC2, those two are no longer in use

You’ll see your node running successfully!

Step 4: Make your node a finalizing node (validator)

Step 4.1: Request some initial funds

⚡ Tips

How to check your AD3 balance

In Parami Dana Testnet, follow the steps to click Accounts -> Accounts. The following window will appear, and you will see the balance

Step 4.2: Staking

  • In Parami Dana Testnet, follow the steps and click on Network -> Staking -> Account Actions -> Stash

❓What if I don’t see the Staking option

Please make sure you are using Chrome/Firefox browser and have Polkadot plugin installed.

⚡ Tips

Why do you need Staking

Only after you perform Staking can you (your node) become a validator, generate blocks and claim rewards

❓What if I don’t have $AD3 tokens?

If you don’t have $AD3 tokens, please go back to step 1.2, fill out the questionnaire, join the community and contact the administrators to send you initial tokens

Enter how many $AD3 tokens you want to stake in this step

❗ Do not stake all your balance

In addition to staking, it is recommended to spare about 10–20 $AD3 in your account for later transaction fees.

For example, if you received 1000 $AD3, pledge up to 980 $AD3 instead of staking all, otherwise the subsequent operations cannot be executed with no fee.

Enter the amount and click “Bond”

Click “Sign and Submit”, the Polka Wallet plugin will pop up, enter your password and confirm

The staking is complete. Next, we need to get the Session Key from the server. This is how you tell Parami Dana Testnet that it was your account that just staked.

Step 4.3: Set Session Key (I)

After staking, the following screen will appear, click on “Session Key”, a pop-up window will appear asking for the Session Key

We will have to go back to the server to get it, and the cloud shell we just left open will come in handy at this point (refer to step 3.5)

Step 4.4: Get session key

  1. Go back to your Google Cloud console, keep the last cloud shell, and open a new cloud shell.

⌨️ Enter the command

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc": "2.0", "method": "author_rotateKeys", "params":[]}' localhost:9933

(Note: Because Medium editor automatically add a new line here, you have to remove the new line by copying and pasting the command in a text editor and editting

Press enter to execute the command

The command means: Request the parameters of the ongoing session

❓What if the command doesn’t get back the proper result

Solution: You should keep the first cloud shell running, otherwise the command will be invalid; if you close the first cloud shell, please go back to Step 3.5 Run the Parami node program

Get the session key, every session is unique, mine this time is

{“jsonrpc”: “2.0”, “result”:”0xe30575c62526a082617de8aadc5689e738aa0d96a180e3ce7441171fa1f91edae26e123a29d8538acc19fddba280fcf49cea62fc6749b31ac66e10301143883ddc046ca59e6e8028912755eac029152e148f17163fb110fd0b4c38748002ec303897174fd3b4ae8628dbe0e5a816faf21f69f7b294293a56a0d7a78f39eb4846", “id”:1}

Note: it is not the whole string, only the quoted string after “result”

0xe30575c62526a082617de8aadc5689e738aa0d96a180e3ce7441171fa1f91edae26e123a29d8538acc19fddba280fcf49cea62fc6749b31ac66e10301143883ddc046ca59e6e8028912755eac029152e148f17163fb110fd0b4c38748002ec303897174fd3b4ae8628dbe0e5a816faf21f69f7b294293a56a0d7a78f39eb4846

Step 4.5: Set Session Key (II)

Go back to the Session Key window opened in step 4.3 and paste the Session Key you just got

❓What if I cannot click the Set Session Key button

Paste the session key into a text tool (such as Notepad for Windows, Text Editor for Mac, or Sublime Text), remove the spaces or lines between characters, and then paste it again as the session key.

Click “Sign and Submit”, the Polkadot Wallet plugin will pop up, enter your password and confirm

Continue if you see the window

Step 4.6: Go to the account actions and perform the authentication operation

Click “Validate” in the window

In the pop-up window, set the block commission: 3%, and click on “Validate”.

  • Because we are running node on the testnet, the percentage doesn’t matter, 3% is suggested.

Click “Sign and Submit”, the Polkadot Wallet plugin will pop up, enter your password and confirm

continue if you see the window

Check if there is your Parami wallet in the “Waiting”

Step 4.7: Go back to Overview and wait for the next era

  • Within 1 era (1 hour) you will see your node become the new validator

Step 5: Join the community and stay in touch!

We will give a small mainnet $AD3 reward based on your validator node’s performance.

In order to receive the reward, please make sure that you have

  • filled in the node running form and correctly filled in your Parami address

https://forms.gle/7poaDpBBiTfqJy1E6

  • joined the Parami Discord community to follow the latest progress and chat

https://discord.com/invite/bxFuekgvYJ

  • joined the Parami Telegram community

$AD3 |Parami Protocol — English

https://t.me/ParamiProtocolEN

$AD3|Parami Protocol — 中文

https://t.me/ParamiProtocolCN

$AD3 |Parami Protocol — Việt Nam

https://t.me/ParamiProtocolVN

$AD3 |Parami Protocol — 한국어

https://t.me/paramikorea

$AD3 |Parami Protocol — Skandinavisk

https://t.me/ParamiProtocolSCA

$AD3 |Parami Protocol — Español

https://t.me/ParamiProtocolESP

$AD3 |Parami Protocol — Portuguese

https://t.me/ParamiProtocolPOR

$AD3|Parami Protocol — پاکستان

https://t.me/ParamiProtocolPK

$AD3 |Parami Protocol — Bangladeshi

https://t.me/ParamiProtocolBD

--

--