- MINING CLUB торгово-информационный портал для майнеров
- → Просмотр профиля: Темы: allbanks
Статистика
- Группа: Пользователи
- Сообщений: 6
- Просмотров: 2 355
- Статус: Новичок
- Возраст: Неизвестен
- День рождения: Неизвестен
-
Пол
Не указал
Инструменты
Друзья
allbanks еще не добавил друзей
Последние посетители
Нет последних посетителей для отображения
Мои темы
ohgodatool криво работает
25 сентября 2017 - 02:27
Восстанавливаем поврежденный wallet.dat
18 июля 2017 - 04:13
Условия задачи:
1. wallet.dat не зашифрован (не был установлен пароль)
2. Вы не ищете средства на z-адресах zcash и его форках (бабло на t-aдресах данным способом восстанавливается)
3. Юзаем линукс, ибо в нем всё необходимое уже есть из коробки.
wallet.dat может быть поврежден кучей способов (виноват хдд или флешка, баг самого клиента, валлет был случайно удален и восстановлен частично). В этом случае при запуске клиента поврежденный файл будет переименован с расширением .bak и создан пустой новый кошелек.
Итак, в wallet.dat все приватные ключи хранятся в hex-формате, при этом совершенно непонятно, какой ключ какому адресу принадлежит. Наша задача состоит в том, чтобы hex преобразовать в WIF (wallet import format), после чего импортировать его в новый кошелек, таким образом получив доступ к балансу. Если кошелек использовался активно, то ключей там может быть ОЧЕНЬ много, даже в только что созданном wallet.dat может быть больше ста ключей.
Сначала объясню на кошках на примере одного единственного приватного ключа BTC или ZEC.
Итак, у нас есть ключ вида: 0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
Добавляем в начало префикс 80: 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
Префикс берется из исходного кода нужной монеты из файла src/chainparams.cpp
BTC: https://github.com/b...params.cpp#L127
Число 128 переводим из десятичной системы в шестнадцатеричную, получаем 80.
ZEC: https://github.com/z...params.cpp#L162
Здесь это число сразу в шестнадцатеричной системе, берем как есть.
LTC: https://github.com/l...params.cpp#L141
Число 176 переводим из десятичной системы в шестнадцатеричную, получаем B0.
Добавляем в конец суффикс 01: 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D01
Добавив этот суффикс, мы получим приватные ключи в сжатом (compressed) формате, они начинаются на K или L. Если нужны ключи, которые начинаются на 5 (uncompressed), то суффикс не добавляем.
Берем утилиту Bitcoin Explorer https://github.com/l...itcoin-explorer
Скачать готовый запускаемый файл можно здесь https://github.com/l...iki/Download-BX
Вычисляем sha256 из нашего числа:
Получаем b504a81b66924482a289ce571a614c37b122f40cefb0abba0227e143154c2153
Вычисляем sha256 из полученного числа:
a62019d20340a1de1b5f254f07f2f6c96ad5165218459ab4f3c8f5a7c0e12183
Первые восемь знаков - это контрольная сумма, которую мы должны добавить в конец нашего ключа.
800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D01a62019d2
И наконец получаем приватный ключ, который можно импортировать в кошелек (WIF), с помощью base58-encode:
KwdMAjGmerYanjeui5SHS7JkmpZvVipYvB2LJGU1ZxJwYvP98617
Запускаем bitcoind и импортируем ключ:
Проверяем баланс:
Теперь перейдем к работе с файлом кошелька. Пусть это будет zcash. Качаем и скидываем в одну директорию:
поврежденный wallet.dat
bx-linux-x64-qrcode
zcashd
zcash-cli
Сначала нужно файл кошелька преобразовать в текстовый формат:
Далее полученный файл нужно препарировать так, чтобы в нем остались только ключи. В wallet.dat ключи находятся между значениями f70001d63081d30201010420 и a08185308182020101302c06072a8648ce3d0101022100.
Эту конструкцию сложно понять без бутылки, поэтому попытаюсь объяснить.
Первый sed вставляет знак перевода строки после каждого значения f70001d63081d30201010420
Второй sed вставляет знак перевода строки перед каждым значением a08185308182020101302c06072a8648ce3d0101022100
Третий sed удаляет все строки со значением f70001d63081d30201010420
Четвертый sed удаляет все строки со значением a08185308182020101302c06072a8648ce3d0101022100
На выходе получаем файл keys.temp со всеми ключами, найденными в wallet.dat. Ключи будут расположены построчно.
Удаляем повторы и добавляем нужные префикс и суффикс:
sort keys.temp | uniq -u | awk '{print "80"$0"01"}' > keys
Если нужны uncompressed ключи (5), то 01 просто удаляем.
Вычисляем два раза sha256 из каждой строки в файле keys:
Теперь каждую строку строку в полученном файле checksum.temp нужно обрезать, оставив только первые восемь символов (контрольная сумма):
"Cклеиваем" построчно файлы keys и checksum:
Получаем файл с приватными ключами, которые уже можно импортировать в кошелек:
Отключаем интернет.
Запускаем клиент:
touch $HOME/zcash_temp/zcash.conf
./zcashd -daemon -datadir=$HOME/zcash_temp/
Почему так? Дело в том, что если у вас уже скачан блокчейн, то импорт ключей займет очень много времени. То есть мы запускаем в данном случае "чистый" клиент без интернета.
Импортируем ключи:
./zcash-cli -datadir=$HOME/zcash_temp/ stop
Новый wallet.dat будет находиться по пути /home/ЮЗЕРНЕЙМ/zcash_temp/
Осталось лишь положить wallet.dat на штатное место (в линуксе это скрытые папки в хоуме .zcash, .bitcoin, .litecoin и т.д.) и запустить qt-кошелек с параметром -rescan.
Как просрать 150 000... Фермочка из ASUS 5700 XT TUF
05 июля 2017 - 08:29
Для сборки использовал
Материнская плата ESONIC B250-BTC-Gladiator (LGA1151, ATX)
Какой то проц и оперативку
Рейзера
И легендарный корпус и 2*3 деревяшек...
Питает это все HX1000
НО пришлось его доукомплектовать
Благо на питальнике хватает мест по 5 молексов и 5 PCIE
Недостающие провода можно докупить
И получилось ЭТО
ЭТО СТАБИЛЬНОСТЬ работы фермы...
КАК ВЫ видите ее нет...
После прошивки в Asus.RX5700XT.8192.200116.rom и таймингами от 1500 из других карт + переход с феникса на тимредмайнер
Получилось небольшая стабильность
В целом остался доволен... так как давно так не мучался с 1 фермой
В цифрах 280-290mh на 800-900w тут как повезет...
МОЖНО уменьшить жор но и хэши падают...
Выжимаем Vega на Hiveos
01 июля 2017 - 02:51
- MINING CLUB торгово-информационный портал для майнеров
- → Просмотр профиля: Темы: allbanks
- Privacy Policy