6

Is it possible to use Bitcoin client without wallet.dat file, by entering your addresses and being able to see the balance, but without the ability to spend bitcoins? I know that it's possible to backup wallet.dat and use another wallet.dat, but in that way you don't see your transactions and balance and can't label your addresses etc.

If it's not possible in official client (I believe it isn't), are there alternate clients that allow this? The point is to be able to backup wallet.dat and plug it in only when spending bitcoins, but not lose the ability to see your transactions in the meantime.

2
  • check blockexplorer.com, enter your address(1 wallet.dat contains 100 address most), you can see your balance.
    – user342
    Sep 11, 2011 at 12:42
  • Does that really work? I used to do that, but once you start spending, the change goes into newly created addresses that the Bitcoin client does not display, so you cannot track that. bitcoin.stackexchange.com/questions/736/… Works for monitoring incoming transactions, though.
    – Thilo
    Sep 12, 2011 at 2:44

4 Answers 4

6

This is not exactly what you're asking for, but might be helpful. Bitcoin v0.4 supports encrypting wallet.dat, so you cannot spend without entering the password. Basically you would do something like:

  • make a copy of wallet.dat
  • encrypt your copy with Bitcoin client v0.4 and set a long random password (one you will easily forget)

Voila, you have just created your read-only wallet. Because of 100 keypool you will even see some new transactions made with original unencrypted wallet.dat

You can download Bitcoin v0.4rc2 here.

5
  • 2
    This is the best available option currently. It would be great if someone developed a client that kept the public keys seperate from the private keys so that you could not only encrypt the private keys but keep them offline. But until then, the best option is to just keep the private keys always encrypted.
    – Erv Walter
    Sep 11, 2011 at 14:30
  • On the other hand, isn't it a weird choice to allow reading the public keys in the wallet without the password? That way, if someone finds your wallet, your anonymity is greatly compromised (it becomes obvious what your keys are and how many coins you have). Shouldn't there be an option to encrypt it "all the way"?
    – Thilo
    Sep 11, 2011 at 23:42
  • @Thilo: How would that be any different from just not having the wallet at all? Simply encrypt the wallet with any tool you want for that effect. Sep 12, 2011 at 4:19
  • @David: I was just surprised that the new encryption feature (if it does work as hinted at above) does not already do this, so that you still have to "encrypt the wallet with any tool you want" (in addition to the built-in feature, which I thought would have made the extra step unnecessary).
    – Thilo
    Sep 12, 2011 at 4:27
  • 1
    @Thilo: If you're going to be decrypting the wallet every time you need to see your balance, the risk is too high that you'll either leave your wallet unlocked (so malware can capture it from memory) or type in the password (so malware can capture it from the keyboard). The cost/benefit on that approach just doesn't make any sense for most people. As for an "extra step", it's fairly trivial to automate, whereas the more sensible (for most people) hybrid approach is harder to automate. Sep 12, 2011 at 4:59
2

I don't think that it's possible to do anything like that using the official client.

btcbalance.net is a service that lets you store a number of public addresses and view their balance and latest received payments online. I can't vouch for it though since I haven't used it myself.

If you don't want to give your addresses to anyone else you could always just store some links to blockexplorer. http://blockexplorer.com/address/<your_address> will show you the balance and transactions of that address. That's not as convenient as a client/service doing it for you of course.

3
  • btcbalance.net looks promising, I wonder if it allows to set labels for addresses.
    – Domchi
    Sep 11, 2011 at 14:11
  • 2
    The problem with btcbalance.net and any solution like it is that they don't deal with the fact that most people have bitcoin addresses that are invisible to them. When you send BTC to someone, there is almost always a new bitcoin address generated for you that receives the "change". So if you receive 10 BTC at an address and then send 4 BTC to someone, the difference (6 BTC) is now assigned to a hidden address that your wallet.dat knows about, but you can't see. btcbalance.net would show your balance as 0 BTC which isn't correct.
    – Erv Walter
    Sep 11, 2011 at 14:28
  • @Erv: That is hopefully changing in a future version of the client as well though. Should handle addresses in a much more intuitive way. Sep 12, 2011 at 3:33
1

As mentioned above, btcbalance.net does what you're looking for.

Also, I have not tested it, but according to this forum post, a Chrome extension called Collate allows you to view your balance without making your bitcoins available for spending:

https://bitcointalk.org/index.php?topic=17158.msg334959#msg334959

In 0.2 you can use the Block Explorer to examine your wallet without actually having to run the BitCoin client. This means you can keep wallet.dat on an encrypted partition via TrueCrypt or w/e and you can still monitor your account balance (although to send coins you will still need to start the BitCoin client for obvious reasons). In 0.2 the Block Explorer method of viewing a wallet supersedes the old way of connecting to the BitCoin client since the latter requires that your private key be stored in memory all the time (which is a bad idea).

Collate can be downloaded here:

https://chrome.google.com/webstore/detail/anlcpclkmbeeoglfgbfboogijdkbohkn

1

The BitcoinJS project implements a client that has no wallet.dat.

It does, however, keep the keys necessary for spending on the mobile client in the html5 local datastorage. - http://bitcoinjs.org

WebCoin's implementation: http://www.webcoin.ch

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.