设置 P2Pool:点对点比特币挖矿指南

概述

P2Pool 是一个 开源、点对点的比特币挖矿池,消除了对中心化挖矿机构的需求。相反,每个矿工都参与共享的区块生成过程,按比例获得区块奖励。该项目主要使用 Python 编写,支持比特币和莱特币,并可在 Linux、macOS 和 Windows 上运行。

为什么选择 P2Pool? * 更高的去中心化和抵御审查性。 * 无单点故障或中心化收入泄漏。 * 透明且可审计的挖矿过程。

下面是一份综合教程,向您展示如何在自己的机器上安装、配置并运行 P2Pool。

1. 先决条件

项目 最低版本 备注
Python 2.7 或 3.5+ 项目核心语言。
Twisted 10.0.0+ P2Pool 使用的网络引擎。
python-argparse 仅适用于 Python 2.6 对旧版 Python 的可选插件。
python-zope.interface 4.4+ Twisted 的依赖。
python-twisted-web 10.0.0+ Twisted 的 Web 组件。
python-zope.interface / python-win32api 对 Windows 必需 Win32 API 包装器。
git 任意 克隆仓库。
apt-getyumbrew 不适用 Linux/macOS 特定发行版包管理器。

小技巧:大多数 Linux 发行版在官方仓库中发布 Twisted 及其相关库。Windows 则先安装 Python,然后执行 pip install twisted zope.interface

2. 克隆仓库

git clone https://github.com/p2pool/p2pool.git
cd p2pool
仓库中含有大量注释,并附有 README.md,内容与下面说明保持一致。

3. 准备您的比特币或莱特币节点

P2Pool 需要本地 bitcoind(比特币节点)或 litecoind(莱特币节点),并且完全同步。

  1. 下载 您系统对应的最新二进制文件。
  2. 配置 节点:在数据文件夹中创建 bitcoin.conf(或 litecoin.conf)。
    rpcuser=yourrpcuser
    rpcpassword=yourrpcpassword
    server=1
    daemon=1
    txindex=1
    
  3. 启动 守护进程:
    bitcoind -daemon
    
    (莱特币请使用 litecoind -daemon)。

警告:请妥善保管 RPC 凭证,避免在公共网络泄露。

4. 安装 P2Pool 依赖

对于 Linux

sudo apt-get update
sudo apt-get install python-zope.interface python-twisted python-twisted-web python-argparse
对于 Windows
pip install twisted zope.interface
若使用 Python 2.6,请通过 pip 安装 python-argparse

5. 运行 P2Pool

Linux & macOS

python run_p2pool.py
Windows
python run_p2pool.py
此命令会启动一个绑定到 127.0.0.1:9333(比特币)或 127.0.0.1:9338(莱特币)的 P2Pool 节点。查看可用参数,请执行:

python run_p2pool.py --help

与矿机配套使用示例

  1. 将矿机的 stratum URL 指向本地 P2Pool 实例。
  2. 设置矿机目标为 localhost(或 127.0.0.1)以及正确端口。
  3. Bitcoin:127.0.0.1:9332
  4. Litecoin:127.0.0.1:9327
  5. 任何用户名/密码均可使用,P2Pool 会忽略它们。

6. NAT、端口转发与公网访问

若想让更广阔的互联网看到您的 P2Pool 节点: 1. 启用 TCP 端口转发:将路由器外部端口 9333(比特币)转发到运行 P2Pool 的机器本地 IP。 2. 对于莱特币,转发 9338。 3. 如需从多台主机挖矿,请确保您的 bitcoind/litecoind 也可以从公网访问。

安全提示:将端口暴露到互联网会使节点面临 DoS 攻击风险。建议仅允许必要端口通过防火墙。

7. 在莱特币上运行 P2Pool

  1. 编译 scrypt 模块(处理莱特币 PoW)。
    cd litecoin_scrypt
    sudo python setup.py install
    
  2. 以莱特币标志启动 P2Pool
    python run_p2pool.py --net litecoin
    
  3. 挖矿:让矿机连接至 127.0.0.1:9327

仓库同时提供了预编译的 Windows 安装包(位于 litecoin_scrypt 目录),并支持 Visual Studio 为高级 Windows 用户提供的编译方式。

8. 捐赠与社区

开发通过捐赠获得资金支持: - 比特币地址:1HNeqi3pJRNvXybNX4FKzZgYJsdTSqJTbk

社区聚集在 GitHub 讨论区与比特币 Wiki: P2Pool Wiki。欢迎提交 bug 报告、功能建议或参与文档编写。

9. 常见问题 & 故障排除

问题 解决方案
python: command not found 确保 Python 在 PATH 中,或使用 python3
Twisted 导入错误 通过 pip install twisted 重新安装 Twisted
Port 9333 already in use 停止之前的 P2Pool 实例,或使用 --port 更改端口
Network block height mismatch 完全同步 bitcoind,随后重启两台节点
litecoin.conf 缺少条目 添加 rpcuserrpcpassword 等必要设置

10. 小结

P2Pool 让您可以在不信任中心化矿池的情况下参与比特币(或莱特币)挖矿。按本教程操作后,您将拥有: - 一个完全集成的 P2Pool 节点。 - 一个同步好的本地区块链。 - 适用于网络对等端的 NAT 端口转发。 - 解决常见故障的知识。

立即开始挖矿,贡献更去中心化的区块链,并在拥有自己节点的安心中享受宁静。


进一步阅读: - P2Pool(比特币 Wiki) - P2Pool 扩展前端 - Windows 下 scrypt 模块构建指南

原创文章: 查看原文

分享本文