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 ノード)が完全に同期している必要があります。
- ダウンロード:各 OS 用の最新バイナリを取得します。
- 設定:データフォルダーに
bitcoin.conf(またはlitecoin.conf)を作成し、下記のように記述します。rpcuser=yourrpcuser rpcpassword=yourrpcpassword server=1 daemon=1 txindex=1 - 起動:
(Litecoin は
bitcoind -daemonlitecoind -daemonを使用)
警告: RPC 認証情報を安全に保管してください。公開ネットワークに晒さないようにしましょう。
4. P2Pool の依存パッケージをインストール
Linux 向け:
sudo apt-get update
sudo apt-get install python-zope.interface python-twisted python-twisted-web python-argparse
pip install twisted zope.interface
pip で python-argparse をインストールしてください。
5. P2Pool の実行
Linux & macOS
Windowspython run_p2pool.pyこのコマンドは、python run_p2pool.py127.0.0.1:9333(Bitcoin)または127.0.0.1:9338(Litecoin)にバインドされた P2Pool ノードを起動します。利用可能なオプションを確認するには、
python run_p2pool.py --help
マイナーとの組み合わせ例
- マイナーの
stratumURL をローカル P2Pool インスタンスにポイントさせます。 - マイナーを
localhost(または127.0.0.1)と適切なポートに設定します。 - Bitcoin:
127.0.0.1:9332 - Litecoin:
127.0.0.1:9327 - 任意のユーザー名/パスワードは機能しない(P2Pool は無視する)。
6. NAT、ポート転送、およびパブリックアクセス
さらに広域インターネットから自身の P2Pool ノードを公開したい場合は以下を実行します。
1. TCP ポート転送を有効 にします。ルーターで外部ポート 9333(Bitcoin)を P2Pool を実行しているマシンのローカル IP に転送します。
2. Litecoin の場合は 9338 を転送します。
3. bitcoind/litecoind もパブリックインターフェースから到達可能であることを確認してください(複数ホストからマイニングする場合)。
セキュリティ備考: インターネットにポートを公開すると DoS 攻撃のリスクが高まります。非必須ポートはファイアウォールで遮断することを検討してください。
7. Litecoin 上で P2Pool を実行
- scrypt モジュールをビルド します。これは Litecoin の PoW を扱います。
cd litecoin_scrypt sudo python setup.py install - P2Pool を Litecoin フラグ付きで起動 します。
python run_p2pool.py --net litecoin - マイニング:マイナーを
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 に必要なエントリがない |
rpcuser、rpcpassword などの必要設定を追加 |
10. 要約
P2Pool を使用すると、中央集権的なマイニングプールを信頼せずに Bitcoin(または Litecoin)のマイニングに参加できます。このチュートリアルに従うと、以下が実現できます: - 完全に機能する P2Pool ノード。 - 同期されたローカルブロックチェーン。 - NAT 対応のポート転送でピアに提供。 - 一般的な落とし穴のトラブルシューティング知識。
今すぐマイニングを開始し、より分散化されたブロックチェーンに貢献し、ご自身のノードを運用する安心感をお楽しみください。
さらに読む: - Bitcoin Wiki 上の P2Pool - P2Pool Extended Front End - Windows 用 scrypt モジュールビルドガイド