Sorry, but I have a specific desire to copy my PC wallet to my phone and use it.

You'll probably never be able to copy wallet.dat directly. The closest you can get is exporting and importing the private keys and rescan the blockchain. This is currently not supported in Bitcoin Wallet but maybe will in future (patches welcome).

If you switch your PC wallet to MultiBit, that wallet format (protobuf) is compatible to Bitcoin Wallet. You'll need root on your Android device to push the wallet though.

Whichever route you take, be careful. Its easy to unintentionally double-spend with the same keys in two wallets.

Sorry, but I have a specific desire to copy my PC wallet to my phone and use it.

You'll probably never be able to copy wallet.dat directly. The closest you can get is exporting and importing the private keys and rescan the blockchain. This is currently not supported in Bitcoin Wallet but maybe will in future (patches welcome).

If you switch your PC wallet to MultiBit, that wallet format (protobuf) is compatible to Bitcoin Wallet. You'll need root on your Android device to push the wallet though.

Whichever route you take, be careful. Its easy to unintentionally double-spend with the same keys in two wallets.

Hey thanks for that solution. I might take that route if I can't succeed in the current route I'm trying.

Replied. Basically, it doesn't ever seem like there's a problem to the user.. other than that the coins never show up in the receiving wallet. There are connections, the send process looks to complete just like all the other times, just nothing actually happens.

Replied. Basically, it doesn't ever seem like there's a problem to the user.. other than that the coins never show up in the receiving wallet. There are connections, the send process looks to complete just like all the other times, just nothing actually happens.

Not a bug with the app, just the stupid transaction fees. Basically, I was attempting to send something like 51 btc from 4 inputs to a single output and it was being rejected because I didn't include a fee. Instead, if I sent each of the input amounts separately, they were relayed successfully.

The fees are having the exact opposite of their intended results... a bunch of single, smaller transactions work vs 1 larger transaction that doesn't work.

Replied. Basically, it doesn't ever seem like there's a problem to the user.. other than that the coins never show up in the receiving wallet. There are connections, the send process looks to complete just like all the other times, just nothing actually happens.

Not a bug with the app, just the stupid transaction fees. Basically, I was attempting to send something like 51 btc from 4 inputs to a single output and it was being rejected because I didn't include a fee. Instead, if I sent each of the input amounts separately, they were relayed successfully.

The fees are having the exact opposite of their intended results... a bunch of single, smaller transactions work vs 1 larger transaction that doesn't work.

That means the transaction was larger than 10 kB in size? With only 4 inputs I find this a little bit hard to believe... Either that or the following isn't correct (or there is a bug in the software):

Quote

A transaction can be sent without fees if both of these conditions are met:- It is smaller than 10 (SI) kilobytes (10.000 bytes).- All outputs are 0.01 BTC or larger.

Do you have a backup? If so, revert to that. If not, you need to reset your blockchain by going to reset in the preferences and then chosing the disconnect. When the app reopens, it'll redownload the last 52 weeks of blockchain. [Happy Anniversary Goonie]

Once you're back to a state with no pending transactions, send yourself the whole balance to a different client (like your desktop/laptop). The fee you tried to pay isn't actually 'paid' until its mined, so you won't lose that .0005. Once you send that tx, it should successfully get relayed. From there, you can use your other client to send the two transactions to their original targets. It seems that by sending the whole balance to a single address, you're increasing the priority and reducing transaction size enough that it relays with no fee.

Do you have a backup? If so, revert to that. If not, you need to reset your blockchain by going to reset in the preferences and then chosing the disconnect. When the app reopens, it'll redownload the last 52 weeks of blockchain. [Happy Anniversary Goonie]

Once you're back to a state with no pending transactions, send yourself the whole balance to a different client (like your desktop/laptop). The fee you tried to pay isn't actually 'paid' until its mined, so you won't lose that .0005. Once you send that tx, it should successfully get relayed. From there, you can use your other client to send the two transactions to their original targets. It seems that by sending the whole balance to a single address, you're increasing the priority and reducing transaction size enough that it relays with no fee.

Thanks a lot! Block chain is being re-downloaded now, lets see whether sending the whole amount solves the problem.

Thanks a lot! Block chain is being re-downloaded now, lets see whether sending the whole amount solves the problem.

If you have many transactions using the app, while you're catching up, you'll want to close the app periodically using the disconnect option. If not, it might crash out with an out of memory error. When I say many, I'm talking over a 100 or 200. I know many people don't use it very often, but I tend to use it for a lot of day to day stuff, so have a decent amount of transactions on it.

Andreas, if you read this, please help me to get my money out of my Bitcoin Wallet... I will provide you with any info you need, just let me know.

HTC Desire, Android 2.2.2, Bitcoin Wallet v.2.20

I have re-downloaded blockchain, all my 'frozen' transactions disappeared just confirming they were not broadcasted, so I got the initial position of my Bitcoin Wallet. I made some attempts to send some bitcoins out, with or without fees - it does not work. All the transactions appeared as 'pending', stayed in this status indefinitely, and blockchain.info knows nothing about them.

I have re-downloaded blockchain once again, and made one more attempt to send out 0.90 BTC with a fee of 0.0005 to 1P31PQZAemC1pejJSiMULSzdzqBB4Hkjhr, that should be pretty normal, nothing criminal, right? This time I've saved a log of the process:

Hmm, that's odd. For some reason the peer nodes must be rejecting the transaction, because it's very clearly sending and announcing the transactions multiple times.

What we really need to see now is a log from the other side.

mohawk38, do you have a synced Bitcoin-Qt client? If not, you can find me online at some point (I am TD in #bitcoin-dev and will be around for a few hours now, maybe again tomorrow during the day time Central European time) - then you can connect to my node.

The alert does not have an invalid signature, so it indicates a problem I've seen hints of before - some old Android devices appear to have a broken BigInteger implementation that renders ECDSA calculations silently incorrect (!!!!)

If you have such a broken device, you may be simply unable to use any non-server side wallet with it. Even clients like BitcoinSpinner would be unable to operate correctly.

We still need to prove that this is the case. If there's a way to get a copy of the wallet I can check the signature myself, or you could connect to a node I run and I'd check debug.log for a signature verification error when you're around.

Go into preferences (advanced) in your Bitcoin Wallet on the HTC Desire and set "trusted peer" to be the IP address of your computer with Bitcoin-Qt. Then use "disconnect" and restart the app. Now find the debug.log file on your desktop computer generated by Bitcoin-Qt and upload it somewhere we can see it. Look for errors talking about bad signatures.

Andreas will have to help you get the wallet off the device. I don't know how to do that. It should be possible though.

If your phone is rooted, you can copy your wallet from /data/data/de.schildbach.wallet/files/wallet-protobuf

If you can't root your phone, I would need to send you a special version that has the ability to copy your wallet to your sdcard. However, this is a quite dangerous feature, as all other apps you got on your phone can steal your wallet/private keys from the sdcard easily.

If your phone is rooted, you can copy your wallet from /data/data/de.schildbach.wallet/files/wallet-protobuf

If you can't root your phone, I would need to send you a special version that has the ability to copy your wallet to your sdcard. However, this is a quite dangerous feature, as all other apps you got on your phone can steal your wallet/private keys from the sdcard easily.

In any case, it would be a good idea to be able to encrypt the private keys: if your phone is rooted (and I would think that the intersection between people rooting their phones and people using bitcoins is not empty), another application is more likely to be able to access the wallet-protobuf content. And you could only allow backuping a wallet on the sdcard if the private keys are protected by a passphrase.

In any case, it would be a good idea to be able to encrypt the private keys.

Encrypting private keys in the wallet is already underway in BitCoinJ. It will probably take a cycle for it getting into the apps.

Quote

if your phone is rooted (and I would think that the intersection between people rooting their phones and people using bitcoins is not empty), another application is more likely to be able to access the wallet-protobuf content.

Why is that? To my understanding, apps would still need to expoit security bugs, and the mere existence of them is unrelated to wether you have rooted your phone or not.