DISCLAIMER: You may not like what you read. Mining is NOT a get rich quick scheme and requires dedication, patience, skill, and a potential considerable investment.
What is Bitcoin and more from Wikipedia
Should I mine for bitcoins?
Yes and No!! If you've been directed to this page most likely, NO. Don't be completely discouraged. There is plenty of information provided if you're willing to learn. For how/why about Bitcoin mining conintue reading. And if you're too damned lazy to read watch a one minute video.
If you only have a CPU or onboard graphics then NO!
Let me repeat that IF YOU ONLY HAVE A CPU OR ONBOARD GRAPHICS then NO NO NO. If you're still determined to try don't be surprised if nobody really wants to help you. Very few altcoins are worth a damn with a CPU as well so stop while you're ahead!
If you only have an DEDICATED HIGH END video card then NO on bitcoin but you can look at altcoins like ZEC or whatever is the current hotness. Current generation Geforce cards and the last couple generations of AMD cards can still be profitable on altcoins.
If you have a laptop then NO! I mean unless you're out to cook it before you'd see a fraction of a share.
Let's put this into perspective: a low end ASIC running at 1Th/s (1000Gh/s or the equivelent of over 1000 high end video cards) with the current difficulty (as of April 2017) it would take appoximately 1 month to make 0.014 BTC. About $20 USD. Once you factor in cost of electricity you most likely had a loss. Have fun with that one.
If you have an FPGA then you've been doing it long enough to know you probably have it laying around as a paperweight.
If you have an ASIC with a hashrate of at least a 1Th/s and you're here just keep reading. Everything you need is below.
For a simple breakdown instead of a million questions here is a brief comparison:
CPU = Toothpick (a complete waste, NO returns)
ANY Dedicated GPU = Two toothpicks (better than a CPU on average but still running at a huge loss if you're trying to mine bitcoin)
Block Erupter, Antminer U1, U2 = toothpick with umbrella (still earns NOTHING but looks pretty)
BFL Jalapeno, ASICminer Blade (old first gen ASICs or other USB ASICs) = plastic spoon {running at full loss}
Other large ASICs (1Th/s) = shovel - This lets you break ground but not get anywhere
More than 1Th/s = welcome to bitcoin mining.
If all you have is a toothpick or two then you can possibly make more from this faucet link! You will not EVER make close to what you lose every minute trying.
For reference what you can expect from different ASICs visit the hardware wiki.
Once you've figured out how many Terahash you will have you can head to the simple online calculator or more detailed calculator the uber detailed options for assorted coins and one that lets you do a bit of reverse work for an approximation of how much you will earn at current and future difficulty.
The "why" to the above. Mining should obviously not cost you or whomever is paying the electricity bill more than you are making from mining. With that said you should have a *target* of at least 10 Gh/s per watt of power consumed. Absolutely NO PC hardware will hit that target. As of August 13, 2013 GPU mining has become obsolete. All GPUs now run at a full loss for mining bitcoins. A 1 watt or greater per Gh/s most ASICs will be losing money as well.
Trying to use the excuse that your electricity is "Free" does NOT make a lick of difference. Odds are good that your electricity isn't free. Somebody somewhere is paying for you to waste it. PC hardware consumes far more more than ASIC devices. I had more than doubled my electric bill running GPUs in 2013. At current difficulty most GPUs will barely get a few shares submitted. Running up someone else's bill will be noticeable. Be wise about this if you want to get into it. Do not expect myriads of support from a community of people who know when the time has come on existing hardware and resources.
On to purchasing. Should you purchase PC hardware exclusively for mining? NO! Even with altcoins you're risking not getting ROI so unless you have another motive for building a PC don't build just for mining.
You WILL NOT ever make a return on your investment this late in the game (since August 2013, get the drift yet?) and all the big ASIC companies have shipped or are shipping which is a major change in the game. Even ASIC purchases should be approached with caution at this time.
ASIC? WTF is an ASIC?
Everybody keeps hearing it. What is it? Application Specific Integrated Circuit - a device built for a specific task, in this case Bitcoin mining. ASICs are referred to as disruptive technology. They did to GPUs what GPUs did to CPU mining. Quickly made it unprofitable to run anything else. It is unprofitable and just plain stupid to mine bitcoin on GPUs and small USB ASICs. ASIC vendors include antminer, kncminer, Avalon, and many more with different product offerings. Resellers may come and go so shop with caution. As of February 2015 I can comfortably recommend BitMain for IN STOCK items only. Just search the Internet for "ASIC bitcoin" for more options and proceed with a grain of salt.
I want one now!
If you want an ASIC shipping now your choices are plentiful. The real trick though becomes getting the appropriate price per Gh/s if you expect a Return On Investment (ROI). These days (mid 2017) you should be looking at under $0.10 per Gh/s. Companies like BitMain are shipping a variety of in stock ASICs now as well as pre-orders. A word of warning on pre-orders, many companies may not ship on time or at all. Use caution and be willing to risk the time/money if you're into waiting. Prospero are the latest scam with their X-1 & X-3 products shipping beyond late. BFL was shut down due to their poor practices and was back up for a while promoting new products.
What about cloud mining?
In short, maybe. Cloud mining is a gamble. If you want to do short term rentals in hopes of getting lucky that is one thing but paying for a contract of any sort that goes beyond a few days is literally just a bigger gamble. Even a month long contract could see losses and beyond that is assured. Exercise caution with any investment. Some providers require minimum payouts that may take a while to obtain if you haven't invested enough to get regular payouts. ROI *is* possible in 3 to 6 months *if* bitcoin stays or goes up.
Congratulations!
So you've gotten this far, your head is screwed on tight, you understand what you've read above and now you want to mine. Where and what to do now? It's time to mine!
Picking a miner isn't something you should be doing. Most ASICs have the needed software built in and any ASICs that may connect to USB are often not worthy of the time to even plug them in.
Joining a pool
It is very important that you know the proper pool settings and know how to troubleshoot if you can't connect. Many pools use an IRC channel for help. If you need help be able to provide as much information as you can when asked. Know your mining software, your ASIC, your operating system, your error messages. READ the responses. Don't feel the need to repeat unless your question got lost in conversation or wasn't just covered by someone else's while you were present.
Payouts
Your payouts vary from pool to pool. Most payouts are not instant and you should not expect any payout if you have only been mining at a low rate for a few days or less. Even at 1 Thash with current difficulty you won't make 0.01 BTC in a month and those earnings will slowly decrease as more ASICs come online. Do NOT expect payouts if you aren't mining 24/7. Blocks finish at different rates so you have to help complete those blocks if you expect anything. Also, keep in mind there are transaction fees (typically 0.0001) so if you have less than 0.01 BTC don't bother and keep mining. Most pools will let you set a payout amount so that when you pass the treshold on confirmed transactions you'll see a payment to your wallet. Ideally you should set your payout threshold to something you can comfortably live with to reduce the number of transaction fees for the pool operator. 0.01 isn't unreasonable these days. 0.001 on the other hand is. If you really have to set your payout that low you should probably consider not mining.
Wallets
You can't receive your earnings without a wallet! You can have any number of wallets. Keep in mind there is a small transaction fee when moving BTC so keep your transactions to a minimum. With that in mind you can opt for an offline wallet like bitcoin-qt or any number of online wallets like vircurex.com, blockchain.info, bips, coinbase, and on. (see here). Your wallet client does not need to be online to recieve funds. You will just need to sync if something isn't showing up in your wallet but does show up in the blockchain. VERY IMPORTANT, no matter where your wallet is ALWAYS make backups on a regular basis. Bitcoin-qt uses a wallet.dat file you can save. Online wallets have varying methods of creating backups including having them emailed to you. Also, make sure you can receive payments to your wallet. Some online providers don't allow or recommend having payments come directly to those wallets.
Alright, buckle in and enjoy the ride!
GUIminer
CPU mining died in 2012. GPU mining hit a point of no returns in August 2013. Even attempting to do it is a absolute waste of time and resources.
JUST STOP USING GUIMINER. You NEED an ASIC if you want to mine.
CGMINER & BFGMINER for folks using a USB based ASIC - *legacy*
Ready to see how simple these really are? In Windows all you do is unzip the folder, open a 'cmd' prompt, change directory to the folder and type the following:
*miner (where * = cg or bfg) -o stratum.bitcoin.cz:3333 -u user.worker -p ****
BFGminer examples for FGPA/ASIC under Windows & Linux
Windows: bfgminer -o stratum.bitcoin.cz:3333 -u user.worker -p ***** -G -S COM3
Linux: bfgminer -o stratum.bitcoin.cz:3333 -u user.worker -p ***** -S /dev/ttyUSB0
For U1 & U2 visit chainminer for setup help as well.
Troubleshooting
BLOCK ERUPTERS, U1, U2 - legacy
None of these are profitable but if you got a bunch for free and need to set them up just continue reading:
Most USB ASICs are incredibly simple on Linux with bfgminer once you have it installed. Drivers for Windows are here See the above examples for a single device.
If you have multiple Block Erupters under Windows & Linux the command is still as simple as above with minor changes:
bfgminer -o stratum.bitcoin.cz:3333 -u user.worker -p **** -G -S all
or: bfgminer -o stratum.bitcoin.cz:3333 -u user.worker -p **** -G -S erupter:all
as of bfgminer 3.3 series you can omit the "-G" option
Various other options exist based upon the specific ASIC. For other options see the README files with cgminer or bfgminer
Blades or other ASICs requiring a proxy - mostly legacy at this point
The stratum software seems to break and is troublesome for many. BFGminer supports Linux/Mac/Win32 (not Win64) with the following option:
bfgminer -o stratum.bitcoin.cz:3333 -G --http-port 8080 (any port number desired)
Then in the web interface of your ASIC point to your hostname:8080 with your user.worker/pass combo.
or full string:
bfgminer -o stratum.bitcoin.cz:3333 -u user.worker -p **** -G --http-port 8080
Then in your web interface of your ASIC point to your hostname:8080 with any unique user/pass combo
IF you have directly connected devices you wish to use as well you may want to make a copy of bfgminer and rename to something like bfgminerproxy. Have one 'local' copy for direct connect devices and one for feeding your networked ASICs. You can thank honkeylips in #mining.bitcoin.cz if it all works
If you feel like this has helped and you feel compelled to tip me:
16NsKf9kde8AFHV9viU1MX2ERkq2eSedTK
FAILOVER POOLS
No pool can guarantee 100% uptime. Good mining software will allow you to have a failover in case your preferred pool goes offline or is unable to keep up with your hardware. By now you likely already have an account on at least one pool. Now go setup an account on a second pool. It would helpful to choose one with manual payouts in case you don't check it as often or you don't hit your preferred payout as often on the second pool and you just want to pull some funds. In bfgminer you can hit [P] then [A] to add credentials for the second pool. Once you have your second pool hit [C] to change management strategy and choose your preferred method. Straight Failover, Load Balance, Balance, and more.