Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have read that when running a simple standalone instance of 'bitcoind', you should generally use 'gen=0', since it's highly unlikely you'll ever mine a block on your own.

What I don't fully understand is how this relates to transaction procssing.

If I use 'gen=0', does that mean I have no hope of getting transaction fees, either?

In other words, with 'gen=0', is my client not really participating in processing transactions at all?

Is block mining (to generate new bitcoins) a somehow separate process from processing transactions?

share|improve this question
up vote 5 down vote accepted

"gen" is by default 0 (off), so you should not really need to specify "gen=0" anywhere.

"gen" will generate bitcoins (mining), but you should only do this if you know what you are doing (you probably want to mine in a pool, and use proper tuned hardware/software).

And yes, you will only get transaction fees if you mine a block.

share|improve this answer

Though bitcoind won't mine blocks with gen=0, while connected to peers it will still relay transactions and send historic blocks to peers, which is an important function in the network.

"Processing transactions" is a fairly generic term and is not a particularly useful term to use because it's not specific about what sort of processing is meant. It's better to talk about "relaying transactions" (not fee earning) and "mining" (which generally includes transactions in a block, and earns both transaction fees plus the block reward).

Using 'gen=1' can only CPU mine which, due to it's inefficiency, will:

  1. cost you a substantial amount extra on your power bill
  2. reduce the life of your CPU
  3. probably never manage to mine a single block within your lifetime

I believe it's only the older versions of the standard client that are actually capable of CPU mining, because it's not really a sensible thing to do.

Look into GPU, or preferably, ASIC mining if you want to mine.

share|improve this answer
It seems like running a client in this configuration provides free bandwidth to the network for no (BTC) reward. Which is actually fine by me, but not obvious. – jwd Feb 22 '13 at 18:44
@jwd, that's pretty much true. I've seen one debate about whether transaction relaying should earn fees, but generally people seem to accept it. I know the Bitcoin-QT client has a setting for the number of peers it's allowed to connect to, but I don't remember hearing about bandwidth throttling. Generally I think people who don't like the level of data usage just don't leave the client open. – Highly Irregular Feb 23 '13 at 3:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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