文書の過去の版を表示しています。
目次
QLI Farm Connect
QLI Farm Connectは、QLIプラットフォームに接続するための専用プロキシです。
これにより、誰でもQLI Clientのための独自のエントリポイント(API)を運用できるようになります。
重要
Farm Connectはベータ版であり、エラーが発生して稼働する可能性があります。
アカウントの準備
Farm Connectを運用するには、QLIプラットフォームの有効なアカウントが必要です。https://pool.qubic.li でアカウントを登録できます。
Farm Connectは、標準のプールおよびセルフホストのトレーニングと互換性があります。
クイックテスト(非推奨)
仕組みを手早く確認したい場合は、以下のコマンドを実行してください。
docker run --name qli-farm-connect -e FarmConnect__AccessToken=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJJZCI6ImUxODc5YzQ3LTIwZjUtNDA5Yy05MThkLTRhYzgyNzFiYjYxMSIsIk1pbmluZyI6IiIsIm5iZiI6MTcyNTE5NzA5NSwiZXhwIjoxNzU2NzMzMDk1LCJpYXQiOjE3MjUxOTcwOTUsImlzcyI6Imh0dHBzOi8vcXViaWMubGkvIiwiYXVkIjoiaHR0cHM6Ly9xdWJpYy5saS8ifQ.hBYWpMvvpj8N-t6r6iIdF5y8ayKxtSi0FEb689oOrbPiwBrs76MBvpva7mbOQslzuEFJ8jZSFHlD1QgR6P9YMcTh5fZndI24VBD8lEkNUQPP1wWAOwEUQy-Yk1VTRg7L654ksf0jE4Obj_CDTPyIkK2f5C817--zE7uyngF3-hMRf3Taqus_jR2qqxYSz2D2B2nEYbrRWMDGoMf1tDHq3kFWaFqOr72IjgqkIDV3hs880mhiKcdI0USv54UK-tBon5B_WFJivPr5uo-OUrbILlU24AgTeLYskf1ajIIFnCqJVrAbYxEiaZ0cH1Ey5k6aDfRveb9wqhSQbTMGZuTsOw -e FarmConnect__Name=test-container1 -v /root/data:/app/data qubicli/farm-connect:latest
Docker Compose(推奨)
Docker Composeファイルの作成
例: touch compose.yaml
以下の内容を追加します:
services: qli-farm-connect: image: qubicli/farm-connect:latest restart: always container_name: qli-farm-connect ports: - "80:8080" # 通信のためにポート80を開放 # ローカルのキャッシュデータをコンテナの外部に保存するためのオプション # volumes: # - /root/data:/app/data environment: FarmConnect__Name: "My Farm XY" # あなたのファームの名前 FarmConnect__AccessToken: "ACCESSTOKEN" # あなたのQLIプラットフォームのアクセストークン FarmConnect__ApiPassword: "MySuperSecretPassword" # 変更してください! Farm Connect APIにアクセスするための秘密のパスワード watchtower: image: containrrr/watchtower container_name: watchtower volumes: - ~/.docker/config.json:/config.json:ro - /var/run/docker.sock:/var/run/docker.sock command: --interval 300 restart: always
上記の compose.yaml ファイルは Farm Connect を起動し、さらに Farm Connect を常に最新の状態に保つWatchtowerを追加します。–interval 300 により、Watchtowerは5分ごとに新しい Farm Connect のバージョンをチェックし、存在する場合は自動的に更新します。
Docker Composeの起動
docker compose up -d
Docker Composeの停止
docker compose down
出力のモニタリング
最新のログメッセージ:
docker logs qli-farm-connect
ログメッセージの追跡(フォロー):
docker logs -f qli-farm-connect # (CTRL+Cでキャンセル)
Docker 環境変数
| パラメータ | デフォルト値 | 説明 |
|---|
| †† FarmConnectAccessToken | (空) | あなたのQLIプラットフォームのアクセストークン | | † FarmConnectName | QLI Farm Connect | ファームの名前 |
| † FarmConnectApiPassword | ランダムな値 | Farm Connect APIへのアクセスに必要なパスワード | | FarmConnectDataFolder | data | ファームの名前(※原文ママ、データ保存先フォルダ名) |
FarmConnectTargetSeedBufferSize | 1 | 同時にトレーニングされるターゲットSeedの最大数 |
| FarmConnectPoolAddress | wps.qubic.li | メインのプールアドレス |
†† 必須
† 設定を推奨
Farm Connect API
QLI Farm Connectは、現在のパフォーマンスデータを照会するためのAPIを提供しています。
APIにアクセスするには、各リクエストのURLパラメータとして定義されたパスワードを提供する必要があります。
ステータス・エンドポイント
| HTTPメソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /status/RandomMiningSeed?pw=<APIPassword> | 現在アクティブなマイニングシードを返します |
| GET | /status/LiveStat?pw=<APIPassword> | 接続されているクライアントのライブ統計を返します |
| GET | /status/CalculatedStat?pw=<APIPassword> | アカウントの計算済み/検証済みの統計(発見されたソリューションなど)を返します |
コマンド・エンドポイント
| HTTPメソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /command/ReloadTargetSeeds?pw=<APIPassword> | Farm Connectに現在のターゲットシードを再取得させます |
リクエスト例
スキーム: http://<YOURIP/YOURDOMAIN>:<YOURPORT>/status/LiveStat?pw=<YOURAPIPASSWORD>
Farm Connect を使用すべきケース
Farm Connectを使用することで、以下の場合にプラスの効果が得られる可能性があります:
- 同じ場所から100台以上のクライアントを接続したい場合
- インターネットの帯域幅が制限されている場合
- 公式のQLIプールアドレスを使用しなくてよい場合
- カスタム統計(独自の統計情報)を作成したい場合
- クライアントの独自のモニタリングを行いたい場合
ユースケース: 限られた帯域幅
数百台のクライアントを持つ独自のトレーニングファームを運営しており、インターネット回線が1つしかないと仮定します。これはクライアントのパフォーマンスに悪影響を及ぼす可能性があります。
QLI APIとクライアント間のプロキシとしてFarm Connectを使用すると、必要な帯域幅を削減するのに役立ちます。クライアントは公式のQLI APIの代わりにFarm Connectに接続することになります。
クライアントをFarm Connectに接続する方法
クライアントをFarm Connectに接続するには、poolAddress をご自身のIPアドレスまたはドメインに変更するだけです。
バージョン >= 3.0 のクライアントの設定例
... // スキーム "poolAddress": "ws://YOURIPADDRESS:YOURPORT/" // IPアドレスとデフォルトポート(80)の例 "poolAddress": "ws://10.10.10.10/ws" // IPアドレスとカスタムポート(3548)の例 "poolAddress": "ws://10.10.10.10:3548/ws" // ドメインとデフォルトポート(80)の例 "poolAddress": "ws://myFarmConnect.com/ws" // ドメインとカスタムポート(3548)の例 "poolAddress": "ws://myFarmConnect.com:3548/ws" // ドメイン+SSLプロキシとデフォルトポート(443)の例 "poolAddress": "wss://myFarmConnect.com/ws" // ドメイン+SSLプロキシとカスタムポート(3548)の例 "poolAddress": "wss://myFarmConnect.com:3548/ws" ...
