Update Mithril Signer

In this example we will update from Mithril Signer version 0.2.243 to 0.2.249 - Updated: 6/16/2025

Credits to Earn Coin Pool for documenting the procedure.



Build on Your Own Method:

Step 1 - Update Rust

On Block Producer, run the following command to update Rust:

rustup update

Step 2 - Clone Mithril Git

Clone the Mithril git to your git folder. Run:

cd $HOME/git
git clone https://github.com/input-output-hk/mithril.git

Step 3 - Checkout Current Version

To find the current version go to https://github.com/input-output-hk/mithril/releases/latest and look for latest version. In this case the current version is Mithril v2524.0

For this example this is the latest version to update to Mithril-Signer 0.2.249
Mainnet Compatible

Don't get the tag version of Mithril v2524.0 confused with the version of the Mithril Signer in this case 0.2.249 The Crate versions are different from the tag version.

Mithril Signer Version for Tag v2524.0

To checkout current version in this case Mithril v2524.0, first change to Mithril folder in git and then checkout version. Run:

cd $HOME/git/mithril
git checkout 2524.0

Step 4 - Change Directory

cd $HOME/git/mithril/mithril-signer

Step 5 - Run Tests (optional)

make test

Step 6 - Build the Executable

make build

Step 7 - Verify the Build Version

Stay in $HOME/git/mithril/mithril-signer folder and then run:

./mithril-signer -V

Step 8 - Stop Mithril Signer Service

sudo systemctl stop mithril-signer

Step 9 - Move mithril Signer Executable

cd $HOME/git/mithril/mithril-signer
sudo mv -f mithril-signer $NODE_HOME/mithril-signer

Step 10 - Start Mithril Signer Service

sudo systemctl start mithril-signer

Step 11 - Verify Version and Status

Check version run:

cd $NODE_HOME/mithril-signer
./mithril-signer -V

Check status

systemctl status mithril-signer.service

Step 12 - Clean up

If you have the correct version and the status is good, go ahead and clean up files.

cd $HOME/git/
rm -rf mithril

Verify your signer is registered

Download the script into the mithril-signer directory

cd $NODE_HOME/mithril-signer
wget https://mithril.network/doc/scripts/verify_signer_registration.sh

Make the script executable:

cd $NODE_HOME/mithril-signer
chmod +x verify_signer_registration.sh

Run Script:

cd $NODE_HOME/mithril-signer
PARTY_ID=**POOL_ID** AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator ./verify_signer_registration.sh

Example: PARTY_ID=pool16cdtqyk0fvxzfkhjg3esjcuty4tnlpds5lj0lkmqmwdjyzaj7p8 AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator ./verify_signer_registration.sh

If your signer is registered, you should see this message:

>> Congrats, your signer node is registered!

If this is an error with registration you will see this message:

>> Oops, your signer node is not registered. Party ID not found among the signers registered at epoch XXX.

Verify your signer contributes with individual signatures

Download the script into the mithril-signer directory

cd $NODE_HOME/mithril-signer
wget https://mithril.network/doc/scripts/verify_signer_signature.sh

Make the script executable:

cd $NODE_HOME/mithril-signer
chmod +x verify_signer_signature.sh

Run Script:

cd $NODE_HOME/mithril-signer
PARTY_ID=**POOL_ID** AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator ./verify_signer_signature.sh

Example: PARTY_ID=pool16cdtqyk0fvxzfkhjg3esjcuty4tnlpds5lj0lkmqmwdjyzaj7p8 AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator ./verify_signer_signature.sh

If your signer is contributing, you should see this message:

>> Congrats, you have signed this certificate: ...

Otherwise, you should see this error message:

>> Oops, your party id was not found in the last 20 certificates. Please try again later.

Congratulations you did it!

Mithril Explorer: https://mithril.network/explorer/?aggregator=https%3A%2F%2Faggregator.release-mainnet.api.mithril.network%2Faggregator

Additional sources which helped create this guide: https://mithril.network/doc/manual/getting-started/run-signer-node/

Contributors

Thanks to the following pools for helping to put together these guides. Please consider delegating to their pools to support them. Are you a pool? Consider buying them a coffee

Earn Coin Pool - Ticker: ECP

Envy Stake Pool - Ticker ENVY

PANL Stake Pool - Ticker PANL

xSPO Alliance

Last updated