P2Pool をセットアップする:ピア・ツー・ピア Bitcoin マイニングガイド

概要

P2Pool はオープンソースのピア・ツー・ピア型 Bitcoin マイニングプールで、中央集権的なマイニング権威を排除します。代わりに、各マイナーが共有のブロック生成プロセスに貢献し、ブロック報酬を比例的に得ます。このプロジェクトは主に Python で記述され、Bitcoin と Litecoin をサポートし、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-get, yum, brew 該当なし 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. Bitcoin または Litecoin ノードの準備

P2Pool はローカルの bitcoind(Bitcoin ノード)または litecoind(Litecoin ノード)が完全に同期している必要があります。

  1. ダウンロード:各 OS 用の最新バイナリを取得します。
  2. 設定:データフォルダーに bitcoin.conf(または litecoin.conf)を作成し、下記のように記述します。
    rpcuser=yourrpcuser
    rpcpassword=yourrpcpassword
    server=1
    daemon=1
    txindex=1
    
  3. 起動
    bitcoind -daemon
    
    (Litecoin は 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 を使用している場合は、pippython-argparse をインストールしてください。

5. P2Pool の実行

Linux & macOS

python run_p2pool.py
Windows
python run_p2pool.py
このコマンドは、127.0.0.1:9333(Bitcoin)または 127.0.0.1:9338(Litecoin)にバインドされた 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(Bitcoin)を P2Pool を実行しているマシンのローカル IP に転送します。 2. Litecoin の場合は 9338 を転送します。 3. bitcoindlitecoind もパブリックインターフェースから到達可能であることを確認してください(複数ホストからマイニングする場合)。

セキュリティ備考: インターネットにポートを公開すると DoS 攻撃のリスクが高まります。非必須ポートはファイアウォールで遮断することを検討してください。

7. Litecoin 上で P2Pool を実行

  1. scrypt モジュールをビルド します。これは Litecoin の PoW を扱います。
    cd litecoin_scrypt
    sudo python setup.py install
    
  2. P2Pool を Litecoin フラグ付きで起動 します。
    python run_p2pool.py --net litecoin
    
  3. マイニング:マイナーを 127.0.0.1:9327 に接続します。

リポジトリには Windows インストーラが litecoin_scrypt ディレクトリに用意されており、上級者向け Windows ユーザー向けに Visual Studio ベースのビルドもサポートされています。

8. 寄付とコミュニティ

開発資金は寄付で賄われます: - Bitcoin アドレス:1HNeqi3pJRNvXybNX4FKzZgYJsdTSqJTbk

コミュニティは GitHub のディスカッションと Bitcoin Wiki(P2Pool Wiki)に存在します。バグ報告、機能アイデア、ドキュメント作成の手伝いを歓迎します。

9. よくある問題とトラブルシューティング

問題 対策
python: command not found PATH に Python を追加、あるいは python3 を使用
Twisted のインポートエラー pip install twisted で再インストール
Port 9333 already in use 既存の P2Pool インスタンスを停止、または --port でポートを変更
Network block height mismatch bitcoind を完全に同期させ、両方のノードを再起動
litecoin.conf に必要なエントリがない rpcuserrpcpassword などの必要設定を追加

10. 要約

P2Pool を使用すると、中央集権的なマイニングプールを信頼せずに Bitcoin(または Litecoin)のマイニングに参加できます。このチュートリアルに従うと、以下が実現できます: - 完全に機能する P2Pool ノード。 - 同期されたローカルブロックチェーン。 - NAT 対応のポート転送でピアに提供。 - 一般的な落とし穴のトラブルシューティング知識。

今すぐマイニングを開始し、より分散化されたブロックチェーンに貢献し、ご自身のノードを運用する安心感をお楽しみください。


さらに読む: - Bitcoin Wiki 上の P2Pool - P2Pool Extended Front End - Windows 用 scrypt モジュールビルドガイド

この記事を共有