Hi,
First, if you wondering, below can you read more about Mithril, why we need it…
https://iohk.io/en/blog/posts/2023/07/20/mithril-nears-mainnet-release/
NOW:
You will need to install/run mithril-signer,
Can be run on BP or any other node (requested files operational certificate and hot.skey)
Also you will need to install/run mithril-relay (it will act as a squid/proxy for your BP or mithril signer node; this way the IP of mithril signer node will not be visible).
Lets begin!
MITHRIL - SIGNER setup
1. On signer node update rust (in case u don’t have rust installed you must install it)
rustup update
2. go to git folder and clone Mithril
cd $HOME/git
git clone https://github.com/input-output-hk/mithril.git
3. check the latest version (be sure is compatible with mainnet) here (at this time 2403.1 is the latest version):
Tags · input-output-hk/mithril · GitHub
cd $HOME/git/mithril
git checkout 2403.1
cd $HOME/git/mithril/mithril-signer
4. build the executable
make build
5. verify the build version
from folder $HOME/git/mithril/mithril-signer
run
./mithril-signer -V
6. move executable (below path is for CNTOOLS setup; modify the path according to your setup)
bellow is the path where to mive the binari file; update the path if its the case
cd $HOME/git/mithril/mithril-signer/
sudo mv -f mithril-signer /home/username/.local/bin
7. update mithril.env file according to your setup (here he can modify the DB path, files path, etc)
cd /opt/cardano/cnode/mithril-singer
ls -l
nano mithril.env
8. download mithril-signer.sh script (in case you haven’t already)
cd /opt/cardano/cnode/scripts
ls -l | grep mithril
if you don’t have the script download it from here with the command
wget https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/mithril-signer.sh
9. run the script
(-d it will set the service as systemd)
chmod 750 ./mithril-signer.sh
./mithril-signer.sh -d
set the IP and the port which you want to connect with mithril-relay server (usually its your relay)
!!! on relay you must have that port opened for your mithril-signer node
for example:
if your mithril signer node has 81.1.1.1 IP and your Relay has 92.1.1.2 and you choose the port 5000, on Relay open the port in case its not already:
sudo ufw status
sudo ufw allow proto tcp from 81.1.1.1 to any port 5000
sudo ufw reload
sudo ufw status
start/check the status:
sudo systemctl start cnode-mithril-signer.service
sudo systemctl status cnode-mithril-signer.service
you it should not work, we must set the the relay as well.
MITHRIL-RELAY setup
1. download and run the script (on relay) mithril-relay.sh from here
cd /opt/cardano/cnode/scripts
wget https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/mithril-relay.sh
chmod 750 mithril-relay.sh
./mithril-relay.sh -d
set the Mithril-signer IP (the IP of the device where Mithril signer is running)
check the status of the service
sudo systemctl status squid.service
Back on Mithril signer restart/check the status
sudo systemctl restart cnode-mithril-signer
sudo systemctl status cnode-mithril-signer
You must see REGISTERED.
Also you can check on explorer: