Massa | 26.1
The Decentralized and Scaled network with a throughput of 10'000 tr/sec and 1000+ Nakamoto Coefficient.
Table of Content
Description
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
Community Contribution
Project Information
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
⠀Recommendations from the team (VPS/VDS/DS):
4 CPUs, 8 GB RAM, 100 GB SSD, Ubuntu 20.04
What is being installed?
⠀ 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
⠀ Each subsection is a separate type of installation, you need to choose one of them.
1. Preparation
sudo apt update && sudo apt upgrade -y
sudo ufw allow 31244 && sudo ufw allow 31245 && sudo ufw allow 22
sudo ufw enable && sudo ufw status
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 toolchain install 1.74.1 && rustup default 1.74.1
rustc --version
git clone https://github.com/massalabs/massa.git
2. Run your Massa Node
cd massa/massa-node/ && tmux
./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
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
Start the interactive Client and load a wallet file:
cargo run --release — -p <PASSWORD>
replace <PASSWORD> with your password
Generate a new private key 🗝 and associated public key/ address; run the code below in the command prompt
wallet_generate_secret_key
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 <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
4. Configuration
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
Join the Discord server , pass verification and go to the channel #⌠💸⌡testnet-faucet
Copy and paste your wallet address here
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
wallet_info
There should be a 100 token in your wallet
6. Staking
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):
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
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
7. Register your node
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:
⠀The bot usually respond immediately, but if doesn't, you should wait - most likely the bot is overloaded.
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;
Now, send the command info
to the bot
Congratulations!!! you have just set up and registered your Massa node
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
tmux attach-session -t 0
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
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.
- 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
Official site of the project | Official Telegram group
Telegram announcement channel |Twitter | Discord | reddit | GitHub |
Link to web wallet | Link to staking