Bitcoin Forum
December 09, 2016, 10:05:55 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Формат wallet.dat  (Read 4661 times)
suppp
Sr. Member
****
Offline Offline

Activity: 300



View Profile
November 01, 2011, 12:25:21 PM
 #1

Подскажите плиз, где взять спецификацию на формат файла wallet.dat ?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481277955
Hero Member
*
Offline Offline

Posts: 1481277955

View Profile Personal Message (Offline)

Ignore
1481277955
Reply with quote  #2

1481277955
Report to moderator
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
November 01, 2011, 02:05:32 PM
 #2

Подскажите плиз, где взять спецификацию на формат файла wallet.dat ?
Могу поделиться награбленной инфой, спецификации не видел.

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
suppp
Sr. Member
****
Offline Offline

Activity: 300



View Profile
November 01, 2011, 02:50:32 PM
 #3

Буду очень признателен  Smiley
rPman
Legendary
*
Offline Offline

Activity: 1078


View Profile WWW
November 01, 2011, 03:25:30 PM
 #4

тоже был бы рад...

p.s. а не разместить ли эту информацию где-нибудь в вики? например тут https://en.bitcoin.it/wiki/wallet.dat

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
November 02, 2011, 08:12:36 AM
 #5

тоже был бы рад...

p.s. а не разместить ли эту информацию где-нибудь в вики? например тут https://en.bitcoin.it/wiki/wallet.dat
К большому сожалению, не обладаю хорошими познаниями в разметке wiki знанием иностранного языка, и умением в создании документации.
Но могу ответить на ваши вопросы в теме. Быть может кто либо итогам треда заполнит wiki...

Для начала:
файл wallet.dat представляет из себя 2-х мерную таблицу

ключ | значение

не печатные символы я буду заменять * если буду отображать символ в 16-ой системе то буду ставить перед последовательностью 0x
если последовательность текстовая ставить u и заключать в ' '
знак ~ перед символами или после символов означает что перед символами или после символов означает разрыв.

В качестве ключа может выступать поле содержащее key например
0x03 u'key' ~ стандартное начало поля "ключ"
0x03 означает что следом идет 3 символа 'key' отвечающие за тип поля

ключ tx
0x02 u'tx' следом 32 символа являющиеся хешем tx которые показывает утилита опубликованная тут https://bitcointalk.org/index.php?topic=25346.msg327142#msg327142
следует учитывать что хеш в wallet.dat в отличии от BBE перевернут побайтно, т.е. 012345 => 452301

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
rPman
Legendary
*
Offline Offline

Activity: 1078


View Profile WWW
November 02, 2011, 11:16:04 AM
 #6

Привести к формату вики - это самое простое, я могу этим заняться.. нужна сама информация.

Какая информация хранится в файле - транзакции, адреса,.. что еще? какая информация доступна по каждому объекту? Есть ли связанные данные? (например есть запись адрес и есть список пар ключ-значение для этого адреса) и т.п.

p.s. Точно помню была утилита, позволяющая весь wallet.dat экспортировать в json формат пообъектно, отредактировать его и сформировать новый файл полностью по этой информации, бегло поискал, не могу найти.

Так вот нужны правила, позволяющие проводить подобные изменения, а так же что происходит когда совершаются типичные действия (появились транзакции, появились блоки), а не просто тут данные X там данные Y. Я понимаю вся эта информация находится в исходных текстах клиента, но читать их несколько затруднительно.

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
November 07, 2011, 08:56:26 AM
 #7

в wallet.dat храниться информация следующего (известного мне) типа
tx, key, name, pool, setting, version, defaultkey.

далее будет hex значения полей ключ/значение всех типов с пояснениями

ключ tx содержит информацию о транзакции:
длинна 35 байт, дамп (02747800a18734f1701b06a53c46c63646261d3c8060708ad3e50e4da949ff20729b61)
пояснение 02 длинна ключа идущего далее, 7478 символы tx, 00a18734f1701b06a53c46c63646261d3c8060708ad3e50e4da949ff20729b61 хеш транзакции.
значение:
длинна неопределенна, дамп
(0100000001541ef309dc591e60ab88046034f4c9b53910698211859e9861baf8554cb6b74100000 0008a4730440220493c28649c7140fa7142a8567eabf5eb3082caf04266bdda54bacbf0981c14ec 0220127c7fb73efc2e42784a61a7f0f79a35a42b8f4a3258026de69dbf934c7fb887014104c127c a2c230432a89b93a6c4cbd2e8beb53d711596e0572633bb4474422e61898f0759acad51ec06b97d 2a0a82acdd84ad9aff20c80295bf3ce820d3051c232bffffffff02103e7681000000001976a914c 2a41578faf621bcebd69153cefd821e106d3be388ac40ee2d12000000001976a9145811cfd9bc24 826c2ed456e14fbd79525387bc9d88ac00000000f89c3adabac51be9204a55572cb992f610fe140 00d49f25f4a4100000000000007fe5545622aa386907d50018062e1381ff502a9418d6b431025ca 28722ea267030f9564c345a9a6fd32d4ba6038eeb4693541c4c3925d449d08ae7d350520ce09f04 6f3f4e5e9a932a0227f5493b364e11fe46b0eb2d8d01124d2e05c774ee735dd989691507b8bcef8 2d09a50d749dbabd8f6062734bfd7e3dbae544b62067ef96ae7ee1d9b46536bc84b4076395a7965 c87633d73ab0ef6fc7c86990faf4ee2f4303a9edad2be95608624a23e3043aa16c3b1679189efeb a5ce611dd6af6daaabef7d5d185550cfac3ede628d833a9de34ed4455cdc34f9a77bd88a15c5077 12500000000010b66726f6d6163636f756e7400000000000038d0d04d0001)
пояснение содержит транзакцию в том виде в котором рассылалась по сети, и содержится в блоке
01000000 версия (revers)
01 кол-во вводов в транзакцию
541ef309dc591e60ab88046034f4c9b53910698211859e9861baf8554cb6b741  хеш ввода
00000000 номер вывода из tx ввода
8a = 138 байт длинна подписи
4730440220493c28649c7140fa7142a8567eabf5eb3082caf04266bdda54bacbf0981c14ec02201 27c7fb73efc2e42784a61a7f0f79a35a42b8f4a3258026de69dbf934c7fb887014104c127ca2c23 0432a89b93a6c4cbd2e8beb53d711596e0572633bb4474422e61898f0759acad51ec06b97d2a0a8 2acdd84ad9aff20c80295bf3ce820d3051c232b подпись
ffffffff sequence
02 колличество выводов
103e768100000000 кол-во монет (revers) = 2172010000 (21.7201)
19 длинна ключа на который выводим монеты
76a914c2a41578faf621bcebd69153cefd821e106d3be388ac ключ (адрес HASH160)
40ee2d1200000000 кол-во монет (revers) = 305000000 (3.05)
19 длинна ключа на который выводим монеты
76a9145811cfd9bc24826c2ed456e14fbd79525387bc9d88ac ключ (адрес HASH160)
00000000 время блокировки tx
f89c3adabac51be9204a55572cb992f610fe14000d49f25f4a41000000000000 хеш блока содержащего tx (revers)
07fe5545622aa386907d50018062e1381ff502a9418d6b431025ca28722ea267030f9564c345a9a 6fd32d4ba6038eeb4693541c4c3925d449d08ae7d350520ce09f046f3f4e5e9a932a0227f5493b3 64e11fe46b0eb2d8d01124d2e05c774ee735dd989691507b8bcef82d09a50d749dbabd8f6062734 bfd7e3dbae544b62067ef96ae7ee1d9b46536bc84b4076395a7965c87633d73ab0ef6fc7c86990f af4ee2f4303a9edad2be95608624a23e3043aa16c3b1679189efeba5ce611dd6af6daaabef7d5d1 85550cfac3ede628d833a9de34ed4455cdc34f9a77bd88a15c507712500000000010b66726f6d61 63636f756e7400000000000038d0d04d0001 инфа об этой части данных потеряна

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
November 07, 2011, 09:14:59 AM
 #8

ключ key содержит информацию о ключе:
длинна 70 байт, дамп (036b6579410401d6ea56cb8cf874c6c7c421a468cc32865d3618e098ac033776276206e665120c6 41174783a3da7b05254030128d30b8b0fdd597893b56ba6177f916a2d1838)
пояснение 03 длинна ключа, 6b6579 символы 'key', 410401d6ea56cb8cf874c6c7c421a468cc32865d3618e098ac033776276206e665120c641174783 a3da7b05254030128d30b8b0fdd597893b56ba6177f916a2d1838 публичный ключ
значение:
длинна 282, дамп
fd1701308201130201010420****************************************************************a081a53081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101a1440342000401d6ea56cb8cf874c6c7c421a468cc32865d3618e098ac033776276206e665120c641174783a3da7b05254030128d30b8b0fdd597893b56ba6177f916a2d1838
пояснение
fd1701308201130201010420 константная последовательность
**************************************************************** приватный ключ
a081a53081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffff ffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce 870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a 68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbf d25e8cd0364141020101a144034200 константная последовательность
0401d6ea56cb8cf874c6c7c421a468cc32865d3618e098ac033776276206e665120c641174783a3 da7b05254030128d30b8b0fdd597893b56ba6177f916a2d1838  публичный ключ

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
November 07, 2011, 09:24:11 AM
 #9

ключ name содержит alias адреса
дамп: (046e616d652131684e6750756f45455363514266577143596177387a4c66674d356a5944474350)
пояснение:
'04' 4 символа, '6e616d65' = name, '21' = !, '31684e6750756f45455363514266577143596177387a4c66674d356a5944474350' = 1hNgPuoEEScQBfWqCYaw8zLfgM5jYDGCP
значение:
дамп (0c77616c6c65745f7768697465)
пояснение: '0c' = 12 символов в alias, 77616c6c65745f7768697465' = 'wallet_white' это и есть alias

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
suppp
Sr. Member
****
Offline Offline

Activity: 300



View Profile
November 07, 2011, 11:34:56 AM
 #10

Lis, спасибо!
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
November 09, 2011, 09:18:17 AM
 #11

Lis, спасибо!
You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
suppp
Sr. Member
****
Offline Offline

Activity: 300



View Profile
November 09, 2011, 09:37:25 AM
 #12

благодарю, отправил 0.25 Smiley
btcsec
Hero Member
*****
Offline Offline

Activity: 670


BITS.MEDIA


View Profile WWW
November 13, 2011, 11:45:43 AM
 #13

А как можно в кошелек вкрутить новый адрес с ключом, сгенерированный с помощью oclvanitygen, например? В особенности интересует прикручивание после шифрования кошелька в версии 0.4.0

Bits.media - русскоязычный информационный ресурс о сети Bitcoin
N.Z.
Sr. Member
****
Offline Offline

Activity: 449



View Profile
November 13, 2011, 09:09:17 PM
 #14

А как можно в кошелек вкрутить новый адрес с ключом, сгенерированный с помощью oclvanitygen, например? В особенности интересует прикручивание после шифрования кошелька в версии 0.4.0
С помощью костылей:
How do I import the private key into bitcoin?

If you wish to spend coins received on a vanity address created by vanitygen, you must import the private key into a bitcoin client.  This process is currently quite difficult.  There are two popular methods of doing this:

  • Sipa's showwallet branch is a patch to the official bitcoin client.  It adds a new command called "importprivkey" that accepts the base-58 encoded private key.  Vanitygen has been tested to work with that version of bitcoin.  Unfortunately, to use this code, you must rebuild the bitcoin client by hand, or get a pre-built binary from a trusted source.
  • Jackjack's pywallet script is an all-in-one tool that directly modifies the wallet.dat file.  This works with a normal, unpatched bitcoin client, but does require Python with the bsddb package.
Также тут
Quote from: Bitcoin.it
As of October 2011, the easiest way to redeem a private key is on MtGox's Add Funds screen. Funds are deposited to the MtGox account after a six-confirmation wait (typically an hour or two).

Итого: патч + самостоятельная сборка, питоновский скрипт или загрузить адрес с бабками на мтгокс. В последнем случае, понятно, адрес импортируется в клиент биржи.
LZ
Moderator
Legendary
*
Offline Offline

Activity: 1456


Satoshi everywhere!


View Profile WWW
November 14, 2011, 09:44:27 AM
 #15

PyWallet весьма удобен. Правда на поддержку шифрованного кошелька не проверял.

"Never invest unless you can afford to lose your entire investment." © S3052
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!