• 自建门罗币矿池——todo,待实践


    自建门罗币矿池

    其他地址:https://yiyu.gaoyongboke.com/20210307289578.html

    自建矿池自己随便玩玩的话还是可以的,就当是学习一下技术了。这东西除非你算力特别高,否则还不如用别人现成的。

    搭建矿池的机器配置要求也比较高:至少2CPU/4G内存/120GB硬盘。你没闲置机器的话,回本都回不了。。

    这是我搭着玩的一个矿池:http://pool.233.fi/

    各位有闲置小鸡的话可以试试我这个矿池。。。

    我这个矿池只能挖门罗币,其他山寨币都不支持,特点是0手续费,支持RandomX。

    下面是这个矿池在Debian10上的搭建步骤。

    首先安装需要用到的包:

    apt -y update
    apt -y install build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev \
    libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev \
    libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler \
    libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev \
    libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev \
    libboost-thread-dev ccache doxygen graphviz git screen sudo

    新建用户/修改用户密码/加入sudo组:

    useradd -m -s /bin/bash xmr
    passwd xmr
    adduser xmr sudo

    [可选]如果内存小于4GB,可以挂一个swap强行怼一下,说不定编译的时候能过:

    fallocate -l 1G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile

    现在切到刚才新建的xmr用户下:

    su - xmr

    开一个screen,编译需要花比较长的时间,防止中途ssh断线:

    screen -S buildxmr

    拉取门罗币的源码:

    git clone --recursive https://github.com/monero-project/monero
    cd monero
    git branch -a
    git checkout release-v0.17
    git submodule sync
    git submodule update

    编译:

    make -j $(nproc --all)

    编译完成之后在如下目录能够找到二进制文件:

    cd /home/xmr/monero/build/Linux/release-v0.17/release/bin

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

    还是在这个screen会话下面,先运行monerod,让它自己同步区块:

    ./monerod

    注:目前区块大概有105GB,同步需要12小时左右,SSD硬盘大概是这样,如果是HDD硬盘估计要花更长时间。

    这个时候我们按键盘组合键Ctrl+A+D先切出来。趁着这个时间来编译矿池源码。

    首先安装编译需要用到的包:

    sudo apt -y install liblmdb-dev libevent-dev libjson-c-dev uuid-dev nginx

    导入环境变量:

    export MONERO_ROOT=/home/xmr/monero

    拉取矿池的项目代码:

    git clone https://github.com/jtgrassie/monero-pool.git
    cd monero-pool

    编译:

    make release

    编译完成之后在如下目录能够找到二进制文件:

    ls /home/xmr/monero-pool/build/release

    现在你需要等待区块同步完成,一旦完成你就可以看到类似下图的回显:

    回到screen的会话内:

    screen -r buildxmr

    按键盘组合键Ctrl+C退出正在运行的monerod。然后再按Ctrl+A+D退出当前会话。接着杀掉这个会话:

    screen -X -S buildxmr quit

    新建systemd服务用户守护monerod:

    sudo nano /etc/systemd/system/monerod.service

    写入如下配置:

    [Unit]
    Description=Monero Full Node
    After=network.target
    
    [Service]
    User=xmr
    Group=xmr
    WorkingDirectory=~
    Type=simple
    ExecStart=/home/xmr/monero/build/Linux/release-v0.17/release/bin/monerod --non-interactive
    Restart=always
    
    [Install]
    WantedBy=multi-user.target

    启动并设置monerod开机自启:

    sudo systemctl enable --now monerod.service

    现在我们需要申请一个矿池钱包。

    进入如下目录:

    cd /home/xmr/monero/build/Linux/release-v0.17/release/bin

    执行如下命令:

    ./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就行

    完成之后在钱包内输入如下命令查看你的钱包地址,复制下来之后退出钱包:

    address
    exit

    在当前目录下会有一个和你钱包名一样的钱包文件。这个文件是后续需要用到的。

    现在我们需要配置monero-wallet-rpc,先在前台执行一次下面的命令:

    ./monero-wallet-rpc --wallet-file=poolwallet --password 你的钱包密码 --rpc-bind-port 28084 --disable-rpc-login

    如果没有问题的话就Ctrl+C退出来,新建systemd服务文件:

    sudo nano /etc/systemd/system/monero-wallet-rpc.service

    写入如下配置:

    [Unit]
    Description=Monero Wallet RPC Service
    After=network.target
    
    [Service]
    User=xmr
    Group=xmr
    WorkingDirectory=/home/xmr/monero/build/Linux/release-v0.17/release/bin
    Type=simple
    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
    Restart=always
    
    [Install]
    WantedBy=multi-user.target

    启动以及设置钱包rpc服务开机自启:

    sudo systemctl enable --now monero-wallet-rpc.service

    现在配置矿池服务,进入如下目录:

    cd /home/xmr/monero-pool/build/release

    编辑矿池配置文件:

    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配置文件:

    sudo nano /etc/systemd/system/monero-pool.service

    写入如下配置:

    [Unit]
    Description=Monero Pool Service
    After=network.target
    
    [Service]
    User=xmr
    Group=xmr
    WorkingDirectory=/home/xmr/monero-pool/build/release
    Type=simple
    ExecStart=/home/xmr/monero-pool/build/release/monero-pool
    Restart=always
    
    [Install]
    WantedBy=multi-user.target

    启动以及设置monero-pool开机自启:

    sudo systemctl enable --now monero-pool

    [可选]配置nginx反向代理:

    sudo nano /etc/nginx/conf.d/monero-pool.conf

    写入如下配置:

    server {
        listen 80;
        server_name pool.233.fi;
        client_max_body_size 0;
    
        location / {
            proxy_pass http://127.0.0.1:4243;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

    重载nginx/设置开机自启:

    sudo systemctl reload nginx.service
    sudo systemctl enable nginx.service
  • 相关阅读:
    win10 uwp 获得缩略图
    win10 uwp 获取指定的文件 AQS
    win10 uwp 使用 Geometry resources 在 xaml
    WPF 如何画出1像素的线
    Windows 10 快捷键汇总表格
    要让CLR挂掉的话……
    UWP 分享用那个图标
    UWP 分享用那个图标
    PHP jdtogregorian() 函数
    PHP jdtojewish() 函数
  • 原文地址:https://www.cnblogs.com/bonelee/p/16412083.html
Copyright © 2020-2023  润新知