自行搭建XMR门罗币矿池的教程

需要注意,矿池这东西,除非你拥有特别高的算力,或拥有特别多的散户,否则还不如用别人现成的。搭建矿池的机器配置要求也比较高:至少双核心/4G内存/大于门罗币区块大小的硬盘空间。你没闲置机器的话,回本都回不了。

下面是这个矿池在Debian10上的搭建步骤:
1.首先安装需要用到的包:
  1. apt -y update
  2. apt -y install build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev \
  3. libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev \
  4. libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler \
  5. libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev \
  6. libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev \
  7. libboost-thread-dev ccache doxygen graphviz git screen sudo
复制代码
新建用户/修改用户密码/加入sudo组:
  1. useradd -m -s /bin/bash xmr
  2. passwd xmr
  3. adduser xmr sudo
复制代码

可选,如果内存小于4GB,可以挂一个swap强行怼一下,说不定编译的时候能过:
  1. fallocate -l 1G /swapfile
  2. chmod 600 /swapfile
  3. mkswap /swapfile
  4. swapon /swapfile
复制代码

现在切到刚才新建的xmr用户下:
  1. su - xmr
复制代码
开一个screen,编译需要花比较长的时间,防止中途ssh断线:
  1. screen -S buildxmr
复制代码

拉取门罗币的源码:
  1. git clone --recursive https://github.com/monero-project/monero
  2. cd monero
  3. git branch -a
  4. git checkout release-v0.17
  5. git submodule sync
  6. git submodule update
复制代码
编译:
  1. make -j $(nproc --all)
复制代码
编译完成之后在如下目录能够找到二进制文件:
  1. cd /home/xmr/monero/build/Linux/release-v0.17/release/bin
复制代码

我们只需要用到里面的monerod和monero-wallet-cli以及monero-wallet-rpc。

还是在这个screen会话下面,先运行monerod,让它自己同步区块:
  1. ./monerod
复制代码
注:目前区块至少有百GB以上,同步至少需要十几个小时左右,SSD硬盘大概是这样,如果是HDD硬盘估计要花更长时间。

这个时候我们按键盘组合键Ctrl+A+D先切出来。趁着这个时间来编译矿池源码。
首先安装编译需要用到的包:
  1. sudo apt -y install liblmdb-dev libevent-dev libjson-c-dev uuid-dev nginx
复制代码
导入环境变量:
  1. export MONERO_ROOT=/home/xmr/monero
复制代码
拉取矿池的项目代码:
  1. git clone https://github.com/jtgrassie/monero-pool.git
  2. cd monero-pool
复制代码
编译:
  1. make release
复制代码
编译完成之后在如下目录能够找到二进制文件:
  1. ls /home/xmr/monero-pool/build/release
复制代码
现在你需要等待区块同步完成,一旦完成你就可以看到回显。

回到screen的会话内:
  1. screen -r buildxmr
复制代码
按键盘组合键Ctrl+C退出正在运行的monerod。然后再按Ctrl+A+D退出当前会话。接着杀掉这个会话:
  1. screen -X -S buildxmr quit
复制代码
新建systemd服务用户守护monerod:
  1. sudo nano /etc/systemd/system/monerod.service
复制代码
写入如下配置:
  1. [Unit]
  2. Description=Monero Full Node
  3. After=network.target

  4. [Service]
  5. User=xmr
  6. Group=xmr
  7. WorkingDirectory=~
  8. Type=simple
  9. ExecStart=/home/xmr/monero/build/Linux/release-v0.17/release/bin/monerod --non-interactive
  10. Restart=always

  11. [Install]
  12. WantedBy=multi-user.target
复制代码
启动并设置monerod开机自启:
  1. sudo systemctl enable --now monerod.service
复制代码
现在我们需要申请一个矿池钱包。

进入如下目录:
  1. cd /home/xmr/monero/build/Linux/release-v0.17/release/bin
复制代码
执行如下命令:
  1. ./monero-wallet-cli
复制代码
整个申请流程如下:
Wallet file name (or Ctrl-C to quit): poolwallet // 钱包名
No wallet found with that name. Confirm creation of new wallet named: poolwallet (Y/Yes/N/No): Y // 确认创建新钱包
Enter a new password for the wallet: // 钱包密码
Confirm password: // 再次输入钱包密码
List of available languages for your wallet's seed: // 助记词的语言选择,这里选择9就行

完成之后在钱包内输入如下命令查看你的钱包地址,复制下来之后退出钱包:
  1. address
  2. exit
复制代码
在当前目录下会有一个和你钱包名一样的钱包文件。这个文件是后续需要用到的。

现在我们需要配置monero-wallet-rpc,先在前台执行一次下面的命令:
  1. ./monero-wallet-rpc --wallet-file=poolwallet --password 你的钱包密码 --rpc-bind-port 28084 --disable-rpc-login
复制代码
如果没有问题的话就Ctrl+C退出来,新建systemd服务文件:
  1. sudo nano /etc/systemd/system/monero-wallet-rpc.service
复制代码
写入如下配置:
  1. [Unit]
  2. Description=Monero Wallet RPC Service
  3. After=network.target

  4. [Service]
  5. User=xmr
  6. Group=xmr
  7. WorkingDirectory=/home/xmr/monero/build/Linux/release-v0.17/release/bin
  8. Type=simple
  9. ExecStart=/home/xmr/monero/build/Linux/release-v0.17/release/bin/monero-wallet-rpc --wallet-file=poolwallet --password 你的钱包密码 --rpc-bind-port 28084 --disable-rpc-login
  10. Restart=always

  11. [Install]
  12. WantedBy=multi-user.target
复制代码
启动以及设置钱包rpc服务开机自启:

  1. sudo systemctl enable --now monero-wallet-rpc.service
复制代码
现在配置矿池服务,进入如下目录:
  1. cd /home/xmr/monero-pool/build/release
复制代码
编辑矿池配置文件:
  1. nano pool.conf
复制代码
这里我只列出几个需要改动的位置:
rpc-host = 127.0.0.1 // monerod守护进程的rpc地址
rpc-port = 18081 // monerod守护进程监听的rpc端口
wallet-rpc-host = 127.0.0.1 // 钱包的rpc地址
wallet-rpc-port = 28084 // 钱包监听的rpc端口
pool-wallet = // 矿池钱包,填你之前申请的
pool-fee-wallet = // 矿池手续费钱包,填一个你的其他钱包地址
pool-fee = 0.00 // 手续费比例
payment-threshold = 0.005 // 最低支付额度

新建systemd配置文件:
  1. sudo nano /etc/systemd/system/monero-pool.service
复制代码
写入如下配置:
  1. [Unit]
  2. Description=Monero Pool Service
  3. After=network.target

  4. [Service]
  5. User=xmr
  6. Group=xmr
  7. WorkingDirectory=/home/xmr/monero-pool/build/release
  8. Type=simple
  9. ExecStart=/home/xmr/monero-pool/build/release/monero-pool
  10. Restart=always
复制代码
启动以及设置monero-pool开机自启:
  1. sudo systemctl enable --now monero-pool
复制代码

可选,配置nginx反向代理:
  1. sudo nano /etc/nginx/conf.d/monero-pool.conf
复制代码
写入如下配置:
  1. server {
  2.     listen 80;
  3.     server_name pool.233.fi;
  4.     client_max_body_size 0;

  5.     location / {
  6.         proxy_pass http://127.0.0.1:4243;
  7.         proxy_set_header Host $host;
  8.         proxy_set_header X-Real-IP $remote_addr;
  9.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  10.         proxy
复制代码
参与人数 1萌值 -1 收起 理由
诸葛卧龙 -1 发个笔记看下

查看全部评分

分享到 :
根据国家相关法律法规规定,请您先登入后留言 登录 | 立即注册