Некоторое время назад я обзавелся аппаратным крипто-кошельком Ledger и нашел его очень удобным и полезным. Операции с обычными криптовалютами выполняются довольно комфортно и с компьютера и с мобильника.
Но тут у меня возникла необходимость использовать ассеты в сети Stellar. И возникли проблемы. Ledger Live поддерживает сеть Stellar, но не поддерживает в ней ассеты (контрактные токены типа EURMTL). А сторонние кошельки, которые можно использовать для работы с ассетами, не поддерживают подписание транзакций через Ledger. Казалось-бы, что это тупик и использовать Ledger для полноценной работы со Stellar не получится...
Однако, было найдено решение этой проблемы. И заключается оно в использовании Multisig (мультиподпись). Для ее использования нужно, первым делом, пополнить кошелек, созданный в стороннем приложении (я использую LOBSTR) некоторым количеством XLM - базовой криптой сети Stellar. После этого можно в настройках включить Multisig. При его настройке нужно указать вторым адресом (необходимым для подписания транзакций) адрес кошелька Stellar, созданного в приложении Ledger Live. После этого для любой транзакции в данном кошельке потребуется подписание ее в том числе и с использованием аппаратного Ledger.
Но тут возникает другая проблема... При настроенном Multisig в кошельке LOBSTR после создания любой транзакции она не отправляется в сеть Stellar, а выдается в текстовом виде (в формате XDR). Далее эту транзакцию необходимо подписать с помощью Ledger и отправить в сеть Stellar. Ни того ни другого не умеют ни кошелек LOBSTR, ни кошелек Ledger Live.
И тут на помощь приходит лаборатория Stellar. Порядок действий для подписания XDR следующий (обратите внимание что-бы справа-сверху страницы переключатель был в положении "Public"):
Заходим на страницу "Sign transaction";
Копируем в поле "Import a transaction envelope in XDR format" полученный в кошельке LOBSTR XDR транзакции;
Нажимаем кнопку "Import transaction". После этого ниже на странице должно появится расшифрованное содержание транзакции и должно быть указано что одна подпись в ней уже имеется;
Далее идем в самый низ страницы и ищем кнопку "Sign with Lerger" (здесь-же доступна кнопка "Sign with Trezor" для подписания другим аппаратным кошельком). К моменту нажатия на эту кнопку аппаратный кошелек Ledger должен быть подключен, разблокирован и иметь запущенным приложение "Stellar";
После нажатия на кнопку "Sign with Lerger" нам надо проверить транзакцию на Ledger и подтвердить ее подписание;
После этого еще ниже на странице появится сообщение "Success" в поле, указывающем на статус подписания транзакции, и кнопка "Submit in Transaction Submitter" при нажатии на которую вы можете отправить данную транзакцию в сеть Stellar.
Вот и все. После этого можете проверять свой кошелек в LOBSTR и видеть как исполнилось действие, которое вы хотели сделать. :)