Active
May 22, 2022

Massa | 26.1

UpNode!

The Decentralized and Scaled network with a throughput of 10'000 tr/sec and 1000+ Nakamoto Coefficient.

Table of Content

Content

Project Information

Description

Server Requirements

What is being installed?

Launch

1. Preparation
2. Run your Massa Node
3. Create your Massa Wallet
4. Configuration
5. Faucet your wallet
6. Staking
7. Register your node
8. Update your Node

Congratulations

Extra

Community Contribution

Useful Links


Project Information

Back to content

Official Information:

Unofficial Information

DESCRIPTION

Current blockchains that scale to high transaction throughputs are either centralized or unsafe. Massa is designing a new architecture, called the Blockclique, that scales transaction throughput up to 10,000 transactions per second without sacrificing decentralization nor security. Massa's architecture is based on transaction sharding in a multithreaded block graph. Massa is a Proof-of-stake blockchain.


Server Requirements

Back to content

⠀Recommendations from the team (VPS/VDS/DS):
4 CPUs, 8 GB RAM, 100 GB SSD, Ubuntu 20.04

⠀ Suitable servers:


What is being installed?

Back to content

⠀ The project consists of several applications:

  • Node - creates blocks, is launched by a service file for smooth operation;
  • Client - allows you to interact with the wallet and the network using various commands. Runs when needed during a running node.

launch

Back to content

⠀ Each subsection is a separate type of installation, you need to choose one of them.


1. Preparation

Back to content


Update packages

sudo  apt update &&  sudo  apt upgrade -y

Open your ports

sudo ufw allow 31244 && sudo ufw allow 31245 && sudo ufw allow 22

Enable your firewalls

sudo ufw enable && sudo ufw status

Install required packages

sudo apt install pkg-config curl git build-essential libssl-dev libclang-dev cmake

Install rustup and configure your path

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Follow the instruction and press 1 to install.

source $HOME/.cargo/env

Install nightly and set it as default

rustup default 1.74.1

rustup toolchain install 1.74.1 && rustup default 1.74.1

Check rust version

rustc --version

Clone the massa repo

git clone https://github.com/massalabs/massa.git

2. Run your Massa Node


Back to content


Start the node:

cd massa/massa-node/ && tmux

Launch the node, on Ubuntu:

./massa-node -p <PASSWORD> |& tee logs.txt

RUST_BACKTRACE=full cargo run --release -- -p <PASSWORD> |& tee logs.txt

change <PASSWORD> with a password of your choosing
Your node should be up now, you can close the window

  • Open Another Window

Start the client:

cd massa/massa-client/ && cargo run --release -- -p <PASSWORD>

Your client should be running now, you can close your client type.

Replace <PASSWORD> with your password
type ctrl + c to leave


3. Create your wallet

Back to content


Still on the same window,


A. Start the Client

Start the interactive Client and load a wallet file:

cargo run --release — -p <PASSWORD>

replace <PASSWORD> with your password

If you are running Massa node for the first time;

Generate a new private key 🗝 and associated public key/ address; run the code below in the command prompt

wallet_generate_secret_key
generate private key

OR


If you already have one from a previous wallet;

If you are using BearBy wallet:

log into you account
Click on the Setting icon below the page as show in image

click on security and Privacy
Export Private key
Impute your wallet password
Click on the export key
your private key gets revealed
Copy your private key

replace <your_private_key> with your save wallet private key.

you can add manually an existing private key:

wallet_add_secret_keys <your_private_key>


B. View your Massa wallet details

The list of addresses and keys of your wallet can be accessed with:

wallet_info

C. Register your wallet private key to your node;

node_start_staking

node_start_staking <your_wallet>

Very Important: Ensure to save these keys (private and public keys) and also your address; if you lose it you have lost control of your wallet; protect it

You can always close your client with the command

CTRL + C


4. Configuration

Back to content


Nodes in the Massa network need to establish connections between them to communicate, propagate blocks and operations, and maintain consensus and synchrony all together.

In Massa, nodes are non-routable by default and require a manual operation to be made routable. To do this you need to configure your node

cd && cd massa/massa-node/config
vim config.toml

then press i on your keyboard; this creates and input mode. Copy and paste this

[network]
routable_ip = "AAA.BBB.CCC.DDD"

replace AAA.BBB.CCC.DDD with your ip-address

After editing the config.toml file, press esc button on your keyboard, then type :wq to exit and save your changes


5. Faucet your wallet

Back to content


Join the  Discord server , pass verification and go to the channel #⌠💸⌡testnet-faucet

massa-testnet faucet discord

Copy and paste your wallet address here

Massa discord fauceting

You should receive a confirmation that token has been sent to your wallet.

To Confirm the token in your wallet run the command

cd && cd massa/massa-client && cargo run

The client opens then run

wallet_info

There should be a 100 token in your wallet

faucet done

6. Staking

Back to content


A. You would need to buy and stake at least 1 ROLL. Exchange rate: 1 ROLL = 100 MAS.

To buy rolls put your address, the number of rolls you want to buy (put 5), and the operation fee (you can put 0):

replace <address> with your wallet address

buy_rolls <address> 5 0

As an example, the command for buying 5 roll with 0 fee for the address 4x3F3z3QD3j96MuVNwf2SF7hxw1HT2L8tJt7Naza6euasPYRh is: buy_rolls 4x3F3z3QD3j96MuVNwf2SF7hxw1HT2L8tJt7Naza6euasPYRh 1 0

buy_rolls

B. Now you should wait some time so that your rolls become active: 3 cycles of 128 periods (one period is 32 blocks - 16 sec), so about 1h40 minutes.

You can check if your rolls are active with the same command:

wallet_info

type ctrl +c to exit

7. Register your node

Back to content

A. Send your IP Address to the Bot

To validate your participation in the testnet staking reward program, you have to register with your Discord account.

Write anything example iloveUpnode in the #⌠✅⌡testnet-rewards-registration channel of Massa Discord and the bot will send you a DM with instructions. More info here:

testnet-rewards

⠀The bot usually respond immediately, but if doesn't, you should wait - most likely the bot is overloaded.

Massabot response

Copy your discord ID as highlighted above, in my case it's 8138XXXXXXXXXX5002

Send your IP address to the bot and wait for a response. IP can be found with the command on your terminal:

wget -qO- eth0.me

⠀If you did not specify your IP incorrect, you can change it by sending a new one.


B. Provide Proof of Ownership of Node

In your terminal, run the following command to open the client;

cd && cd massa/massa-client && cargo run

Then in you client run the command

node_testnet_rewards_program_ownership_proof <Address> <discord_id>

Replace the <Address> and <discord_id> with your wallet address and discord ID respectively and run the command.

Copy the value output and send to the Massa bot;

Make sure everything is done correctly

Now, send the command info to the bot

massa bot <info>

Congratulations!!! you have just set up and registered your Massa node

You can stop here.


8. Update your Node


Make Sure you are on the right repository

cd massa/
git stash
git remote set-url origin https://github.com/massalabs/massa.git

Update Massa

git checkout testnet
git pull

Initialize your wallet with the command

cd massa-client && cargo run

type ctrl + c in the terminal to exit

Stop your node

tmux attach-session -t 0

Then press CTRL C

Start your node by running the command below;

RUST_BACKTRACE=full cargo run --release |& tee logs.txt

Extra


Community Contribution

Disclaimer: Our team will not be responsible for any negative consequences of using the presented tools.

Telegram bot

Anonymous

The telegram bot is useful in giving real time info about your node health along with other important info such as ⠀Roll notification, Network information, Server dispersion to a specified IP, hosting company's statistics and much more.

⠀ Utility:

  • Start the bot with a command/start
  • To receive notifications about your node run the command /add ADDRESS where <ADDRESS> is your wallet address.
  • Use /my command to display stacking info of your nodes
  • Other useful commands can be found on the command help page/help

useful links

Back to content

Official site of the project | Official Telegram group

Telegram announcement channel |Twitter | Discord | reddit | GitHub |

Link to web wallet | Link to staking