Получите наличные биткойны из приложения биткойн для Android

У меня есть немного биткойнов, хранящихся в приложении биткойн-кошелька для Android

Я хочу перевести свои унаследованные Bitcoin Cash (BCC) на биржу. Приложение для Android не заботится о BCC.

Я попытался расшифровать резервную копию своего кошелька, чтобы использовать закрытый ключ в настольном приложении Bitcoin ABC . openssl enc -d -aes-256-cbc -a -in wallet_backup_file Но выходит бред. Обновление выглядит так, как будто расшифровка сработала, потому что я вижу первый текст как org.bitcoin.production. Проблема в том, что он закодирован в формате protobuf: Проблемы с расшифровкой моего биткойн-кошелька на андроиде

Импорт того же файла резервной копии в приложение биткойн работает, и через некоторое время я вижу свои средства.

Как я могу получить свои биткойн-кэш и перевести их на биржу?

Мне удалось получить свои закрытые ключи с помощью предложенного инструмента github.com/lloeki/bitcoinj-wallet-dump после расшифровки openssl. В настоящее время я все еще жду синхронизации блокчейна (с опцией -prune=30000). Я сообщу полный ответ после завершения синхронизации.
Не могли бы вы сделать мини-учебник для тех из нас, кто не особо разбирается в технике?
@tbenz9 Я попробую coinomi.freshdesk.com/support/solutions/articles/… (потому что синхронизация всего блокчейна мучительно медленная)

Ответы (3)

Недавно в проект «Биткойн-кошелек» были включены подробные инструкции о том, как извлечь пары ключей именно для этой цели. В разделе Восстановление из формата кошелька protobuf перейдите к абзацу, начинающемуся с

Вы также можете получить список закрытых ключей...

(Вот историческая версия этого руководства * на случай , если оно когда-нибудь исчезнет)

Теперь я завершил процесс самостоятельно. Вот краткое изложение. Обратите внимание, что это работает для резервных копий, сделанных после 2014 года (более новый формат protobuf). См. статью выше, если ваша резервная копия старше этой.

# pre-reqs
sudo apt install openjdk-8-jdk openjfx android-tools-adb openssl git maven

# use known version of bitcoinj - HEAD of branch release-0.14 at time of writing
git clone https://github.com/bitcoinj/bitcoinj.git 
(cd bitcoinj && git reset --hard 0e30a3011c42cedfd83f2109d54dd192730dcc45) 

# decrypt the wallet backup (substitute for <BACKUP>)
openssl enc -d -aes-256-cbc -md md5 -a -in <BACKUP> > /tmp/dec

# reset & sync wallet (may take some time, but was necessary in my case)
(cd bitcoinj/tools && \
   ./wallet-tool reset --wallet=/tmp/dec && \
   ./wallet-tool sync --wallet=/tmp/dec --debuglog)

# dump keys You will need to add `--password=<PIN>` if your wallet is pin protected.
(cd bitcoinj/tools && ./wallet-tool dump --wallet=/tmp/dec --dump-privkeys)

# delete your decrypted wallet
rm /tmp/dec
Благодарю вас ! это сработало. Мне не нужно было ждать всего ./wallet-tool sync, я прервал его через 5 минут, сбросил ключи ( ./wallet-tool dump) и импортировал их в Electron BCH.
Для получения WIF из дампа закрытого ключа текста используется регулярное выражение: регулярное выражение для удаления всех строк, не содержащих WIF ^(?!.*WIF=).*$, регулярное выражение для извлечения значений WIF^.*WIF=(\w+).*$

У меня такая же проблема. Я использовал OpenSSL для расшифровки файла, ввел правильный пароль org.bitcoin.production, после чего последовала тарабарщина, сериализованная в protobuf. Затем я обработал вывод с помощью упомянутого здесь инструмента: https://github.com/lloeki/bitcoinj-wallet-dump , который, похоже, сработал успешно.

Он дал мне 271 публичный ключ, который использовал мой кошелек, выглядевший как обычный публичный ключ биткойна, и 271 закрытый ключ — все они были одинаковыми и состояли из 7 символов.

Итак, отвечая на ваш вопрос, этот инструмент github.com/lloeki/bitcoinj-wallet-dump работает, но я не уверен, как понять вывод.

Вывод выглядел примерно так (все значения изменены):

0 Опубликовано: 1V5h7k
0 Приват: FYhAv34
1 Опубликовано: 16wZac2mEc9jEtbdyGsUBeGR8YCVnJMLk4r2SXZ5k6v2HoCaoKY
1 Приват: FYhAv34
2 Опубликовано: 16PBXd5r563xSA8m5bgRQgDGmn7wJBUoA4mfsfike2a66jzdjZU
2 Приват: FYhAv34
3 Опубликовано: 16faRCW3znVawJis7DFnFNZTJ32F4ry5y7HEtnzPF9dKlXt6gVr
3 Приват: FYhAv34
4 Опубликовано: 18CmUT8CTfbwLzD9PmhDlukA5s1KqJK7PTP9NxYYP5wMkeP36PJ
4 Приват: FYhAv34
.....

Кто-нибудь знает, как понять вывод? Ожидается такой формат? Я ожидал полных пар открытого и закрытого ключей... разве что 7-символьная константа не является специальным ключом кошелька? Я не знаком с реквизитами кошелька..

Пожалуйста, удалите этот ответ, перейдите на gist.github.com , вставьте этот ответ, выберите «создать общедоступную суть», скопируйте ссылку на суть и вставьте ее как комментарий.
Я бы прокомментировал, но мне нужно 50 репутации ... поэтому я не могу комментировать чужой вопрос - если вы не имеете в виду комментарий к моему удаленному ответу, если это возможно?
Пробовали ли вы проверять свои адреса на blockchain.info , чтобы проверить, являются ли они действительными и имеют ли транзакции, которые имеют смысл для вас?
Я проверил несколько, но не смог найти ничего, что имело бы смысл. Я посмотрю более тщательно. Я не сделал 270 транзакций, хотя.
У меня вывод очень похож на 0lOl0. Удалось ли вам понять, почему закрытый ключ состоит всего из 7 символов? И как импортировать его в кошелек Bitcoin Cash?
разве в списке нет более длинного закрытого ключа? Это может быть тот. (Я только что вернулся из отпуска)
Чтобы узнать, какие открытые ключи имеют баланс:for p in $(bin/bitcoinj-wallet-dump exported_dump | grep Publ | cut -c10- ); do echo $p; curl -s "https://blockchain.info/address/$p" | grep final_balance; done
см. ответ от @Synesso. Работал на меня. Мне не нужно было ждать всей ./wallet-tool syncкоманды. Я прервал его через 5 минут. И все равно работало, хотя список транзакций был 0 в дампе.

Зная свой закрытый ключ, вы можете перевести/перевести свои средства Bitcoin Cash в автономный кошелек, такой как Coinomi, а затем перевести их на биржу.

Подробнее о процессе вывода ваших средств см. в разделе Как перевести закрытый расширенный ключ из мицелия в монеты для биткойн-наличных монет?