ユーザ用ツール

サイト用ツール


tag:farm-connect

文書の過去の版を表示しています。


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 環境変数

パラメータ デフォルト値 説明
†† FarmConnect__AccessToken (空) あなたのQLIプラットフォームのアクセストークン
† FarmConnect__Name QLI Farm Connect ファームの名前
† FarmConnect__ApiPassword ランダムな値 Farm Connect APIへのアクセスに必要なパスワード
FarmConnect__DataFolder data ファームの名前(※原文ママ、データ保存先フォルダ名)
FarmConnect__TargetSeedBufferSize 1 同時にトレーニングされるターゲットSeedの最大数
FarmConnect__PoolAddress 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>

例: http://10.10.10.10:80/status/LiveStat?pw=suhc.ksdfdsf

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"
...
tag/farm-connect.1774738502.txt.gz · 最終更新: by d.azuma