langerhans / dogecoin-wallet-new

Dogecoin Wallet app for your Android device. Standalone Dogecoin node, no centralized backend required. Forked from the popular Bitcoin Wallet.
188 stars 105 forks source link

[Feature Request] Cold Storage Importing, BIP38, and Partial Spending #12

Open angels-share opened 10 years ago

angels-share commented 10 years ago

Hi,

I would like to suggest adding a few related features to this already great wallet:

Thanks!

langerhans commented 10 years ago

Hi, thanks for the suggestions. Importing private keys is often requested, but currently I'm more in favor of a sweeping function. It's overall more easy and secure than just importing keys. BIP38 is something that seems to be incoming into upstream BitcoinJ, so I'll wait for that before doing something on my own. Partial spending... Hm, not sure about that, have to think about it. I heard it's risky...

angels-share commented 10 years ago

Thanks for your reply.

I mentioned partial spending because I recently acquired two of these - http://cryptocards.co - one for BTC, the other for DOGE. I really like being able to enter the BIP38 passphrase in Mycelium, spend part of the BTC balance, then have the rest returned. I know that recommended best practices would suggest sweeping or sending the change to a new address, but since it discards the decrypted private key I feel reasonably secure about reusing the wallet. Please do let me know if there's anything I'm missing in this scheme.

Also, I neglected to mention one other feature suggestion that may already be in the works:

Importing Watch Only addresses to track the balance of paper wallets, or any other public key. I'm currently using https://play.google.com/store/apps/details?id=com.myoid.cryptowatch for this purpose, but it would be nice to have it one place alongside my hot wallet.

langerhans commented 10 years ago

Watch only addresses would be cool, yep. But it would need a complete restructuring of the wallet. I would have no idea where to put it currently, as there is nothing like an account system for it. When I get sweeping going, adding partial sweeping would be a matter of just setting the change address to the sending address. But to get it going, I need a server side API to list all unspent outputs of an address as we obviously don't have the complete blockchain on our phones. I asked dogechain.info about it and they're looking into it. Still no BIP38 support though. I saw a library for it, but I read some concerns about the implementation so I'll wait a bit more until it's polished :)