Bitcoin Forum
December 10, 2016, 09:11:28 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 »
  Print  
Author Topic: Pywallet 2.2: manage your wallet [Update required]  (Read 137418 times)
piotr_n
Legendary
*
Offline Offline

Activity: 1512


aka tonikt


View Profile WWW
July 19, 2013, 06:29:14 PM
 #301

Thanks a lot! Smiley
As the first donator you can ask me any feature you want to be included in pywallet.
Have some more, since it makes you so happy Wink

I don't need a feature, but just want to let you know that IMO your tool is undoubtedly the most useful bitcoin tool out there.
Though, it would not be needed, if the actual client had the same commands just built in..
But well, at least soon it will have a great secured payment protocol. Everybody who wants to receive bitcoins will be able to submit his personal details directly to mossad, in order to receive a free certificate, which will guarantee that the bitcoin address he's sending to you is indeed his. Myself, I've been waiting for such a feature for years - using PGP signatures was so much of a hassle, and it was just too anonymous Wink

Check out gocoin - my original project of a bitcoin client written in Go, with some unique features.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
1481361088
Hero Member
*
Offline Offline

Posts: 1481361088

View Profile Personal Message (Offline)

Ignore
1481361088
Reply with quote  #2

1481361088
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481361088
Hero Member
*
Offline Offline

Posts: 1481361088

View Profile Personal Message (Offline)

Ignore
1481361088
Reply with quote  #2

1481361088
Report to moderator
1481361088
Hero Member
*
Offline Offline

Posts: 1481361088

View Profile Personal Message (Offline)

Ignore
1481361088
Reply with quote  #2

1481361088
Report to moderator
1481361088
Hero Member
*
Offline Offline

Posts: 1481361088

View Profile Personal Message (Offline)

Ignore
1481361088
Reply with quote  #2

1481361088
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
July 19, 2013, 07:04:48 PM
 #302

A quick question when you have the time (no rush), looking for clarification on tx_k & tx_v.

tx_k?
Looks like tx_k is the raw hex dump of the key as stored in the wallet db.  I would just be tx_id (tx_hash) however it looks like it is 02 + "tx" + reversed tx hash.  With the 02 being the length of the following string "tx".  Is that correct?

I assume this means that given an arbitrary tx hash one needs to reverse it and prepend 0x027478 to find the key/value pair in the db.  I know you didn't write the wallet but any insight as to why?  Why not just make the key the tx_id?  I mean if we start having hash collisions it means a lot more problems then just incorrect db reads.   


tx_v?
tx_v is the raw hex dump of the value stored in the wallet.db which should be the complete raw tx without any additional encoding.
Right?

(if it helps line 1687 in pywallet.py)
piotr_n
Legendary
*
Offline Offline

Activity: 1512


aka tonikt


View Profile WWW
July 19, 2013, 07:10:55 PM
 #303

bitcoin hashes are always in reversed order.
somebody came with an idea that lsb is faster on the machines we have, so why not to extend it to 256 bits.
I don't mean to criticize him, but IMHO it has not turned out to be the most optimal solution after all Smiley

Check out gocoin - my original project of a bitcoin client written in Go, with some unique features.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
July 19, 2013, 07:24:43 PM
 #304

bitcoin hashes are always in reversed order.
somebody came with an idea that lsb is faster on the machines we have, so why not to extend it to 256 bits.
I don't mean to criticize him, but IMHO it has not turned out to be the most optimal solution after all Smiley

Thanks.  Yeah all the endian changes make slogging through the code a real chore.  Any small performance gains are not worth the loss in transparency.

It is almost like a secret handshake that each developer needs to learn.
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
July 19, 2013, 07:58:14 PM
 #305

Thank you piotr_n!


bitcoin hashes are always in reversed order.
somebody came with an idea that lsb is faster on the machines we have, so why not to extend it to 256 bits.
I don't mean to criticize him, but IMHO it has not turned out to be the most optimal solution after all Smiley

Thanks.  Yeah all the endian changes make slogging through the code a real chore.  Any small performance gains are not worth the loss in transparency.

It is almost like a secret handshake that each developer needs to learn.
My thoughts exactly

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
July 19, 2013, 07:59:30 PM
 #306

New version 2.1.0b2: http://pastebin.com/raw.php?i=2FtQDj3v


You might want to try
Code:
python pywallet_2.1.0b2.py --clone_watchonly_from /home/jackjack/wallet.dat --clone_watchonly_to /home/jackjack/wallet2.dat

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
dserrano5
Legendary
*
Offline Offline

Activity: 1638



View Profile
July 20, 2013, 01:41:00 PM
 #307

No problem. Smiley  Coins sent https://blockchain.info/tx/02f632bea4b192f899108b3706e001e828eed546eac0b19321154278c034c7c3  

Wait nobody has ever donated?  WTF?

I for one made a donation some time ago, although not to that address but to jackjack's.

jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
July 24, 2013, 01:40:25 PM
 #308

Thank you dserrano5, thank you the third guy who donated to the pywallet address, and thanks to anybody who ever donated to my address Wink

The two features I've been testing in the last version seems to work now.
They are:
  • Creating a watch-only clone of a wallet
  • Deleted wallets recovery (encrypted+unencrypted wallet, on Linux+Windows)

That would be nice if some people can confirm they work. Even if you can test only one.

Last version: 2.1.0b13



Creating a watch-only clone of a wallet

Short version:
Backup your wallet
Then
Code:
python pywallet_2.1.0b13.py --clone_watchonly_from /path/to/wallet/wallet.dat --clone_watchonly_to /path/to/clone/wallet.watching.dat

Long version:
DeathAndTaxes' thread: https://bitcointalk.org/index.php?topic=257891.0



Deleted wallets recovery (encrypted+unencrypted wallet, on Linux+Windows)

Pywallet will go through these steps:
 1. read every byte on the disk to look for keys (sloooooooooow, ~600Mo/min)
 2. create a partial file (in outputdir) so that if you forgot a passphrase but remember it later you don't have to go through step 1 again
 3. test all the passphrases for the most possible (encrypted private key / encryption parameters) pairs
 4. if there are some private keys still not decrypted, YOU chose whether or not you want to test all passphrase with all encryption parameters with all undecrypted private keys

Note that recov_size must be higher than the size of recov_device and that recov_outputdir must exist

Usage examples for Linux and Windows:
Code:
python pywallet_2.1.0b13.py --recover --recov_device /dev/sda --recov_size 30Gio --recov_outputdir /home/jackjack
Code:
python pywallet_2.1.0b13.py --recover --recov_device c: --recov_size 30Gio --recov_outputdir c:\recoveredwalletsfolder

Usable units:
Code:
ko kio kB kiB Mo Mio MB MiB Go Gio GB GiB

PS: to use a partial recovery file, the command is the following (notice --recov_device):
Code:
python pywallet_2.1.0b13.py --recover --recov_device=PartialRecoveryFile:./pywallet_partial_recovery_1374430501.dat --recov_outputdir c:\recoveredwalletsfolder --recov_size 30Gio

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
July 29, 2013, 08:45:42 PM
 #309

I guess everything's ok, the official 2.1.0 with working watchonly-cloning and recoveries will be pushed soon.

Also, great news I received a great piece of work


Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
K1773R
Legendary
*
Offline Offline

Activity: 1526


/dev/null


View Profile
July 30, 2013, 02:55:37 AM
 #310

they've send u a trezor unit? nice! hows the protocol?

[GPG Public Key]  [Devcoin Builds]  [BBQCoin Builds]  [Multichain Blockexplorer]  [Multichain Blockexplorer - PoS Coins]  [Ufasoft Miner Linux Builds]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
July 30, 2013, 12:41:10 PM
 #311

Yes it's kinda exciting!
The problem is that the system is emulated and sadly not fully coded so I can't be sure of anything. It seems pretty straight forward so far.
I'll contact slush soon to address this.


2.1.0 pushed btw

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
btc4ever
Sr. Member
****
Offline Offline

Activity: 419


View Profile
August 14, 2013, 11:03:49 PM
 #312

Here's the essence of the present deletion algo:

Quote
for i,keydel in enumerate(kd):
   for (key, value) in db.items():
                ...
      if keydel == public_key_to_bc_address(kds.read_bytes(kds.read_compact_size())):
         db.delete(key)

The problem is that pywallet is looping over the entire database for every single entry.  Apparently it does this because it needs to calculate the bitcoin address for the public key stored in the wallet, to compare against the address to be deleted.    This grinds to a near halt when trying to delete lots of keys from a very large wallet.

Suggested improvement:

1) Iterate through all the DB keys just once at the beginning and store, keyed by the bitcoin address, eg: <address> : <key>.  ( Could use a python dictionary for this if a small number of items, but should use a new BDB database if a large number of items to avoid swapping. )

2) Iterate through the addresses requested to be deleted.  For each, just lookup the address to find the key, and if found delete it.

This way, we have created an index, so there is no longer any need for a nested loop.

Proposed algo:

Quote
db_map = new BDB
for (key, value) in db.items():
        ...
   db_map.store( public_key_to_bc_address(kds.read_bytes(kds.read_compact_size())), key )

for i,keydel in enumerate(kd):
   key = db_map.get( keydel )
   if key:
      db.delete(key)

Psst!!  Wanna make bitcoin unstoppable? Why the Only Real Way to Buy Bitcoins Is on the Streets. Avoid banks and centralized exchanges.   Buy/Sell coins locally.  Meet other bitcoiners and develop your network.   Try localbitcoins.com or find or start a buttonwood / satoshi square in your area.  Pass it on!
melnikalex
Member
**
Offline Offline

Activity: 60


View Profile
August 15, 2013, 09:10:15 AM
 #313

Does it possible to use "pywallet --recover" with option "--otherversion", how to make it work?

Have two broken wallet.dat on two pc, with some pennies, --otherversion=55/56/57, pywallet do not want to dump them, said "Error in dump page".
Maybe someone knew another way to recover private keys for broken wallets?

Thanks.
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
August 15, 2013, 08:23:10 PM
 #314

Thanks for the input, it's really appreciated
I won't have my dev environment with me until next week, I'll integrate this as soon as possible

Does it possible to use "pywallet --recover" with option "--otherversion", how to make it work?

Have two broken wallet.dat on two pc, with some pennies, --otherversion=55/56/57, pywallet do not want to dump them, said "Error in dump page".
Maybe someone knew another way to recover private keys for broken wallets?

Thanks.

Just use it without otherversion, the wallet format is exactly the same for all altcoins
Also AFAIK pywallet is the easier (only?) way to recover broken/deleted wallets

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
August 18, 2013, 07:31:35 PM
 #315

I'm trying to recover a devcoin wallet that was overwritten during a moment of carelessness. I'm real new to Python but have got pywallet running in the CMD line in Windows (64 bit Windows 7) and am at the options menu.

I'm getting a couple errors - 'ecdsa' package is not installed, and 'A mandatory option is missing'. Also am not getting http://localhost:8989/ to display, am seeing 'neterror connection failure' in one of my security addon pop ups in my browser window.

ecdsa not being installed is not an issue
The mandatory option missing means you didn't tell pywallet what to do
If you want the web interface, you must do
Code:
python pywallet.py --web
If you want to recover wallets (impossible with the web interface), you must do
Code:
python pywallet.py --recover ...
The exact syntax is here: https://bitcointalk.org/index.php?topic=34028.msg2794856#msg2794856


Just wanted to confirm that it will work recovering overwritten dvc keys? And have figured to set path to destination folder, but unsure on how to configure command (with path), and how to get web interface working. Any direction appreciated, even if I cant recover, it's always good to learn something new.
I confirm it will recover them, if they still are physically present on your disk
As I wrote above, the syntax is
Code:
python pywallet.py --recover --recov_device c: --recov_size 30Gio --recov_outputdir c:\recoveredwalletsfolder
This will create a huge wallet.dat in c:\recoveredwalletsfolder
It will contain all the keys it could find on your disk, whatever the altcoin you were using them with

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
jackjack
Hero Member
*****
Offline Offline

Activity: 882


May Bitcoin be touched by his Noodly Appendage


View Profile
September 01, 2013, 07:58:11 PM
 #316

As the new version will have nothing to do with the current code I think I'd better change the name... It's kinda sad as I find the name "pywallet" quite catchy and I've been using it for more than 2 years now!
But well...
  • I can't name a pre-alpha software like something that is mature for 2+ years
  • 3 different programs (Joric's original software, my curent fork and my future work) with the same name is rather unfriendly...

Moreover I'm bad at finding good names, so I'd like to know if anyone here has ideas

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
gramma
Full Member
***
Offline Offline

Activity: 194



View Profile
September 01, 2013, 09:45:41 PM
 #317

As the new version will have nothing to do with the current code I think I'd better change the name... It's kinda sad as I find the name "pywallet" quite catchy and I've been using it for more than 2 years now!
...
Moreover I'm bad at finding good names, so I'd like to know if anyone here has ideas

I suck worse, but maybe if I throw a few out there, it'll spark other ideas:

    WalletGenie
    WalletMender
    WalletMinder
    FixMyWallet
    KeyMinder
    WalletGenius

I'm SURE there are others.  I love pywallet too, but i agree that it's been through a few changes.  And besides, having "py" in the name kinda ties it to Python.  Hmmm... one more suggestion:

    PryWallet

There.

BTC: 1MrNRPo7p8DEyxn87c9BCGwrbatBQeCHc1
dserrano5
Legendary
*
Offline Offline

Activity: 1638



View Profile
September 02, 2013, 07:41:16 AM
 #318

pywallet-ng Tongue.

Dabs
Staff
Legendary
*
Offline Offline

Activity: 1526


64blocks.com


View Profile WWW
September 02, 2013, 02:00:50 PM
 #319

WalletEditor.

Or JackWallet.

64blocks.com Social Multiplayer Dice (Gambling) - Escrow Service (Services) - GPG ID: 32AD7565, OTC ID: Dabs
All messages concerning escrow or with bitcoin addresses are GPG signed. Please verify.
CompTIA A+, Microsoft Certified Professional, MCSA: Windows 10; Windows Server 2012, MCSE: Cloud Platform and Infrastructure; Productivity; Messaging
dillpicklechips
Sr. Member
****
Offline Offline

Activity: 438


View Profile
September 02, 2013, 03:31:48 PM
 #320

WalletSurgeon!  Grin
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 »
  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!