Pywallet — старый сторонний скрипт для работы с wallet.dat, который иногда используют для восстановления legacy-кошельков. Если у вас есть резервная копия кошелька Bitcoin Cash или старого Bitcoin-кошелька, созданного до форка, Pywallet может помочь извлечь приватные ключи и вернуть доступ к средствам. Но делать это нужно только офлайн, с копией файла и полным пониманием рисков.
Важно: приватный ключ даёт полный контроль над средствами. Не передавайте его третьим лицам, не вставляйте в сайты-конвертеры и не запускайте сомнительные сборки Pywallet на основном компьютере.
Что такое Pywallet и при чём здесь Bitcoin Cash
Pywallet — это Python-скрипт, который умеет читать данные из wallet.dat формата Berkeley DB, показывать адреса, публичные и приватные ключи, а также выполнять некоторые операции восстановления. Исторически инструмент создавался для Bitcoin, но поскольку Bitcoin Cash использует тот же тип приватных ключей и ECDSA, извлечённый ключ можно применять для восстановления BCH.
Ключевые моменты:
- Bitcoin Cash и Bitcoin используют совместимый формат приватного ключа WIF. Один и тот же ключ может управлять монетами в обеих сетях, если они не были разделены после форка.
- Адреса BCH могут отображаться в legacy-формате или в CashAddr. При импорте важно проверить, что кошелёк работает именно с сетью Bitcoin Cash.
- Pywallet не является официальным инструментом Bitcoin Cash и давно не развивается. Его возможности зависят от версии скрипта и формата вашего
wallet.dat. - Если у вас есть seed-фраза, лучше восстанавливать кошелёк по ней. Pywallet нужен прежде всего тогда, когда есть только старый
wallet.datили отдельные ключи.
Подготовка и меры безопасности
Перед экспортом ключей подготовьте изолированную среду. Это снижает риск кражи средств, если в системе окажется вредоносное ПО.
- Сделайте копию
wallet.datи работайте только с копией. Оригинал сохраните в надёжном месте. - Проверьте контрольную сумму файла, чтобы убедиться, что копия не повреждена.

- Используйте офлайн-компьютер или виртуальную машину без доступа к интернету. В идеале — отдельную систему, которую вы потом отключите от сети.
- Скачивайте Pywallet из проверенного источника и по возможности проверяйте код. Старые версии могут требовать Python 2.7 и дополнительные библиотеки.
- Не запускайте скрипт на компьютере с важными данными. Лучше использовать отдельную среду, которую можно удалить после восстановления.
- Проверьте, зашифрован ли
wallet.dat. Если да, без пароля экспорт приватных ключей невозможен.
Пример команды может отличаться в зависимости от версии Pywallet, поэтому сначала изучите --help выбранной сборки. Типовой запуск для дампа кошелька выглядит так:
python pywallet.py --dumpwallet --wallet=wallet.dat > wallet_dump.json
После выполнения сохраните результат на зашифрованный носитель. Не оставляйте дамп с приватными ключами в открытом виде на диске, в облаке или в мессенджерах.
Экспорт приватных ключей из wallet.dat
Процесс восстановления обычно выглядит так:
- Скопируйте
wallet.datна изолированную машину. - Запустите Pywallet в режиме дампа ключей или кошелька.
- Откройте полученный файл и найдите записи с приватными ключами. Это могут быть строки в формате WIF, начинающиеся с
5,KилиL, либо hex-представление. - Сопоставьте каждый приватный ключ с адресом. Для BCH полезно проверить адрес в legacy-формате и в CashAddr.
- Если Pywallet выдал ключ не в WIF, конвертируйте его офлайн с помощью проверенного инструмента. Не используйте для этого случайные онлайн-сервисы.

- Проверьте тип сжатия ключа: сжатый и несжатый ключ могут соответствовать разным адресам.
Не спешите импортировать все ключи сразу. Сначала возьмите один ключ, проверьте его на небольшой сумме или на тестовом адресе, и только потом переходите к остальным. Если в кошельке много адресов, составьте таблицу: приватный ключ, адрес, баланс, статус проверки.
Восстановление Bitcoin Cash в новом кошельке
Для BCH удобно использовать Electrum Cash или Electron Cash, установленный из официального источника. Безопаснее не просто импортировать старый ключ, а сделать sweep — перевести средства на новый адрес, созданный в новом кошельке с новой seed-фразой.
Порядок действий:
- Установите и проверьте официальную версию BCH-кошелька.
- Создайте новый кошелёк и сохраните seed-фразу офлайн.
- Найдите функцию импорта или sweep приватных ключей.
- Вставьте WIF-ключи, которые были извлечены через Pywallet.
- Установите комиссию, проверьте адрес получателя и отправьте средства.
- Дождитесь подтверждения в сети Bitcoin Cash и сохраните txid.
Почему sweep предпочтительнее простого импорта? Если старый приватный ключ когда-либо мог быть скомпрометирован, импорт оставляет средства на уязвимом адресе. Sweep переводит их на новый адрес, который контролируется только вами. После успешного переноса старые ключи лучше считать небезопасными.
Если вы используете Bitcoin Cash Node, проверьте поддержку importprivkey в вашей версии и необходимость пересканирования блокчейна. Для большинства пользователей графический BCH-кошелёк с функцией sweep будет проще и безопаснее.

Ограничения и типичные проблемы
Pywallet — не универсальное решение. С какими сложностями можно столкнуться:
- Зашифрованный
wallet.dat. Без пароля извлечь приватные ключи нельзя. - HD-кошельки и новые форматы. Современные кошельки всё чаще используют seed-фразы, descriptor-кошельки или другие форматы. Pywallet может не поддерживать новые
wallet.dat. - Неполный дамп. В HD-кошельке в файле могут быть не все ключи, а только использованные адреса. В таком случае восстановление из seed-фразы надёжнее.
- Несовпадение сжатия ключа. Если выбрать неправильный тип ключа, кошелёк покажет нулевой баланс.
- Путаница BTC и BCH. Один ключ может относиться к обеим сетям, но адреса и история транзакций различаются. Всегда проверяйте, в какой сети вы работаете.
- Риск вредоносного ПО. Запуск старых Python-скриптов на непроверенной системе может привести к краже ключей.
Если баланс не отображается, проверьте: правильность WIF, тип сжатия, сеть BCH, историю адреса в блокчейн-обозревателе и не были ли средства перемещены ранее. Не пытайтесь «ускорить» восстановление через сомнительные сервисы, которые просят приватный ключ или wallet.dat.
Итог
Pywallet может быть полезным инструментом для извлечения приватных ключей из старого wallet.dat и восстановления Bitcoin Cash, но использовать его нужно осторожно: только офлайн, только с копией файла и только для собственных кошельков. После экспорта ключей лучше сразу перевести средства на новый BCH-адрес с новой seed-фразой, а старые ключи считать потенциально скомпрометированными.
Главное правило простое: резервные копии, изолированная среда, проверка адресов и sweep на новый кошелёк. Такой подход снижает риск потери средств и делает восстановление предсказуемым.