Skip to content

Latest commit

 

History

History
166 lines (114 loc) · 5.73 KB

README.md

File metadata and controls

166 lines (114 loc) · 5.73 KB

Launching the Nodes

This guide is intended for Mina test-world-2 Block Producers. If you encounter a bug, please get in touch through the #testworld-2 channel in Discord.

# First, set up and update the rampup Debian Repository for your platform.
sudo rm /etc/apt/sources.list.d/mina*.list

# auto read system config using $(lsb_release -cs)
echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) rampup" | sudo tee /etc/apt/sources.list.d/mina-rampup.list
sudo apt-get update

# Then, install the package or packages that you need:
sudo apt-get install -y mina-berkeley=2.0.0rampup5-55b7818
# If you are using Ufw, allow these permissions
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 8302
sudo ufw allow 3089
# After setting up your nodes you need to add your keys to your node.
# Please use the same keypair in all of your Network Performance Testing nodes.
# Do not share your keypairs with anyone.
# The keypair gives you access to an account on the testnet that has been allocated a stake.
# With this stake, you can start your block production on the testnet.

# Download the attached .zip file that contains your keys and password.
# On your server:

# Extract the .zip file xxx.zip
# Create a folder on your system to store the key files. We recommend ~/keys .
mkdir ~/keys

# Set the correct permissions.
chmod 700 ~/keys

# Create a file for your private key in ~/keys and add the contents of the extracted file xxx.zip to it.
# We recommend my-wallet
nano ~/keys/my-wallet

# Add contents of community-yyy-key
# Save the file

# Set the correct permissions.
chmod 600 ~/keys/my-wallet

# Create a file for your public key and add the contents of the file community-yyy.pub that you extracted.
# We recommend my-wallet.pub 
nano ~/keys/my-wallet.pub 

# Add contents of community-yyy.pub
# Save the file

# The password for your new wallet can be found in the file community-yyy-password.txt that you extracted. 
# Next step is creating new libp2p keypair.
mina libp2p generate-keypair -privkey-path /root/keys/libkey

# Set a password. And this password will be yours MINA_LIBP2P_PASS
# MINA_PRIVKEY_PASS and UPTIME_PRIVKEY_PASS are same and
# can be found in the file community-yyy-password.txt that you extracted.

# Change the following "PASS" variables (do not delete double quotes) as above. 
RAYON_NUM_THREADS:6
UPTIME_PRIVKEY_PASS="PASS"
MINA_LIBP2P_PASS="PASS"
MINA_PRIVKEY_PASS="PASS"

# Create mina.env and paste variables in it. You can also use these variables by specifying them in the service file. 
# But make sure you use them in one place.
nano ~/.mina-env
# Now, we will create a service file. This way mina will restart itself when it crashes.
sudo nano /etc/systemd/system/mina.service

# Read the ExecStart command carefully and change its variables according to your own settings and paths.
# Change YOURIP.

[Unit]
Description=Mina Protocol
After=network.target

[Service]
User=root
EnvironmentFile=/root/.mina-env
ExecStart=/usr/local/bin/mina daemon --log-json --log-snark-work-gossip true --internal-tracing --insecure-rest-server --log-level Debug --file-log-level Debug --config-directory /root/.mina-config/ --external-ip YOURIP --itn-keys  f1F38+W3zLcc45fGZcAf9gsZ7o9Rh3ckqZQw6yOJiS4=,6GmWmMYv5oPwQd2xr6YArmU1YXYCAxQAxKH7aYnBdrk=,ZJDkF9EZlhcAU1jyvP3m9GbkhfYa0yPV+UdAqSamr1Q=,NW2Vis7S5G1B9g2l9cKh3shy9qkI1lvhid38763vZDU=,Cg/8l+JleVH8yNwXkoLawbfLHD93Do4KbttyBS7m9hQ= --itn-graphql-port 3089 --uptime-submitter-key  /root/keys/my-wallet --uptime-url https://block-producers-uptime-itn.minaprotocol.tools/v1/submit --metrics-port 10001 --enable-peer-exchange  true --libp2p-keypair /root/keys/libkey --log-precomputed-blocks true --peer-list-url  https://storage.googleapis.com/seed-lists/testworld-2-0_seeds.txt --generate-genesis-proof  true --block-producer-key /root/keys/my-wallet --node-status-url https://nodestats-itn.minaprotocol.tools/submit/stats  --node-error-url https://nodestats-itn.minaprotocol.tools/submit/stats  --file-log-rotations 500
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
# Reload daemon and enable mina.service file. Start it and observe logs.

sudo systemctl daemon-reload
sudo systemctl enable mina
sudo systemctl start mina
sudo journalctl -u mina -n 1000 -f

# After a few minutes the node will start working.
# Get the latest status with;

mina client status

BERKELEY TESTNET RELEASE 2.0.0rampup8 (ITN RC4)

# These update steps apply if you have installed Mina Block Producer node with this guide. You can refer to discord channel for Docker steps.
# Stop mina.service, it can take 1-2 minute to stop service, please wait.

systemctl stop mina

# Then, set up and update the rampup Debian Repository for your platform.

sudo rm /etc/apt/sources.list.d/mina*.list

# auto read system config using $(lsb_release -cs)
echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) rampup" | sudo tee /etc/apt/sources.list.d/mina-rampup.list
sudo apt-get update

# Then, update the mina-berkeley to rampup8 from rampup7

sudo apt-get install -y mina-berkeley=2.0.0rampup8-56fa1db

# Add --itn-max-logs 10000 flag to service file.

sudo nano /etc/systemd/system/mina.service

Latest ExecStart line should be like this

image

# Use ctrl + x + y shortcut to save service file.

# Reload daemon and start mina service again.

sudo systemctl daemon-reload
sudo systemctl start mina

# Check latest status of mina.

mina client status

The expected output of the mina client status command is: image