Current Difficulty is over 100 Billion!!. GPU Mining Died in 2013. Turn off your GPUs and save the power!

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. You can NOT get started with a CPU. You can barely get a share submitted. Most modern mining software doesn't even support CPUs. Just STOP trying!!
If you only have an DEDICATED HIGH END video card then NO! for nearly the same reasons as above.
If you have a laptop then NO! Do I *REALLY* need to keep repeating myself?

Let's put this into perspective: a low end ASIC running at 100000Mh/s (100Gh/s or the equivelent of over 100 high end video cards) with the current difficulty (as of April 2015) it would take appoximately 1 month to make 0.03 BTC. With BTC worth about $250 USD you would make about $8 in a month. Once you factor in cost of electricity you most likely had a loss. You have been warned!

If you have an FPGA then you've been doing it long enough to know you're now running at a loss.
If you have an older ASIC 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)
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 (100+Gh/s) = shovel - This lets you break ground but not get anywhere
1000Gh/s and more (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 Ghash or Thash you will have you can head to the simple online calculator or more detailed calculator the uber detailed option 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 1 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 (100 B!!!) 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!
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 112bit and 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 (early 2015) you should be looking at under $0.50 per Gh/s. Companies like 112bit and 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 but is back up to rip you off.

What about cloud mining?
In short, NO. 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.

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 is a largely personal preference. Most ASICs have the needed software built in but if you have one that connects to a PC then CGminer or BFGminer. Which is best is up to you and your needs. I have personally used bfgminer in the early days of ASICs. If you need to install software to use your ASIC hopefully you've researched the value of such an option.

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 100 Ghash with current difficulty you won't make a tenth of a coin 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.05 isn't unreasonable. 0.01 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 (current is 0.9.3, upgrade if you need to!) 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.