Как вы помните, версия 0.4 принесла нам много изменений. Из-за изменений в криптографических алгоритмах окончательно и бесповоротно поменялись адреса всех обновившихся узлов. Ну хорошо, допустим без этого шага было не обойтись, убедили. По крайней мере об этом предупреждалось заранее. (https://yggdrasil-network.github.io/2021/06/19/preparing-for-v0-4.html) Старый конфиг продолжал работать, только теперь из него генерировался новый постоянный адрес. Как вдруг начиная с версии 0.4.5 адрес снова стал меняться, причём непредсказуемо. А ведь #Yggdrasil генерирует новый случайный адрес только в том случае, если вообще не создавать никаких ключей. Определённо тут была какая-то связь.
Так оно и вышло. Однако интриги добавляло то, что в прежнем конфиге было два типа ключей — для шифрования и для подписи (Encrypting и Signing). В новом пара ключей была только одна. Оказалось, что новой парой ключей должны стать именно прежние ключи для подписи (SigningPrivateKey и SigningPublicKey), что было положительно контринтуитивно. Однако в чейнджлоге (https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.4.0) было сказано именно это, ошибки быть не могло. По всему выходило, что именно их нужно было превратить в PrivateKey и PublicKey соответственно. И это сработало. Теперь адрес вновь был таким же, как и сразу после обновления на 0.4. Неопределённость отступила, но кто знает, где и когда она вернётся вновь.
А чтобы быстро проверить, какой адрес сгенерировался на сей раз, полезной оказалась такая команда:
sudo cat /etc/yggdrasil.conf | yggdrasil -address -useconf
Вряд ли перезапускать демон для одной лишь проверки адреса было бы такой уж хорошей идеей.