18

I have so far enjoyed the experience of learning about Bitcoins, mining, etc. I've setup a bitcoin daemon in hopes of developing a few apps and services in the near future. However, there is one thing that has been bothering me for a few days now and I can't seem to find an answer for.

There is a 'move' command in the client/API calls list that will "Move from one account in your wallet to another". I read somewhere that this DOES NOT flow through the block chain. If that is the case, then HOW can you actually use those coins in the new account/address when there is no public record of the transfer.

Thanks for your help

14

Accounts are an internal bookkeeping mechanism of the Bitcoin client. They are not the same thing as addresses. When you move from one account to another, the coins remain in the same address, and if you need to spend them they will be spent from the same address. The only thing moving does is subtract a number from one account and adding to another - both of which are just things the client displays and nobody else on the network has any knowledge of. An account balance can also be negative.

Accounts are good if you run a shared eWallet and want to track users' balances (and "move" can be used to make an intra-bank transfer), or if you want to keep track of different purposes of savings (so you can direct all incoming coins to an account called "unallocated" and then move 100 BTC to the account "college fund"; if you make sure to designate all outgoing transfers as coming from "unallocated", you will not accidentally dip into the college funds, no matter in which addresses your bitcoins physically sit).

  • I just don't get WHY you would want to do this. Wouldn't this then put the account balance out-of-sync with the TOTAL balance of the addresses IN the account (e.g. during JSON-RPC queries)? I'd like to experiment with this feature. Can you tell me the proper way to actually create a new account? Is there any way to then DELETE said account? – nyusternie Dec 8 '12 at 8:34
  • @nyusternie: Again, an account is not a collection of addresses. It is a way to designate coins for specific purposes and is independent of the addresses which contain the coins. You can however associate addresses to an account so that funds entering these addresses are automatically credited to the account. I have already given some use cases. Think about how a shared eWallet (e.g. Mtgox) works and it will be clearer. – Meni Rosenfeld Dec 8 '12 at 16:08
  • @nyusternie: A list of commands is available at en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list. AFAIK you don't need to explicitly create an account, it will be created automatically when you give a command that references it. I don't know of a way to delete accounts. – Meni Rosenfeld Dec 8 '12 at 16:09
  • Accounts are "independent of the addresses which contain the coins". Okay, now this makes sense. Thanks for the extra explanation. I really appreciate it. – nyusternie Dec 9 '12 at 0:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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