Found this thread looking for some pywallet help and figure since it's still active I may as well ask.

I'm a developer with AllCrypt.com, a crypto exchange. We've been using the internal accounting on most wallets as a secondary/backup failsafe (user hacks site, starts withdrawing coins the hacked/corrupted/overwritten database says is there, but the wallet stops the send as it knows, internally, that the user does not have enough coins). We're moving away from that as MANY altcoins have horrendous internal accounting, and larger coins like BTC and DOGE are now taking a performance hit because of the bloat. We're implementing a new system that handles the accounting in a second layer, to free that load off the wallets themselves. (Plus as a dandy little bonus, we implemented a frontend to the wallet's RPC calls, thus extending the calls, or creating new ones as need be. Pre-caching the address keypool so no waiting for an address? Hallelujah! Who else hates walletpassphrase throwing an exception just because the wallet is already unlocked? Can I get an A-men?!)

Anyway (Sorry, it's late, I'm exhausted) We were going to just export and reimport all private keys into a new wallet, but, then we lose all transaction info (we can no longer do a gettransaction to get details of an older deposit, for instance).

Is there a way, with pywallet, to export all transactions, let us clean up the list (remove all "moves" to/from internal accounts) and re-import them into a clean wallet without any accounting?

I see on the import page the ability to import a single transaction, but it wants a "Txk" and "Txv"? Key and... value? That seems like it's missing info it would need. I assume to mass import them I'd need to script it?

Just wondering if there is a simple answer before starting to mess directly with the software. Thanks all.

Is the import accessable through the command line? I took a closer look last night and it doesn't appear to be. Thats all I need, I can script the rest.

Anyone have any reference online on the format for all that? I'd prefer to read up and learn as opposed to spending hours breaking a wallet and learning. One is much more efficient

Thanks for all your hard work by the way jack. PM me a donation address I'll throw some BTC your way. Before I started allcrypt I used pywallet to recover keys lost on a personal wallet when I had a hard drive crash, and it's an invaluable tool with our site. So many times we need to remove a 0 confirmation transaction to recover a withdrawal from a wallet that was too stupid to set it's own fee correctly. Would be nigh impossible without pywallet.

Thanks for all your hard work by the way jack. PM me a donation address I'll throw some BTC your way. Before I started allcrypt I used pywallet to recover keys lost on a personal wallet when I had a hard drive crash, and it's an invaluable tool with our site. So many times we need to remove a 0 confirmation transaction to recover a withdrawal from a wallet that was too stupid to set it's own fee correctly. Would be nigh impossible without pywallet.

No problem it's not really announced yet.It's standalone, with 3 interfaces: GUI with PyQt, command line and local web server. Features and interfaces are separated so all the features are available from all the interfaces.

Finally managed to install everything in order to run pywallet. Still can't access it through web interface, neither I can dump a wallet through command line... Any clues on what I'm doing wrong?

What happens exactly?What do you want to do?

If I run it through the command line, it simply says it's not recognized. If I run it through python with the --web, it just says things like invalid synthax.

I think I installed everything correctly. Had to download setuptools and zope.interface from 3rd party websites because they weren't avaliable on the Python website... Not sure if that's what causing the problem.

As for what I want to do... I want to open a wallet that's giving me quite a big headache (unlocked it multiple times with my passphrase, which suddenly stopped working. And yes, I am 100% sure I'm using the correct passphrase)

EDIT2: somehow the pywallet file did not download correctly... just replaced it with the correct file and it just booted the web interface. Sorry for this noobish mistake, I'm guess I'm just mad at my wallet file, lol. Thanks anyway

I've been asked the meaning of the JSON keys for the addresses, here it isTell me if I forgot anything

Quote

addr: bitcoin addresscompressed: whether the key is compressed or notencrypted_privkey: encrypted private key (only present if the wallet is encrypted)hexsec: private key in hexadecimal format (32 bytes)secret: hexsec with 0x01 appended if the key is compressed (32 or 33 bytes)sec: bitcoin private key (base58check'd)pubkey: public key in DER format, ie 0x04+X+Y or 0x02+X or 0x03+X (33 or 65 bytes)reserve: whether the key is in the pool or not

I've been asked the meaning of the JSON keys for the addresses, here it isTell me if I forgot anything

Quote

addr: bitcoin addresscompressed: whether the key is compressed or notencrypted_privkey: encrypted private key (only present if the wallet is encrypted)hexsec: private key in hexadecimal format (32 bytes)secret: hexsec with 0x01 appended if the key is compressed (32 or 33 bytes)sec: bitcoin private key (base58check'd)pubkey: public key in DER format, ie 0x04+X+Y or 0x02+X or 0x03+X (33 or 65 bytes)reserve: whether the key is in the pool or not

Thanks, this will be handy. Out of curiosity: how can I calculate the version of a coin? As far as I've read, it has to do with the public address... but can't seem to find a way to see the version of a specific crypto.

Thanks, this will be handy. Out of curiosity: how can I calculate the version of a coin? As far as I've read, it has to do with the public address... but can't seem to find a way to see the version of a specific crypto.

I think, if you go to coin's repo, you may get it(most of the coin uses github). Try to search there and you may want to search in discussion too. If there is any other possible ways, it would be very helpful.