Ok, well I've been watching the Bitcoin trend with some interest for several years. And I've finally decided to get involved myself. So yesterday and today I've been reading for several hours from the many resources in this question and this great answer. I read this blog post in its entirety and think I understood it completely. I understand that in order to pay someone or be paid in BTC, I need a bitcoin ID and that this goes hand-in-hand with getting a BTC "wallet". I understand that there are essentially two distinct options for my BTC wallet:
- a locally-stored (on my computer) copy of the entire block chain
- a remotely-stored (on someone else's computer) copy of the entire block chain that is encrypted with credentials such that only I have access to it (although Mt. Gox failure and so many others seem to show that this is less secure than the former)
I think a synonym for option 1 above is "cold-storage" although I'm not certain of that.
I realize that mining for BTC is a different thing altogether that is really only worthwhile with an ASIC or similar hardware, so I'm not at all interested in mining at this point. I just want to get myself an ID and wallet and understand Bitcoin well enough to be able to keep my own copy of the block chain on my local machine and keep it up-to-date. Maybe eventually I'll look into mining, but I'm not interested right now.
From Erik Voorhees blog post, I think I understand that if I want option 1 above (which I do as it seems more secure to me, and convenience is not at all important to me), then I need to install either bitcoind or bitcoin-qt. (I suppose that both of these are considered to be part of "Bitcoin Core" below?) This is reinforced by my review of the software tools I see at bitcoin.org:
- Control over your money
- Full validation
- Complete transparency
- Vulnerable environment
- Improved privacy
whereas the best that any of the others for Linux there:
can offer regarding transparency is "Basic Transparency".
I understand from this answer that although it's possible to have them both installed on the same system, one cannot have both bitcoind and bitcoin-qt running on the same system at the same time. So my question is about how to configure and get started running bitcoind in Arch Linux; but there are several specific issues I feel like I need to understand better.
Using bitcoind, at exactly what point will I be generating my ID? I guess it would have to be after I've completed downloading the entire block chain?
bitcoind.conf wants me to insert an in-the-clear, plaintext, unencrypted username and password into it that I guess bitcoind will read on startup. Exactly what will those credentials be used for by bitcoind? I know the options are named pretty transparently (rpcuser and rpcpassword) and the man page explains that they are for JSON-RPC connections. But I have only one binary in my Arch bitcoin-daemon package (/usr/bin/bitcoind), so what client is connecting to my running instance of bitcoind using JSON-RPC connections?
Using bitcoind, at exactly what point will the software begin downloading a copy of the entire block chain? I know that's a big file and may take hours or days to complete.
If I want to interact with my locally-stored block chain after it is downloaded, then it seems that I must include at least one uncommented line in ~/.bitcoin/bitcoin.conf:
...but what will the simplest bitcoin.conf file that I need look like? For example, will I need to uncomment settings for any of these:
addnode= connect= maxconnections= rpctimeout= rpcssl= rpcsslciphers= rpcsslcertificatechainfile= rpcsslprivatekeyfile= keypool= paytxfee= min= minimizetotray=
What are other people using for paytxfee, and aside from what bitcoin.conf says, ("Transactions with fees are more likely than free transactions to be included in generated blocks, so may be validated sooner."), why would I set this value to something other than 0.00 (and what is that number anyway? a percentage? so if I set it to 1.00 that is 1.00%)?
My main problem in understanding now is just connecting the specific settings in bitcoin.conf to my abstract understanding of how the Bitcoin network functions. I think I have a general understanding of the latter, but how to implement the specific concepts of the latter using the settings of the former is not at all obvious to me and after many hours of study, I don't see a clear explanation of it anywhere.
So I'm hoping someone here can shed some light on these issues. After all the questions I've seen on this site, I'm sure I can't be the only one wondering these things.
I considered breaking up this post into 5 or so separate posts and I hope the community will pardon my deciding not to do that. I see all of the several questions above as essentially pieces of the subject question: "How to configure bitcoind in Arch Linux". That's why I left it as one long post. Again, I beg the pardon of the community if that is regarded as a regrettable decision.