コンテンツにスキップ

エッジサブスクライバー接続(CLI)

レガシー CLI サブスクリプション — 2026年8月30日に廃止

このページは、すでに CLI / オンチェンシート サブスクリプション(doublezero-solana shreds pay)をご利用中のユーザー向けです。このシステムは 2026年8月30日 に廃止されます。

新規サブスクリプションは シュレッドのサブスクライブ(Edge) のポータルフローをご利用ください。

DoubleZero に接続することにより、DoubleZero 利用規約に同意したものとみなされます。データはお客様の内部目的でのみ使用可能であり、再送信することはできません(セクション 2(e) を参照)。

ステップ 1: DoubleZero セットアップ

1. セットアップの完了

Solana CLI をインストールします。

セットアップの手順に従って、DoubleZero クライアントをインストールおよび設定します。

以前に DoubleZero をセットアップしたことがある場合は、sudo apt update && sudo apt install doublezero-solana で最新の Doublezero-Solana CLI がインストールされていることを確認してください。

2. ファイアウォールの設定

GRE、BGP、PIM、およびシュレッドトラフィックを許可します。

iptables:

sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -p pim -j ACCEPT
sudo iptables -A INPUT -i doublezero1 -p udp --dport 7733 -j ACCEPT
sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT

UFW:

sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero1 proto pim from any to any
sudo ufw allow in on doublezero1 to any port 7733 proto udp
sudo ufw allow in on doublezero0 to any port 44880 proto udp

3. リコンサイラーの有効化

リコンサイラーはオンチェンの状態を監視し、シートが割り当てられたときに自動的にトンネルをプロビジョニングします。デフォルトでは有効になっていません。

doublezero enable

ステップ 2: ウォレットのセットアップ

1. Solana キーペアの作成

doublezero-solana CLI は、オンチェンシート管理に標準的な Solana キーペアを使用します。まだお持ちでない場合:

solana-keygen new

これにより ~/.config/solana/id.json に書き込まれます。別のパスを使用する場合は、任意の doublezero-solana コマンドに --keypair <path> を渡してください。

ウォレットアドレスを表示:

solana address

2. ウォレットへの入金

ウォレットには2種類のトークンが必要です:

  • SOL — Solana トランザクション手数料用。上記で表示されたウォレットアドレスに SOL を送金してください。
  • USDC — シートの資金用。CLI はメインネット USDC ミント(EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v)の Associated Token Account(ATA)から引き出します。

ステップ 3: シートの購入

1. 最寄りのデバイスを探す

シートを購入する前に、お使いのマシンからレイテンシが最も低いデバイスを特定します:

doublezero latency

最もレイテンシが低い結果のデバイスコード(例:<Device_Name>)をメモしてください。シート購入時に使用します。

2. 料金の確認

資金を投入する前に、現在のデバイス料金を確認します。料金は ベースメトロ価格デバイスごとのプレミアム の2つの要素で構成されています。料金と空き状況はこちらでも確認できます。

全デバイス:

doublezero-solana shreds price

特定のデバイス:

doublezero-solana shreds price --device-code <Device_Name>
doublezero-solana shreds price --device <PUBKEY>

メトロ内の全デバイス:

doublezero-solana shreds price --metro <PUBKEY>

出力列:Device CodeMetro CodeMetro NameStatusSettled SeatsAvailable SeatsBase Price (USDC)Premium (USDC)Epoch Price (USDC)

エポック価格は、そのデバイスでの1エポックあたりのシート総費用(ベース + プレミアム)です。--wide を使用すると完全な公開鍵が表示され、--json を使用すると JSON 出力になります。

3. シートの購入

1つのコマンドでシートを購入します。これによりシートの初期化、エスクローへの資金投入、割り当てリクエストが行われます:

doublezero-solana shreds pay \
  --device-code <Device_Name> \
  --client-ip <Target_IP> \
  --amount <Cost_Of_Seat>

パラメータ:

フラグ 説明
--device <PUBKEY> 公開鍵でターゲットデバイスを指定(--device-code と排他的)
--device-code <CODE> 人間が読めるコードでターゲットデバイスを指定(例:<Device_Name>
--client-ip <IP> お使いのマシンのパブリック IPv4 アドレス
--amount <USDC> 投入する USDC 金額(10進数形式、例:100 = 100 USDC)。最低エポック価格を満たす必要があります。
--source-token-account <PUBKEY> カスタム USDC ソースアカウント(デフォルトはウォレットの ATA)
--accept-partial-epoch エポック残り時間の警告をスキップ(下記参照)
--fee-payer <PATH> SOL トランザクション手数料に別のウォレットを使用
--dry-run トランザクションを実行せずにシミュレーション
--with-compute-unit-price <PRICE> 混雑時により早く取り込まれるようコンピュートユニット価格を設定

シートが割り当てられると、デーモンが自動的に GRE トンネルを確立します。接続を確認するには:

doublezero status

エポックのタイミング

シートは Solana エポック(約2日)ごとに割り当てられます。支払い時に現在のエポックの残りが 10% 未満の場合、CLI はシートが即座に割り当てられるものの現在のエポックの残り期間のみをカバーすることを警告します。次のエポックが始まると、エスクローから別途支払いが差し引かれます。

シートを失わないように、一度に1エポック以上の資金を投入することをお勧めします。エポックの残り時間はこちらで確認できます。

この警告は --accept-partial-epoch でバイパスできます。

エスクローの残高を維持する

決済時にエスクロー残高がエポック価格を下回っている場合、シートは割り当てられず、トンネルは切断され、蓄積されたテニュアが失われます。テニュアは将来のエポックでの優先順位を決定します。テニュアを失うと、新規参加者として再び競争することになります。

複数エポック分の資金を投入するために、このアカウントに多めに入金することができます。各決済で1エポック分の価格がエスクローから差し引かれ、残高は次に繰り越されます。例えば、1エポックあたりの価格の5倍を投入すれば、再入金なしで最大5エポック分のシートが有効になります。

エスクローに追加入金するには、いつでも shreds pay を再実行してください:

doublezero-solana shreds pay \
  --device-code <Device_Name> \
  --client-ip <Target_IP> \
  --amount 500

Target_IP はシュレッドを受信するマシンのパブリック IPv4 アドレスである必要があります。ターゲットマシンで curl -4 ifconfig.me のようなコマンドを実行して確認できます。

シートの監視

このセクションでは、CLI を使用してシートを表示する方法を説明します。https://data.doublezero.xyz/api/v1/docs を使用してシートの監視やエスクローアカウントの管理を支援することもできます。

アクティブなシートとエスクロー残高を表示:

全シート:

doublezero-solana shreds list

デバイスでフィルタ:

doublezero-solana shreds list --device-code <Device_Name>

クライアント IP でフィルタ:

doublezero-solana shreds list --client-ip <Target_IP>

ウォレットでフィルタ:

doublezero-solana shreds list --withdraw-authority <PUBKEY>

出力列:Device CodeClient IPTenureBalance (USDC)Est. Epochs Paid

「Est. Epochs Paid」列は、現在の料金で現在の残高が何エポック分をカバーするかを示します。料金が変更されると、この見積もりは調整されます。

シートとエスクローの引き出し

このコマンドはシートを解放し、エスクローを閉鎖します。現在のエポックの未使用分に対する按分返金と、残りのエスクロー残高がウォレットに返金されます。シートと蓄積されたテニュアは失われます。

doublezero-solana shreds withdraw \
  --device-code <Device_Name> \
  --client-ip <Target_IP>

他のコマンドと同様に、--device <PUBKEY> または --device-code <CODE> のいずれかでデバイスを指定できます。

USDC の返金を別のトークンアカウントに送る場合:

doublezero-solana shreds withdraw \
  --device-code <Device_Name> \
  --client-ip <Target_IP> \
  --refund-token-account <PUBKEY>

この操作は元に戻せません。引き出し後、シートは失われ、テニュアはリセットされます。


シュレッドアドレス(IP とポート)

リーダーシュレッドと高ステークのリトランスミットシュレッドはポート 7733 経由で doublezero1 インターフェースに到着します。doublezero0 インターフェースはユニキャストトラフィック用です。ポート 5765 はシュレッドパブリッシャーからのハートビートモニターであり、シュレッドは含まれません。

シュレッド消費において、IP アドレス はマルチキャストストリームを識別し、ポート はそのストリーム上の UDP サービスを識別します。 以下のすべてのシュレッドストリームは、doublezero1 上の UDP ポート 7733 を使用します。

任意のマルチキャストグループの IP は以下のコマンドで確認できます:

doublezero multicast group list

リーダーシュレッド

  • edge-solana-shreds: 233.84.178.1:7733

ルートシュレッド

  • edge-solana-root: 233.84.178.16:7733

リトランスミットシュレッド

  • edge-solana-retrans-eu: 233.84.178.12:7733
  • edge-solana-retrans-apac: 233.84.178.13:7733
  • edge-solana-retrans-amer: 233.84.178.14:7733

GRE トンネルヘッダー — XDP

ネットワーク経由で配信されるシュレッドトラフィックは GRE カプセル化されています。既存のパイプライン(例:XDP ベースのデシュレッダー)にデータを送る前に、GRE ヘッダーを除去する必要がある場合があります。


ツールとダッシュボード

Edge スコアボード

スコアボードは、DoubleZero Edge と他のプロバイダー間でのシュレッド配信速度をベンチマークし、スロットレベルのデータを使用してリアルタイムでパフォーマンスを比較します。このダッシュボードを使用して、他のプロバイダーに対する Edge シュレッドの勝率を確認できます。リーダーシュレッドのみの結果に加え、フルフィードの比較も表示できます。リージョンごとにドリルダウンして、期待されるパフォーマンスを確認することもできます。

Edge パブリッシャー

ダッシュボード左上の「Publishing Shreds」メトリクスは、DoubleZero Edge でリーダーシュレッドを公開しているすべての Solana バリデーターの合計ステークウェイトの割合を示しています。ネットワーク上の各パブリッシャーの詳細を確認できます。

Edge サブスクライバー、デバイス、アクティビティ

このページでクライアント IP を簡単に検索して、サブスクライブ済みのシートとステータスを確認できます。特定のシートサブスクリプションをクリックすると、支払い履歴とアクティビティを表示できます。デバイスページで利用可能なデバイスを、アクティビティページで最近のすべてのアクティビティを確認することもできます。

データ API ドキュメント

データエンドポイントへのプログラムによるアクセスについては、API ドキュメントを参照してください:https://data.doublezero.xyz/api/v1/docs


トラブルシューティング

ここに記載されていない問題が発生した場合は、回避策を試みる前に、既存のチャネルからお問い合わせください。チャネルをお持ちでない場合は、Discord で検索し、必要に応じてチケットを作成してください。

クライアントが最新であることを確認する:

実行:sudo apt update && sudo apt install doublezero-solana

エスクロー残高不足

決済時にエスクロー残高がエポック価格を下回っている場合、シートは割り当てられず、トンネルは切断され、テニュアが失われます。次の決済前に shreds pay で追加入金してください。

支払い後にシートが割り当てられない

  • エポックの後半に支払った可能性があります — シートは次のエポックから有効になります。
  • テニュアの高い既存ユーザーによってデバイス上のすべてのシートが占有されている可能性があります。shreds price で空きシートを確認してください。
  • 決済前に引き出しを行った場合、そのシートは対象外になります。

トンネルが起動しない

  1. デーモンが実行中であることを確認:sudo systemctl status doublezerod
  2. リコンサイラーが有効であることを確認:doublezero enable
  3. ファイアウォールルールが設定されていることを確認(GRE、BGP、PIM、doublezero1 上のシュレッドトラフィック、doublezero0 上のポート 44880)
  4. 現在のエポックでシートがアクティブであることを確認:doublezero-solana shreds list
  5. 接続ステータスを確認:doublezero status

デーモンのクライアント IP はホストのパブリック IP から自動検出されます — シートコマンドで使用した --client-ip と一致していることを確認してください。

エポック警告プロンプト

エポックの残りが 10% 未満の場合、CLI が警告を表示します。選択肢:

  • すぐにシートが必要な場合は --accept-partial-epoch で承認
  • フルエポック分のカバレッジを得るために次のエポックまで待つ

「金額が現在の価格を下回っています」

pay コマンドは、最低エポック価格(メトロベース + デバイスプレミアム)に対して金額を検証します。shreds price で現在の料金を確認し、金額を増やしてください。

「マルチキャストユーザーは既に存在します」

別のパスを通じてアクティブなサブスクリプションが既に存在します。まず doublezero disconnect で切断してから、shreds pay を再試行してください。