Mine Bitcoin and Monero in the Browser

It’s worth noting that Google and ad blockers consider this script as malware, so use with that understanding in mind.

I recently heard this story from Buenos Aires where a Starbucks was caught was caught mining cryptocurrency on customer computers that were attempting to connect to free WiFi.  I also ran a Twitter poll recently asking if people would allow sites to mine cryptocurrency on each page as an alternative to advertising.  Most preferred advertising but it got people thinking about new types of ad models.

All of this got me thinking about how a developer could implement Bitcoin (or Ethereum or Monero, etc.) mining within a webpage using JavaScript.  It’s super simple with coin-hive, a utility created for Monero and other cryptocurrency mining!

Note:  I’m definitely not endorsing the idea that you should mine cryptocurrency on a visitor machine without their knowledge.  Doing so is a breach of trust, a drain on their battery, a possible hike on their energy cost, etc.

CoinHive is a service so you’ll need to sign up for an account.  You can explore their terms as you’d like.  Next you’ll want to get the coin-hive package:

npm install -g coin-hive

Now you can mine on your local machine with a short JavaScript snippet:

const CoinHive = require('coin-hive'); (async () => { // Create miner const miner = await CoinHive('YOUR_COINHIVE_KEY'); // CoinHive's Site Key // Start miner await miner.start(); // Listen on events miner.on('found', () => console.log('Found!')); miner.on('accepted', () => console.log('Accepted!')); miner.on('update', data => console.log(` Hashes per second: ${data.hashesPerSecond} Total hashes: ${data.totalHashes} Accepted hashes: ${data.acceptedHashes} `) ); // Stop miner setTimeout(async () => await miner.stop(), 60000);

This snippet will work both in Node.js and the browser.  coin-hive also has command line support.  The CoinHive web dashboard gives you a nice mertrics of what you’ve generated and earned.

The process is pretty straight-forward, but again, just because it’s easy doesn’t mean it’s something you should add to your public website without a lot of thought about how you’ll handle the privacy concerns.  Also consider you need hefty volume of mining to earn any real money.

Related Post

Rojenx is a leading concept artist who work appears in games and publications

Check out his personal gallery here

In other news …