user15121: What does it mean in the bitcoin.conf file when it states:
  server=1 tells Bitcoin-Qt to accept JSON-RPC commands?  

If all one needs to do to solo mine is type setgenerate true in the console, then what is at stake with accepting JSON-RPC commands?  Does this allow other software to interact with Bitcoin-Qt, or something akin to that?  Can someone explain?

user15368: Yes. if you set server=1 in your bitcoin.conf file your wallet will run a server that listens for and accepts commands passed to it. These can be used to externally control the wallet. By default only requests from your local machine are accepted.  JSON is the formatting language the commands are issued in. JSON_RPC is a standardized way of issuing these commands using the json format.  When you run the client you can use the Console available from the help menu to run the same set of commands directly.  As people mentioned its been quite a while since its been practical to use the client as a miner. 

user19655: One reason you might use server=1 is when you're using a third-party mining program like cgminer.
Example bitcoin.conf:
server=1
rpcuser=SOMEUSER
rpcpassword=SOMEPASSWORD

Note: Don't set gen=1, because you don't want to use CPU mining. Instead, install cgminer and run:
cgminer -o http://127.0.0.1:8332 -u SOMEUSER -p SOMEPASSWORD


user5757: The JSON-RPC API can be used by other programs to communicate with the Bitcoin client.  That could include external mining programs, "e-commerce" software to automatically make and receive payments, or any other software that wants to interact with the Bitcoin network.
It is true that you do not need this feature simply to solo mine using setgenerate true.  However, you should be aware that setgenerate true enables an inefficient CPU miner which is obsolete technology and should be used for testing only.  It will cost you far more in electricity than you can ever expect to earn in mining revenue, and with very high probability you will never successfully mine a single block.  The current state of the art in mining is dedicated ASIC hardware.  Such hardware would normally be controlled by a separate piece of software, which would then communicate with the Bitcoin client over the RPC API.

15121: <p>What does it mean in the <code>bitcoin.conf</code> file when it states:</p>

<pre><code>  server=1 tells Bitcoin-Qt to accept JSON-RPC commands?  
</code></pre>

<p>If all one needs to do to solo mine is type <code>setgenerate true</code> in the console, then what is at stake with accepting JSON-RPC commands?  Does this allow other software to interact with Bitcoin-Qt, or something akin to that?  Can someone explain?</p>
 15368: <p>Yes. if you set server=1 in your bitcoin.conf file your wallet will run a server that listens for and accepts commands passed to it. These can be used to externally control the wallet. By default only requests from your local machine are accepted.  JSON is the formatting language the commands are issued in. JSON_RPC is a standardized way of issuing these commands using the json format.  When you run the client you can use the Console available from the help menu to run the same set of commands directly.  As people mentioned its been quite a while since its been practical to use the client as a miner. </p>
 19655: <p>One reason you might use <code>server=1</code> is when you're using a third-party mining program like cgminer.</p>

<p>Example bitcoin.conf:</p>

<pre><code>server=1
rpcuser=SOMEUSER
rpcpassword=SOMEPASSWORD
</code></pre>

<p>Note: Don't set <code>gen=1</code>, because you don't want to use CPU mining. Instead, install cgminer and run:</p>

<pre><code>cgminer -o http://127.0.0.1:8332 -u SOMEUSER -p SOMEPASSWORD
</code></pre>
 5757: <p>The <a href="https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29" rel="nofollow">JSON-RPC API</a> can be used by other programs to communicate with the Bitcoin client.  That could include external mining programs, "e-commerce" software to automatically make and receive payments, or any other software that wants to interact with the Bitcoin network.</p>

<p>It is true that you do not need this feature simply to solo mine using <code>setgenerate true</code>.  However, you should be aware that <code>setgenerate true</code> enables an inefficient CPU miner which is obsolete technology and should be used for testing only.  It will cost you far more in electricity than you can ever expect to earn in mining revenue, and with very high probability you will never successfully mine a single block.  The current state of the art in mining is dedicated ASIC hardware.  Such hardware would normally be controlled by a separate piece of software, which would then communicate with the Bitcoin client over the RPC API.</p>
