Do-It-Yourself Ðogecoin Digger (DÐD)
Start digging in your own back yard!
This project is intended to get users up and running on a CPU miner in a fast, secure, and friendly way. First, that means providing pre-configured installers that can be automatically run from the command line with little fuss and no guesswork. It also means validating all the provided binaries and scripts with md5sums and keeping everything on SSL for download and install.
Mass individual mining is important to the future of Dogecoin, if you can spare the cycles and electrons. If you're interested in some of the reasons, feel free to skip ahead. Otherwise...
Oh, I get it, you're the sort who doesn't care about details. You just want to be helpful. I respect that. After all, who has the time? Here's what you need to do to start digging some Dogecoin with a P2P pool and help protect the Dogecoin network, right now.
If you have a wallet, great, just skip ahead to the Linux/OSX method or the Windows procedure.
If you don't have a Dogecoin wallet yet, then might I suggest the Coinomi wallet? It's easy, fun, and cross-platform, and you don't have to wait for days for the network to sync.
There are many other choices in your quest for a Dogecoin address. Feel free to shop around.
Now that you have a wallet, pick your operating system, and follow the very simple instructions to get started. You can choose Linux/OSX, Windows, Raspbian (soon), or Android (some day).
The Linux and OSX version of the bootstrap script, ddd.sh
,
requires curl, a small application useful for command-line file transfers.
Most of these systems already have it. DDD also assumes an Intel-based 64-bit
for OSX or Linux, or 32-bit Linux (for now). All MacBooks manufactured since
late 2006 have 64-bit CPUs, but if you're not sure about yours,
here's how to tell.
So, you should be set out of the box. Just open a Terminal window, and type:
curl -3sSL https://bit.ly/ddd-posix > ddd.sh && bash ddd.sh
The above will get you started mining right away, but you'll be mining
to my Dogecoin address, not yours. While this seems like a perfectly
reasonable default to me, you might not agree. That's fair. You can
keep your earnings by editing the p2p.conf
file first. Here's how:
\curl -3sSLO https://raw.githubusercontent.com/thegoddambatman/diy-dogecoin-digger/master/bin/ddd.sh
\curl -3sSLO https://raw.githubusercontent.com/thegoddambatman/diy-dogecoin-digger/master/conf/p2p.conf
sed -i s/DH9yYhAsdvdYubRbLA4rS4qr4fuFJLYbDY/YOUR-DOGECOIN-WALLET-ADDRESS/ p2p.conf
bash ./ddd.sh
Just copy and paste that into your Terminal window. It should work out.
This probably works on other Linuces. Let's keep a list of tested operating systems on the wiki! That'll be fun.
Sadly, Windows kind of fails at both having an easy command-line interface for file transfers, and a scriptable way to unzip files. To take care of that, you may need to manually download a couple things if you haven't done something like this before.
- cURL - a crazy useful, multi-protocol data transfer utility. Free and open source.
- 7zip - a stunningly handy archive manager. Free and open source.
These are nice to have around anyway so you'll be happy you have them. You may need adminstrative permissions to install one or both, though, depending on your local security settings. Ask an adult first!
Once you have those installed, you can pretend like you're on Linux or OSX, and run:
curl -3sSL https://bit.ly/ddd-w32 -o ddd.bat && ddd.bat
Someday, we'll have a nice one-click experince for our Microshibe friends. Also, since it's Windows, 32-bit applications still will work on 64-bit hardware. That said, there's an issue open to address this and get you on the more correct platform with some auto-detection.
The above will get you started mining right away, but you'll be mining
to my Dogecoin address, not yours. While this seems like a perfectly
reasonable default to me, you might not agree. That's fair. You can
keep your earnings by editing the p2p.conf
file first. Here's how.
First, get the p2p.conf and the ddd.bat
batch file:
curl -3sSLO https://raw.githubusercontent.com/thegoddambatman/diy-dogecoin-digger/master/bin/ddd.bat
curl -3sSLO https://raw.githubusercontent.com/thegoddambatman/diy-dogecoin-digger/master/conf/p2p.conf
Edit p2p.conf
with your favorite editor and replace my "user" (really my wallet address)
with yours. Be careful to save it as a p2p.conf
and not p2p.conf.txt
-- Windows is
tricky like that.
Now you're off to the races:
ddd.bat
So if you've read this far, you may be wondering why I want loads and loads of people to start mining on their low-end, non-optimized, barely adequate gear. I mean, that's just going to kick up the difficulty rate and cost everyone a bunch of electricity, right?
Well... not so fast. There are real, practical reasons to do this. If you're used to the profit motives often talked about in cryptocurrency circles, you may want to avert your eyes, since I'm going to talk about the social good you can perform by sparing a little CPU power.
For a while, I've been worrying myself over the whole fragility of the peer-to-peer network that Dogecoin (and all other cryptocurrencies) rely on to operate. There was a mild freakout in March of 2014 about how Wafflepool had accumulated over 40% of the total hashing power of the network.
The problem is twofold:
- Multipools tend to mine Dogecoin quickly, then turn around and trade the DOGE for BTC.
These folks don't hold the DOGE, they don't spend the DOGE, and they don't trade for goods and services with DOGE. They mine, dump, and mine again. Of course, it's perfectly reasonable to do this on an individual basis. You just ending up sucking the life out of the coins you mine for your short-term gain. Shrug, right?
- Pools (multi- or not) tend to concentrate hashing power into very few hands (and machines)
All of the security of a peer-to-peer, distributed currency is predicated on the fact that it's actually peer-to-peer. This is not the case today. You can usually eyeball how the hashrate is divided right now by taking a look at RapidHash's chart. In late March, 2014, 10 pools are identified as controlling over 60% of the hashrate.
Are the controllers of these pools all going to suddenly start colluding, like so many monocoled and cigar-smoking robber barons? Probably not. But how probably? 99%? 98%? Is it any better that it would only take the top six pools to cover over 51% of the hashrate?
Let's assume the controllers of these pools -- every person who knows a password or holds a key to a critical service on these pools -- are pure of heart. Even if they have the most excellent of intentions, I would bet they're not immune to getting hacked. It happens, and it happens over and over again on young sites caught up in racing to meet performance and bandwidth demands.
Many people are familiar with the chaos caused when cryptocurrency exchanges go bad, since they control such a large percentage of the coins already extant, and of course, they do go bad from time to time, at various levels of fault. Imagine what happens when the network itself goes bad.
So, let's try to mitigate against that.
This project defaults to setting up a CPU miner to contribute its proof-of-work to an anonymous multipool, PandaPool. You're of course, welcome to use whatever pool you like, but these days, Panda is nice for no-registration-required mining.
This project used to mine to a peer-to-peer pool, Doge.st. Sadly, Doge.st announced they were closing down, and a suitable replacement hasn't been found yet.
These kinds of pools are usually referred to as a P2Pool, and Doge.st is one of several sub-pools (which itself is P2P). The crucial bit is that P2Pool (and the proxies) promote decentralization, while traditional and multipools promote centralization.
You are more than welcome to read the write up at the BitCoin wiki as well as /u/Verrok's introductory Reddit post to figure out how all that works. They explain it way better than I can.
Oh, and since the payouts on these pools is generally pretty consistent, you're not really sacrificing much if you were already mining with one of the multipools or doge-centric pools.
GoodShibe's Post
Finally, the real reason why I stopped worrying and learned to love the CPU miner is GoodShibe's post, Of Wolves and Weasels, Day 81, which, to me, pretty much reads like St. Crispin's Day style call to action. Therefore, in answer to his call to action, I put this together.
Let's make it easy to drop CPU miners everywhere, have them all throwing in on a peer-to-peer sharechain, and drive down the influence of the pooled miners. That's my take, anyway.
See, I told you this was a long and boring story. You should have gotten a snack.
Now, I try to make this all easy so you don't have to do a whole lot but stab at some keys. You got your compiled binaries (non-nerds might call them "programs" or "apps") in a reasonably secure way. However, if this is all just too easy for you, you are invited to go and compile cpuminer straight from the source:
https://github.com/pooler/cpuminer
However, that kind of thing is beyond this "Total Noobs Guide" getting started thing. All I care about is that lots of people mine. I don't super care about any one individual's hashrate, assuming he doesn't hog all the rocket juice for himself.
In the grand scheme of Dogecoin, this is a pretty minor project. But, open source things like this often end up being a one man show, and that's a sure way to turn into abandonware in six months.
The fact is, there are way smarter people than me out there, with all kinds of useful experience and knowledge. If you want contributor rights, and I have some way of verifying that you are a trustworthy sort that's not going to go backdoor all those noob shibes coming here, feel free to e-mail me or hit me up on Reddit.
All that said, the best thing you could do for the project is to scrawl the bit.ly link places that are interested in Dogecoing, CPU mining, and security: https://bit.ly/diy-doge
Of course, it's not a proper cryptocurrency project unless you leave out a tip jar. Here's mine:
DH9yYhAsdvdYubRbLA4rS4qr4fuFJLYbDY
You'll note it's the same as the default address in these one-line installers. If people really are falling for the default wallet address trick, you can keep tabs on my apparent hashrate on PandaPool -- just plug in *DH9yYhAsdvdYubRbLA4rS4qr4fuFJLYbDY. I promise to fix that, by the way. I just don't have a good way to do it yet.