XMR (Monero) スーパーチャット機能をPeerTubeに追加するプラグイン(まだ試作段階)
- ✅ XMRでの投げ銭
- ✅ リアルタイム着金通知
- ✅ YouTube風のオーバーレイ表示
- ✅ QRコード生成
- ✅ WebSocket経由のリアルタイム通知
- ✅ 金額に応じた演出の変化
- PeerTube >= 5.0.0
- monero-wallet-rpc (リモートまたはローカル)
- Node.js >= 18
monero-wallet-rpc \
--daemon-address your-remote-node.onion:18081 \
--wallet-file /path/to/your/wallet \
--password "your-password" \
--rpc-bind-port 18082 \
--rpc-bind-ip 127.0.0.1 \
--disable-rpc-login \
--trusted-daemonTor経由でOnionノードに接続する場合:
monero-wallet-rpc \
--daemon-address your-remote-node.onion:18081 \
--proxy 127.0.0.1:9050 \
--wallet-file /path/to/your/wallet \
--password "your-password" \
--rpc-bind-port 18082 \
--rpc-bind-ip 127.0.0.1 \
--disable-rpc-login \
--trusted-daemonnpm install
npm run build# PeerTubeのCLIを使用
cd /var/www/peertube
sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config \
NODE_ENV=production \
npm run plugin:install -- --path /path/to/peertube-plugin-xmr-superchatPeerTube管理画面 → プラグイン → XMR Superchat で以下を設定:
- Monero Wallet RPC URL:
http://localhost(またはhttp://127.0.0.1) - Monero Wallet RPC Port:
18082 - RPC Username: (オプション - 設定していない場合は空)
- RPC Password: (オプション - 設定していない場合は空)
- Minimum Confirmations:
1(推奨)
- 任意の動画を再生
- プレイヤーコントロールに💰ボタンが表示される
- ボタンをクリックしてモーダルを開く
- 金額とメッセージを入力
- QRコードが生成される
- XMRウォレットから支払い
- 確認後、動画上にオーバーレイが表示される
peertube-plugin-xmr-superchat/
├── client/ # クライアント側コード
│ ├── common-client-plugin.ts
│ └── video-watch-client-plugin.ts
├── server/ # サーバー側コード
│ ├── main.ts
│ └── lib/
│ ├── xmr-wallet.ts
│ └── payment-monitor.ts
├── assets/styles/ # スタイル
│ └── superchat.scss
└── scripts/ # ビルドスクリプト
└── build-client.mjs
npm run build # 全体ビルド
npm run build:client # クライアントのみ
npm run build:server # サーバーのみ
npm run build:css # CSSのみ
npm run clean # distフォルダを削除支払い用のアドレスを生成
リクエスト:
{
"videoId": "video-uuid",
"amount": "0.1",
"message": "Great video!"
}レスポンス:
{
"address": "4...",
"paymentId": "abc123...",
"qrCode": "data:image/png;base64,...",
"amount": "0.1"
}ウォレットRPCのヘルスチェック
レスポンス:
{
"healthy": true
}join-video: 動画ルームに参加{ videoId: string }leave-video: 動画ルームから退出{ videoId: string }
superchat: 新しいスパチャ通知
{
"amount": 0.1,
"message": "Great video!",
"txid": "abc123...",
"confirmations": 1
}- monero-wallet-rpcが起動しているか確認
- ファイアウォール設定を確認
/plugins/xmr-superchat/router/healthでヘルスチェック
- ブラウザのコンソールでエラーを確認
- WebSocket接続が確立されているか確認
- 支払いが1確認以上受けているか確認
- サーバーログでエラーを確認
qrcodeパッケージが正しくインストールされているか確認
AGPL-3.0
- LTC対応
- BTC対応
- サウンド通知
- 管理画面での統計表示
- 複数通貨対応
- OBS専用オーバーレイページ