Nimiq NIM
$0.00164 -1.00%
Nimiq挖矿之Linux下官方节点方式,用Node.js客户端挖矿
牛币圈


目前官方正式发布的挖矿方式有两种,一种是浏览器挖矿,即浏览器打开官网中的挖矿页面就可以挖矿了,想试用点击这里,优点是简单,对各种设备友好,手机也可以挖矿,但是国内部分地区或个别国产浏览器载入会出现白页的问题(已向官方反馈);另外一种就是今天要说的节点方式,使用Node.js客户端挖矿,优点是更快,缺点是配置复杂。其中还包括二种方式,一种是完整节点,需要公网IP、域名、SSL证书,该节点挖矿的同时会增强Nimiq网络,我们先详细介绍该节点的架设;另外一种是虚节点,不需要公网IP、域名及SSL证书,只是用来挖矿;这几种方式均可以参加矿池,当然你如果有足够的算力也可以单独挖矿,具体可以在挖矿收益计算器中根据当前Nimiq网络数据估算出您的产出。


1.让我们开始吧


需要有公网IP的服务器或VPS,小心VPS会被关停!

本文章以ubuntu为例,其他版本也应该适用。


2.需要申请个域名


我们需要注册个域名,当然免费域名就可以了,可以去freenom这种网站上申请一年免费使用的域名;注册流程就不说啦,最后在DNS管理里面加上你的服务器公网IP,点击保存;

要生成两条记录,一条name那里留空即可,另外一条填入www,如图所示;



一般10分钟左右就生效了。

因为这个运营商对免费域名有要求,域名必须有落地页,所以接下来我们来安装nginx,一种web服务器;


$ sudo apt-get update

$ sudo apt-get install nginx


安装完成后,我们在浏览器中打开你刚刚注册的域名,就会有一个nginx产生的默认页面啦!


3.增加SSL加密协议


$sudo apt-get update

$sudo apt-get install software-properties-common

$sudo add-apt-repository ppa:certbot/certbot

$sudo apt-get update

$sudo apt-get install certbot


安装完成后,需要先关一下nginx,如下:


$sudo service nginx stop


执行下面的命令后,会让你提供邮件,同意协议,照着做就好了。


$sudo certbot certonly--standalone-dnimiq-miners-1.ml-dwww.nimiq-miners-1.ml

IMPORTANT NOTES:

-Congratulations!Your certificate andchain have been saved at:

/etc/letsencrypt/live/nimiq-miners-1/fullchain.pem

Your key file has been saved at:

/etc/letsencrypt/live/nimiq-miners-1/privkey.pem

Your cert will expire on2018-03-22.Toobtainanewortweaked

version of thiscertificate inthe future,simply run certbot

again.Tonon-interactively renew *all*of your certificates,run

"certbot renew"

-Your account credentials have been saved inyour Certbot

configuration directory at/etc/letsencrypt.You should makea

secure backup of thisfolder now.Thisconfiguration directory will

also contain certificates andprivatekeys obtained by Certbot so

making regular backups of thisfolder isideal.


如果安装成功,会提示类似上面的成功提示,这时候我们还可以在验证一下,看一下是否有出错信息;


$sudo certbot renew--dry-run


修改下目录权限


$sudo chmod755/etc/letsencrypt/live

$sudo chmod755/etc/letsencrypt/archive


4.架设完整节点


完整节点和虚节点的区别在于,架设完整节点需要公网IP、域名及SSL证书,该节点会帮助增强Nimiq网络,其他的用户会连接您架设的完整节点获取相关区块链信息,而虚节点只是挖矿。

因为运行这个客户端,需要用到Node.js和git,所以我们需要提前安装;


$curl-sL https://deb.nodesource.com/setup_9.x -o nodesource_setup.sh

$sudo bash nodesource_setup.sh

$sudo apt-get install nodejs build-essential git


接下来我们用npm管理工具安装gulp


$sudo npm install-ggulp


安装yarn包管理工具


$sudo npm install-gyarn


最后,我可以去克隆最新的客户端程序了,github需要翻墙


$cd~

$git clonehttps://github.com/nimiq-network/core

$cd core


直接使用简单暴力的yarn安装项目


$sudo yarn


运行Nimiq完整节点,需要公网IP,域名,SSL加密协议,现在我们都有了,可以尝试运行了!

$node index.js--host nimiq-miners-1.ml--port8080\

--key/etc/letsencrypt/live/nimiq-miners-1/privkey.pem\

--cert/etc/letsencrypt/live/nimiq-miners-1/fullchain.pem\

--miner=1\

--statistics=10\

--wallet-address="您的钱包地址NQ开头的"\

--device-name="矿机名称"



其中miner是想开几个线程,一般最多为CPU的核数,这里以开1个线程为例;

程序运行了,这时候要马上复制自动生成的钱包地址,以下图为例,则以NQ36开始,以C7TF结束的字符串;


[I05:57:48]Node:Wallet initialized foraddress ***.

[I05:57:48]Node:Blockchain:height=1,totalWork=1.4116399577030896,headHash=K3Id+E/rgqR8SB8pV0X9Fxv4FxkC5eePu/oXVaj6ZO4=

...

[I15:20:46]Node:Now at block:5800

[I15:20:46]Node:Now at block:5900

[I15:20:47]Node:Now at block:6000

...

[I15:35:23]Miner:Starting work on…hashrate=2700H/s


当看到当同步完毕后,看到Miner: Starting work on这个字样时,就是开始挖矿了,hashrate=2700 H/s,就是指你的挖矿速度了!

其中需要注意的是,如果您有多台矿机同时挖矿,一定要为device-name设置不同的名称。


5.参加矿池


到了这里,相信您已经开始挖矿了,不过您现在是在单独挖矿,如果您有足够的算力,矿机会一直运行,那么单独挖矿是适合您的,请在挖矿收益计算器上查看您的预估产出;在详细收益表格下面会提示您,您如果不参加矿池会需要多久才能挖到一个块。

如果您的矿机不能一直运行,并且您想要一个稳定的收入(例如矿池一般会每天分2次把您的收益转到您的钱包里),那么参加矿池吧。


这里先不列出具体的矿池信息,只是告诉您怎么参加矿池,非常简单,只需要在运行客户端的命令行里额外增加一些代码即可,如下:


$node index.js--host nimiq-miners-1.ml--port8080\

--key/etc/letsencrypt/live/nimiq-miners-1/privkey.pem\

--cert/etc/letsencrypt/live/nimiq-miners-1/fullchain.pem\

--miner=1\

--statistics=10\

--wallet-address="您的钱包地址NQ开头的"\

--device-name="矿机名称"\

--pool=hk.****.com:443


最后一行为新增代码,请到您感兴趣的矿池网站复制相关地址信息。

好了,您现在也已经学会参加矿池挖矿Nimiq了,现在我们继续介绍虚节点吧。


6.架设虚节点


虚节点的架设非常简单,因为不需要公网IP、域名及SSL证书,只需要您从第4步开始就可以了。

运行客户端稍微有一点区别,就是要加代码(–dumb)标注您想要运行的是虚节点,如下:


$node index.js--miner=1\

--dumb\

--statistics=10\

--wallet-address="您的钱包地址NQ开头的"\

--device-name="矿机名称"\

--pool=hk.****.com:443


好了,虚节点已经架设成功,开始挖矿了!


7.配置PM2


PM2是一个nodejs程序进程管理工具,它可以实现进程挂了,自动重启等实用功能;


$sudo npm install-gpm2

$pm2 start index.js----host nimiq-miners-1.ml--port8080\

--key/etc/letsencrypt/live/nimiq-miners-1/privkey.pem\

--cert/etc/letsencrypt/live/nimiq-miners-1/fullchain.pem\

--miner=1\

--statistics=10\

--wallet-address="您的钱包地址NQ开头的"\

--device-name="矿机名称"\

--pool=hk.****.com:443


可以通过以下2个命令分别查看,目前所有运行中的进程和日志;


$pm2 list

$pm2 logs


下图为例,停止所有运行中的进程,增加挖矿线程;

$pm2 stop all

$pm2 start index.js----host nimiq-miners-1.ml--port8080\

--key/etc/letsencrypt/live/nimiq-miners-1/privkey.pem\

--cert/etc/letsencrypt/live/nimiq-miners-1/fullchain.pem\

--miner=4\

--statistics=10\

--wallet-address="您的钱包地址NQ开头的"\

--device-name="矿机名称"\

--pool=hk.****.com:443


8.把挖矿程序加到开机自启中


$pm2 startup systemd

[PM2]Init System found:systemd

[PM2]Tosetup the Startup Script,copy/paste the following command:

sudo env PATH=$PATH:/usr/bin/usr/lib/node_modules/pm2/bin/pm2 startup systemd-unimiq--hp/home/nimiq


这里面按照它的提示信息,把需要执行的命令黏贴出来,执行以下就好了!

然后我们可以检查是否加进去了;


$systemctl status pm2-nimiq

pm2-nimiq.service-PM2 process manager

Loaded:loaded(/etc/systemd/system/pm2-nimiq.service;enabled;vendor preset:enabled)

Active:active(running)since Wed2017-12-2016:03:25CET;1min28sago

Docs:https://pm2.keymetrics.io/

Main PID:10427(PM2 v2.9.1:God)

CGroup:/system.slice/pm2-nimiq.service

‣10427PM2 v2.9.1:God Daemon(/home/nimiq/.pm2)


9.总结


本文章介绍了基于官方的几种挖矿方式,有浏览器挖矿,有架设完整节点和虚节点的方式挖矿,可以参加矿池挖矿,另外官方也提供了Linux下的安装包文件,不过强烈不建议,因为安装包有一段时间没有维护了,不是最新的代码,建议按照本文介绍一步一步自己编译架设节点挖矿。

来自NIMIQCHINA
2019年02月13日 20:14图文分享