Skip to content

Latest commit

 

History

History
183 lines (124 loc) · 5.51 KB

umt.md

File metadata and controls

183 lines (124 loc) · 5.51 KB

Launching the Nodes

This guide is intended for Mina UMT Block Producers. If you encounter a bug, please get in touch through the #umt-testnet channel in Discord.

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

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

# Then, install the package or packages that you need:
sudo apt-get install --allow-downgrades -y mina-devnet=1.0.0umt-2025a73
# 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.

# 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 advanced generate-libp2p-keypair -privkey-path /root/keys/libkey

# Set a password. And this password will be yours MINA_LIBP2P_PASS
# MINA_PRIVKEY_PASS 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
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=mina daemon \
--block-producer-key /root/keys/my-wallet \
--config-directory /root/.mina-config/ \
--enable-peer-exchange true \
--external-ip YOURIP \
--file-log-level Debug \
--generate-genesis-proof true \
--insecure-rest-server \
--discovery-keypair /root/keys/libkey \
--log-json \
--log-level Debug \
--log-precomputed-blocks true \
--log-snark-work-gossip true \
--metrics-port 10001 \
--node-error-url https://nodestats-itn.minaprotocol.tools/submit/stats \
--node-status-url https://nodestats-itn.minaprotocol.tools/submit/stats \
--peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/o1labs-umt-pre-fork-run-1/seed-list-o1labs-umt-pre-fork-run-1.txt

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

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

UMT Upgrade Release 2.0.0umt

# 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

# If you ARE umt-no-upgrade user, use these commands. If you are not, skip to next step.

sudo apt remove mina-devnet=1.0.0umt-2025a73
sudo mv /tmp/coda_cache_dir /tmp/coda_cache_dir_bak
sudo mv $HOME/.mina-config $HOME/.mina-config_bak

# If you ARE NOT umt-no-upgrade user, use these commands.

sudo apt remove mina-devnet=1.0.1umt-stop-slot-992168e 
sudo mv /tmp/coda_cache_dir /tmp/coda_cache_dir_bak
sudo mv $HOME/.mina-config $HOME/.mina-config_bak   

# Then, set up and update.

sudo rm /etc/apt/sources.list.d/mina*.list
sudo echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) umt" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update

# Then, update the UMT 2.0.0

sudo apt-get install --allow-downgrades -y mina-devnet-hardfork=2.0.0umt-hardfork-automation-umt-eb0a6d0

# We need make changes in service file.

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

# Replace --discovery-keypair with --libp2p-keypair and leave the path same (/root/keys/libkey)
# Change --peer-list-url and use
https://storage.googleapis.com/o1labs-gitops-infrastructure/o1labs-umt-post-fork-run-1/seeds-o1labs-umt-post-fork-run-1.txt

# Save the file, reload daemon and start mina service.

sudo systemctl daemon-reload
sudo systemctl start mina

Latest ExecStart line should be like this

image