IBRLモードでのバリデーターテストネット接続
This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon.
DoubleZeroテストネットに接続することで、こちらに記載の評価契約の条件に同意します(クリックして展開)
DoubleZeroテストネット 評価契約
本ソリューション(以下に定義)へのアクセスまたは使用により、当該アクセスの最初の日付時点(「発効日」)で、この評価契約(「本契約」)が、DoubleZero Foundation(「DZF」)が評価ベースでソリューションへのアクセスを提供する条件を定めることに同意するものとします。本契約中の相互の約束を約因として、以下に同意します:
1. 定義。
1.1「機密情報」とは、一方の当事者が他方に開示した情報で、機密として指定されたもの、またはソリューション、製品計画、事業計画、企業秘密、技術、またはその他の独自情報を含むがこれらに限定されない、機密であると理解されるべきすべての情報を意味します。
1.2「ソリューション」とは、web3プロジェクト向けDoubleZero高性能ネットワークインフラのテストネット版(「テストネット」)および統合帯域幅を持つ関連エッジフィルタリングサービス(「情報サービス」)、DZソフトウェア(以下に定義)、DZソフトウェアに関連するDZFが提供するすべての資料(「ドキュメント」)、およびDZFがここでユーザーに提供するその他の資料を意味します。
2. アクセス。
2.1 ソリューションへのアクセス。本契約の条件に従い、DZFはインターネットを通じてユーザーにソリューションへのアクセスを提供します。ユーザーのアクセスは、情報サービスのみを評価するためのソリューションの非独占的、非譲渡可能、限定的な使用です。ソリューションを構成するソフトウェア(「DZソフトウェア」)に関して、DZFはここで評価期間中、ドキュメントで想定される範囲でのみ、DZソフトウェアをコピー、ダウンロード、合理的な数のコピーを作成、実行、デプロイ(該当する場合)するための限定的で取り消し可能なライセンスをユーザーに付与します。
2.2 制限。ユーザーは、発効日からDZFによって終了されるまで(「評価期間」)本契約に従いソリューションを使用できます。ユーザーは、評価期間を超えたソリューションの使用権は、手数料の支払いを含む当事者間の別途の商業契約に従うことを理解します。ユーザーは、第三者を許可した場合も含め、次のことを行ってはなりません:(i)ソリューションまたはその一部に基づいて改変や派生作品を作成すること;(ii)本契約で明示的に許可される場合を除き、ソリューションを複製すること;(iii)ソリューションのすべてまたは一部をサブライセンス、配布、販売、貸し出し、賃貸、リース、転送、または権利を付与すること、またはサービスビューロー等として第三者にアクセスを提供すること(ただし、スタンドアロンベースでなく、ユーザーのプラットフォームまたは製品を通じてまたは関連して情報サービスを提供する場合を除く);または(iv)ここに規定された以外の方法でソリューションを使用すること。
2.3 所有権。DZFはソリューションに関するすべての権利、権原、利益(知的財産権を含む)を保持します。
3. フィードバック。 DZFは定期的にユーザーにソリューションの使用、運用、機能に関するフィードバック(「フィードバック」)の提供を要求する場合があり、ユーザーはDZFにフィードバックを提供することに同意します。ユーザーはここで、フィードバックを製品やサービスに使用・組み込み、そのような製品やサービスを製造、使用、販売、販売の申し出、輸入などし、フィードバックを制限なく使用、コピー、配布、その他の方法で利用するための非独占的、世界的、永続的、取り消し不能、ロイヤルティフリー、完全に支払い済み、完全にサブライセンス可能かつ譲渡可能な権利とライセンスをDZFに付与します。
4. 期間と終了。
4.1 期間。本契約は発効日から開始し、評価期間中有効です。いずれの当事者も、任意の理由または理由なしに、他方の当事者への書面による通知(電子メールで十分)により、本契約をいつでも終了できます。
4.1 終了の効力。理由を問わず本契約が終了した場合:(i)ユーザーに付与された権利は直ちに終了します;(ii)ユーザーはソリューションの使用を直ちに中止し、管理下にあるすべてのドキュメントとDZソフトウェアを返却または廃棄します;(iii)各当事者は他方の当事者のすべての機密情報と財産を速やかに返却または廃棄します;(iv)第2.2条、第2.3条、第3条、第4.2条、第5条から第8条が存続します。
5. 機密保持。 各当事者は、他方の機密情報を本契約に基づく義務の履行と権利の行使のみに使用し、ここで許可される場合を除き、同情報を開示または開示を許可しないことに同意します。ただし、いずれの当事者も、知る必要があり本契約と同等以上の機密保持義務に拘束される自社の人員、弁護士、その他の代表者に機密情報を開示できます;また法律で要求される場合(この場合、受信当事者は開示前に開示当事者に事前通知と異議申立の機会を提供し、適用法の範囲で開示を最小限に抑えます)。第5条の機密保持義務は次の情報には適用されません:(a)受信当事者の過失なしに一般に知られるかまたは公開されるようになった情報;(b)開示当事者による開示前に受信当事者が制限なく適切に知っていた情報;(c)そうする法的権限を持つ別の人から受信当事者に制限なく適切に開示された情報;または(d)開示当事者の機密情報を使用または参照せずに受信当事者が独自に開発した情報。各当事者は、他方の機密情報を無許可の使用および開示から保護するために適切な注意を払うことに同意します。本条または本契約のライセンスの実際のまたは脅威となる違反が発生した場合、違反していない当事者は、利用可能な他の権利または救済を放棄することなく、即時の差し止めおよびその他の衡平法上の救済を求める権利を持ちます。
6. 保証免責;責任制限。
6.1 保証免責。ソリューションは「現状のまま」(AS IS)で提供され、いかなる種類の保証もありません。DZFは、その状態、表明または説明への適合性を含むソリューションとドキュメントに関して、明示的、黙示的、法定またはその他のいかなる保証もなされず、DZFは特に商品性、特定目的への適合性、権原、および非侵害の黙示的保証をすべて否認します。
6.2 責任制限。 第2.1条、第2.2条、および第5条の違反を除き、いかなる場合においても、いずれの当事者も他方に対して、本契約から生じるまたは本契約に関連する契約、不法行為またはその他の訴訟において、相手方がそのような損害の可能性について通知を受けていた場合でも、利益の損失、使用または損失のデータを含むがこれに限定されない間接的、付随的、特別またはその他の結果的損害について責任を負いません。いかなる場合においても、本契約から生じるまたは本契約に関連するDZFの総責任は、契約、不法行為またはその他の訴訟において100ドルを超えません。上記の制限は、ここに記載されたいかなる限定的救済の本質的目的の不履行にもかかわらず適用されます。当事者は、上記の制限が本契約に基づくリスクの合理的な配分を表すことに同意します。
7. 準拠法。 本契約および本契約から生じるまたは本契約に関するすべての事項は、ケイマン諸島の法律に従って統治、解釈、および構成されます。本契約に関連して論争、紛争または請求(「紛争」)が生じた場合、関係する当事者は適宜他の当事者に当該紛争の30日前の通知(「紛争の通知」)を提供する必要があります。紛争の通知から30日の期限切れまでに紛争が解決されない場合、関係する当事者はここに規定する仲裁手続きを開始できます。紛争の通知から30日の期限切れ後も紛争が残る場合、紛争はケイマン国際調停・仲裁センター(CI-MAC)によって、発効日時点で有効なCI-MAC仲裁規則(「仲裁規則」)に従って管理される仲裁によって解決され、仲裁規則はここで参照により組み込まれ、仲裁法(改正)によって統治されます。仲裁はケイマン諸島グランドケイマン、ジョージタウンを所在地とし、ケイマン諸島法によって統治されます。仲裁の言語は英語です。仲裁は仲裁規則に従って任命される単独仲裁人によって決定されます。仲裁人によるいかなる裁定や決定も書面によるものとし、上訴の権利なしに当事者間で最終的かつ拘束力を持ち、取得された裁定に基づく判決は管轄権を有するいかなる裁判所でも執行できます。本契約から生じるまたは本契約に関連するいかなる請求に基づく法的または衡平法上の訴訟も、いかなる管轄区域の裁判所にも提起できません。
8. 一般規定。 本契約はDZFの事前書面による同意なしにユーザーによって移転または譲渡できません。DZFは本契約を自由に譲渡できます。ここで送付が必要なすべての通知は電子メールで送付され(DZF宛:legal@doublezero.xyz)、送付翌日に受信されたとみなされます(送信確認済み)。本契約のいずれかの規定が無効または執行不能と判断された場合、本契約の残りの規定は完全に有効です。いずれかの当事者によるデフォルトまたは本契約の違反の放棄は、他のまたはその後のデフォルトまたは違反の放棄を構成しません。いずれの当事者も、予見可能かどうかにかかわらず、天災、地震、物資不足、輸送困難、労働争議、暴動、戦争、火災、疫病、およびその管理を超える類似の事象による履行の遅延または失敗について責任を負いません。本契約はすべての添付と共に、当事者間の完全な合意を構成し、ここに記載された主題に関するすべての以前または同時の合意または表明(書面または口頭)に優先します。本契約は、各当事者の正式に授権された代表者が署名した書面によってのみ修正または変更できます。
IBRLモードでのテストネット接続
Note
IBRLモードは既存のパブリックIPアドレスを使用するため、バリデータークライアントの再起動が不要です。
SolanaテストネットバリデーターはDoubleZeroテストネットへの接続を完了します。詳細はこのページに記載されています。
各Solanaバリデーターには独自のアイデンティティキーペアがあります。そこからノードIDとして知られる公開鍵を抽出します。これはSolanaネットワーク上のバリデーターの一意のフィンガープリントです。
DoubleZeroIDとノードIDが特定されると、マシンの所有権を証明します。これは、DoubleZeroIDを含むメッセージをバリデーターのアイデンティティキーで署名することによって行われます。生成された暗号署名は、バリデーターを制御していることの検証可能な証明として機能します。
最後に、DoubleZeroへの接続リクエストを送信します。このリクエストは「こちらが私のアイデンティティ、こちらが所有権の証明、そしてこちらが接続方法です。」というメッセージを伝えます。DoubleZeroはこの情報を検証し、証明を受け入れ、DoubleZero上のバリデーターのネットワークアクセスをプロビジョニングします。
このガイドでは、1台のプライマリバリデーターが自身を登録し、同時に最大3台のバックアップ/フェイルオーバーマシンを登録できます。
前提条件
- Solana CLIがインストールされ、$PATHに設定されていること
- バリデーターの場合:solユーザー下のバリデーターアイデンティティキーペアファイル(例:validator-keypair.json)にアクセスする権限
- バリデーターの場合:接続するSolanaバリデーターのアイデンティティキーに少なくとも1 SOLがあることを確認
- ファイアウォールルールがDoubleZeroとSolana RPCのアウトバウンド接続を許可していること(GRE(ipプロト47)とBGP(169.254.0.0/16のtcp/179)を含む)
Info
バリデーターIDはSolanaゴシップに対して確認され、ターゲットIPが決定されます。ターゲットIPとDoubleZero IDは、マシンとターゲットDoubleZeroデバイス間のGREトンネルを開く際に使用されます。
注意:同じIPにジャンクIDとプライマリIDがある場合、マシンの登録にはプライマリIDのみが使用されます。これはジャンクIDがゴシップに表示されず、ターゲットマシンのIPを確認するために使用できないためです。
1. 環境設定
続行する前にセットアップ手順に従ってください。
セットアップの最後のステップはネットワークから切断することでした。これにより、マシン上のDoubleZeroへのトンネルが1つだけ開いており、そのトンネルが正しいネットワーク上にあることを確認します。
DoubleZeroクライアントCLI(doublezero)とデーモン(doublezerod)をDoubleZeroテストネットに接続するように設定するには:
DESIRED_DOUBLEZERO_ENV=testnet \
&& sudo mkdir -p /etc/systemd/system/doublezerod.service.d \
&& echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env $DESIRED_DOUBLEZERO_ENV" | sudo tee /etc/systemd/system/doublezerod.service.d/override.conf > /dev/null \
&& sudo systemctl daemon-reload \
&& sudo systemctl restart doublezerod \
&& doublezero config set --env $DESIRED_DOUBLEZERO_ENV > /dev/null \
&& echo "✅ doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV"
✅ doublezerod configured for environment testnet
約30秒後に利用可能なDoubleZeroデバイスが表示されます:
doublezero latency
doublezero latency
pubkey | code | ip | min | max | avg | reachable
6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001 | 64.86.249.22 | 2.44ms | 2.63ms | 2.50ms | true
CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001 | 207.45.216.134 | 71.97ms | 72.01ms | 71.99ms | true
Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001 | 195.219.120.66 | 71.94ms | 72.08ms | 72.00ms | true
4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001 | 195.219.138.50 | 76.55ms | 76.65ms | 76.61ms | true
29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001 | 195.219.220.58 | 83.01ms | 83.10ms | 83.05ms | true
hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y | fra-dz-001-x | 195.12.227.250 | 84.87ms | 84.91ms | 84.89ms | true
8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 95.27ms | 95.30ms | 95.29ms | true
5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001 | 180.87.154.78 | 180.96ms | 181.08ms | 181.02ms | true
D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001 | 180.87.102.98 | 220.87ms | 221.14ms | 220.97ms | true
メインネットの出力は構造が同じですが、利用可能なデバイスが多くなります。
2. ポート44880を開く
一部のルーティング機能を利用するには、ユーザーはポート44880を開く必要があります。
ポート44880を開くには、例えば次のようにIPテーブルを更新できます:
sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -p udp --dport 44880 -j ACCEPT
このルールをDoubleZeroインターフェースのみに制限する-i doublezero0、-o doublezero0フラグに注意してください。
またはUFWの場合:
sudo ufw allow in on doublezero0 to any port 44880 proto udp
sudo ufw allow out on doublezero0 to any port 44880 proto udp
このルールをDoubleZeroインターフェースのみに制限するin on doublezero0、out on doublezero0フラグに注意してください。
3. バリデーター所有権の証明
DoubleZero環境が設定されたので、バリデーター所有権の証明を行います。
プライマリバリデーターのセットアップで作成したDoubleZero IDをすべてのバックアップマシンで使用する必要があります。
プライマリマシンのIDはdoublezero addressで確認できます。同じIDがクラスター内のすべてのマシンの~/.config/doublezero/id.jsonに必要です。
これを実現するために、まずコマンドを実行しているマシンがプライマリバリデーターであることを次のコマンドで確認します:
doublezero-solana passport find-validator -ut
これにより、バリデーターがゴシップに登録され、リーダースケジュールに表示されることを確認します。
期待される出力:
Connected to Solana: testnet
DoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111
Detected public IP: 11.11.11.111
Validator ID: ValidatorIdentity111111111111111111111111111
Gossip IP: 11.11.11.111
In Leader scheduler
✅ This validator can connect as a primary in DoubleZero 🖥️ 💎. It is a leader scheduled validator.
Info
同じワークフローが1台でも複数台のマシンでも使用されます。 1台のマシンを登録する場合は、このページのコマンドから"--backup-validator-ids"または"backup_ids="引数を除外してください。
次に、プライマリバリデーターを実行する予定のすべてのバックアップマシンで以下を実行します:
doublezero-solana passport find-validator -ut
期待される出力:
Connected to Solana: testnet
DoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111
Detected public IP: 22.22.22.222
Validator ID: ValidatorIdentity222222222222222222222222222
Gossip IP: 22.22.22.222
In Not in Leader scheduler
✅ This validator can only connect as a backup in DoubleZero 🖥️ 🛟. It is not leader scheduled and cannot act as a primary validator.
次に、プライマリバリデーターの投票アカウントとアイデンティティを使用する予定のすべてのバックアップマシンでこのコマンドを実行します。
接続の準備
プライマリバリデーターマシンで次のコマンドを実行します。これはコマンドを実行しているマシンのSolanaゴシップに、プライマリバリデーターIDを持つアクティブなステークがあり、リーダースケジュールに含まれているマシンです:
doublezero-solana passport prepare-validator-access -ut \
--doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>
出力例:
DoubleZero Passport - Prepare Validator Access Request
Connected to Solana: testnet
Primary validator 🖥️ 💎:
ID: ValidatorIdentity111111111111111111111111111
Gossip: ✅ OK 11.11.11.111)
Leader scheduler: ✅ OK (Stake: 1,050,000.00 SOL)
Backup validator 🖥️ 🛡️:
ID: ValidatorIdentity222222222222222222222222222
Gossip: ✅ OK (22.22.22.222)
Leader scheduler: ✅ OK (not a leader scheduled validator)
Backup validator 🖥️ 🛡️:
ID: ValidatorIdentity333333333333333333333333333
Gossip: ✅ OK (33.33.33.333)
Leader scheduler: ✅ OK (not a leader scheduled validator)
Backup validator 🖥️ 🛡️:
ID: ValidatorIdentity444444444444444444444444444
Gossip: ✅ OK (33.33.33.333)
Leader scheduler: ✅ OK (not a leader scheduled validator)
To request access, sign the following message with your validator's identity key:
solana sign-offchain-message \
service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
-k <identity-keypair-file.json>
4. 署名の生成
前のステップの最後に、solana sign-offchain-messageのための事前フォーマットされた出力を受け取りました。
上記の出力からプライマリバリデーターマシンでこのコマンドを実行します。
solana sign-offchain-message \
service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
-k <identity-keypair-file.json>
出力:
Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7
5. DoubleZeroでの接続リクエストの開始
request-validator-accessコマンドを使用して、接続リクエストのためにSolana上にアカウントを作成します。DoubleZero Sentinelエージェントが新しいアカウントを検出し、アイデンティティと署名を検証し、サーバーが接続を確立できるようにDoubleZeroにアクセスパスを作成します。
ノードID、DoubleZeroID、署名を使用します。
Note
この例では-k /home/user/.config/solana/id.jsonを使用してバリデーターアイデンティティを見つけます。ローカルデプロイメントの適切な場所を使用してください。
doublezero-solana passport request-validator-access -k <path to keypair> -ut \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
--signature Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7 --doublezero-address YourDoubleZeroAddress11111111111111111111111111111
出力:
この出力はSolanaエクスプローラーでトランザクションを確認するために使用できます。エクスプローラーをテストネットに変更することを忘れずに。この確認はオプションです。
Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp
成功した場合、DoubleZeroはプライマリをバックアップとともに登録します。アクセスパスに登録されたIPの間でフェイルオーバーできるようになります。DoubleZeroはこのように登録されたバックアップノードへの切り替え時に接続を自動的に維持します。
6. IBRLモードでの接続
DoubleZeroに接続するユーザーで、サーバー上でconnectコマンドを実行してDoubleZeroへの接続を確立します。
doublezero connect ibrl
以下のようなプロビジョニングを示す出力が表示されます:
DoubleZero Service Provisioning
🔗 Start Provisioning User...
Public IP detected: 137.184.101.183 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`
🔍 Provisioning User for IP: 137.184.101.183
User account created
Connected to device: nyc-dz001
The user has been successfully activated
Service provisioned with status: ok
✅ User Provisioned
接続を確認します:
doublezero status
出力:
Note
この出力を確認してください。Tunnel srcとDoubleZero IPがマシンのパブリックIPv4アドレスと一致していることに注意してください。
Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network
up | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL | ams-dz001 | ✅ ams-dz001 | Amsterdam | testnet
upのステータスは正常に接続されていることを意味します。
次のコマンドを実行することでDoubleZero上の他のユーザーによって伝搬されたルートを確認できます:
ip route
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100
5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64
5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64
5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64
...
次のステップ:マルチキャストによるシュレッドの公開
このセットアップを完了してマルチキャストでシュレッドを公開する予定の場合は、次のページに進んでください。