Bitcoin Core: ошибка - Only legacy wallets are supported by this command

Регистрация
9 Июл 2024
Сообщения
426
Реакции
259
Баллы
63
CFC
84900
USDT
21.9
Only legacy wallets are supported by this command (code -4) отвечает вам терминал свежей версии кошелька Bitcoin Core на команду импорта приватного ключа importprivkey. Из текста ошибки видно, что команда поддерживает только старые legacy кошельки.

 2024-10-26 в 11.10.35.png


А решение очень простое - использовать другую, сложную и очень не интуитивную, команду для импорта importdescriptors.

Всё сложно​

Если сравнивать с импортом в Electrum, где нужно просто добавить префикс типа адреса (префиксы можно подглядеть нажатием кнопки с не влезающим текстом). В Bitcoin Core всё сложно и нет подсказки с префиксами (которые пишутся иначе).

Для сравнения...

Импортируем один ключ с тремя разными префиксами (которые копируем из окошка помощи) и получаем три разных адреса в Electrum.

 2024-10-26 в 14.00.08.png


 2024-10-26 в 14.00.31.png


А вот как выглядит точно такой же импорт ключа и точно такая же тройка адресов в Bitcoin Core.

 2024-10-26 в 13.57.54.png


 2024-10-26 в 14.01.43.png


Описание команды в терминале и в оригинальной документации не показывает возможные префиксы. Приходится их гуглить, находить на GitHub перечень префиксов и напрягать извилины для выбора нужного... Потом продолжать гуглить и узнать про вложенность префиксов.

Синтаксис команды импорта​

Итак, минимальный синтаксис команды импорта такой...
JSON:
importdescriptors '[{"desc":"префикс(ключ)#хэш","timestamp":"now"}]'
Можно напихать больше данных, например сразу указать метку. Но мне бы не хотелось усложнять. Сложности хватает в том, что параметры в команду подставляются JSON-объектом (это уже боль для не программистов). А метку можно задать мышкой после импорта.

Импорт Legacy​

Адрес начинается с единицы. Пример: 1aVuTnZ22if6ruQGPWEvXftRFHQGjraVp
JSON:
importdescriptors '[{"desc":"pkh(KyWKGSvCpGFesNJRTbL3eaib6QH9H9ZzAzskC1QjXFmr5WGz6A48)#4rd0q5zs","timestamp":"now"}]'

Импорт Segwit​

Адрес начинается с тройки. Пример: 34kYMg3uNptmXEKi3L1Tea1fuNLjNFsRat
Обратите внимание, что тут вложенный префикс sh(wpkh(ключ))
JSON:
importdescriptors '[{"desc":"sh(wpkh(KyWKGSvCpGFesNJRTbL3eaib6QH9H9ZzAzskC1QjXFmr5WGz6A48))#tg8szzjs","timestamp":"now"}]'

Импорт Native Segvit​

Адрес начинается с bc1. Пример: bc1qqe2a4csk86t73ecxuvwwzs5vgesnzsulwa22zh
JSON:
importdescriptors '[{"desc":"wpkh(KyWKGSvCpGFesNJRTbL3eaib6QH9H9ZzAzskC1QjXFmr5WGz6A48)#xkymzh6k","timestamp":"now"}]'

Подставляете свой ключ... И получаете ошибку не правильного хэша, в тексте которой будет назван правильный (Provided checksum 'не_правильный_хэш' does not match computed checksum 'правильный_хэш'). Подставляете свой правильный хэш (8 символов после решётки) и у вас всё импортируется. Всратый... Зато простой способ с лишним телодвижением... Зато без ручного вычисления хэша.😉

Показываю как выглядит результат телодвижения с хэшем при экспорте всё того же ключа, только тип адреса в этот раз - самый новый Taproot (префикс tr).

 2024-10-26 в 15.24.21.png
 
Последнее редактирование:

Создайте аккаунт или войдите, чтобы комментировать

Вы должны быть участником, чтобы оставить комментарий

Регистрация

Создайте учетную запись в нашем сообществе. Это просто!

Войти

У вас уже есть аккаунт? Войдите здесь.

473Темы
2914Сообщения
252Пользователи
MishkoKhitНовый пользователь
Назад
Сверху