Connexion d'un validateur en mode IBRL
En me connectant à DoubleZero, j'accepte les Conditions d'utilisation de DoubleZero
En me connectant au testnet DoubleZero, j'accepte les termes de l'Accord d'Évaluation énoncés ici (cliquez pour développer)
DoubleZero Testnet Accord d'Évaluation
En accédant ou en utilisant la Solution (définie ci-dessous), vous acceptez à compter de la première date d'un tel accès (la « Date d'Entrée en Vigueur ») que le présent Accord d'Évaluation (l'« Accord ») énonce les termes et conditions selon lesquels DoubleZero Foundation (« DZF ») vous fournira (« Utilisateur » ou « vous ») un accès à la Solution à des fins d'évaluation. En considération des promesses mutuelles contenues dans les présentes, vous acceptez ce qui suit :
1. DÉFINITIONS.
1.1 « Informations Confidentielles » désigne toute information divulguée par l'une des parties à l'autre qui est désignée comme confidentielle, ou qui devrait autrement être considérée comme confidentielle, y compris, mais sans s'y limiter, la Solution, les plans produits, les plans d'affaires, les secrets commerciaux, la technologie ou toute autre information propriétaire.
1.2 « Solution » désigne la version testnet de l'infrastructure réseau haute performance DoubleZero pour les projets web3 (« Testnet ») et le service de filtrage en périphérie associé avec bande passante intégrée (« Service d'Information »), le Logiciel DZ (défini ci-dessous), tout matériel fourni par DZF relatif au Logiciel DZ (« Documentation »), et tout autre matériel que DZF fournit à l'Utilisateur en vertu des présentes.
2. ACCÈS.
2.1 Accès à la Solution. Sous réserve des termes et conditions du présent Accord, DZF fournira à l'Utilisateur un accès à la Solution via Internet. L'accès de l'Utilisateur est une utilisation non exclusive, non transférable et limitée de la Solution pour permettre à l'Utilisateur d'évaluer le Service d'Information uniquement. En ce qui concerne tout logiciel composant la Solution (« Logiciel DZ »), DZF accorde par les présentes à l'Utilisateur une licence limitée et révocable, pendant la Période d'Évaluation, pour copier, télécharger, faire un nombre raisonnable de copies de, exécuter et déployer (le cas échéant) ledit Logiciel DZ uniquement tel que prévu par la Documentation.
2.2 Restrictions. L'Utilisateur peut utiliser la Solution conformément au présent Accord à compter de la Date d'Entrée en Vigueur jusqu'à résiliation par DZF (la « Période d'Évaluation »). L'Utilisateur comprend que tout droit d'utilisation de la Solution au-delà de la Période d'Évaluation sera soumis à un accord commercial séparé entre les parties à cet égard, y compris le paiement de frais. L'Utilisateur ne doit pas, et ne doit pas permettre à un tiers de : (i) modifier ou créer des œuvres dérivées basées sur la Solution ou toute partie de celle-ci ; (ii) reproduire la Solution sauf dans les cas expressément autorisés par le présent Accord ; (iii) sous-licencier, distribuer, vendre, prêter, louer, céder ou accorder des droits sur tout ou partie de la Solution ou fournir un accès à la Solution à des tiers, sur la base d'un bureau de services ou autrement, sauf en tant qu'offre des Services d'Information par ou en relation avec la plateforme ou le produit de l'Utilisateur et non sur une base autonome ; ou (iv) utiliser la Solution autrement que tel que prévu aux présentes.
2.3 Propriété. DZF conserve tous les droits, titres et intérêts, y compris les droits de propriété intellectuelle, sur la Solution.
3 RETOUR D'INFORMATION. DZF peut périodiquement demander à l'Utilisateur de fournir, et l'Utilisateur accepte de fournir à DZF, un retour d'information concernant l'utilisation, le fonctionnement et les fonctionnalités de la Solution (« Retour d'Information »). L'Utilisateur accorde par les présentes à DZF un droit et une licence non exclusifs, mondiaux, perpétuels, irrévocables, libres de redevances, entièrement payés, entièrement sous-licenciables et transférables pour utiliser et incorporer le Retour d'Information dans tous produits et services, pour fabriquer, utiliser, vendre, offrir à la vente, importer et autrement exploiter ces produits et services, et pour autrement utiliser, copier, distribuer et autrement exploiter le Retour d'Information sans restriction.
4. DURÉE ET RÉSILIATION.
4.1 Durée. Le présent Accord prendra effet à compter de la Date d'Entrée en Vigueur et restera en plein effet pendant la Période d'Évaluation. Chaque partie peut résilier le présent Accord immédiatement pour convenance, pour quelque raison que ce soit ou sans raison, sur notification écrite à l'autre partie (un courriel étant suffisant).
4.1 Effets de la Résiliation. En cas de résiliation du présent Accord pour quelque raison que ce soit : (i) les droits accordés à l'Utilisateur en vertu des présentes prendront fin immédiatement ; (ii) l'Utilisateur cessera immédiatement toute utilisation de la Solution et retournera ou détruira toute Documentation et tout Logiciel DZ sous son contrôle ; (iii) chaque partie retournera ou détruira rapidement toute Information Confidentielle et tout bien de l'autre partie ; et (iv) les Sections 2.2, 2.3, 3, 4.2 et 5 à 8 survivront.
5. CONFIDENTIALITÉ. Chaque partie convient qu'elle utilisera les Informations Confidentielles de l'autre partie uniquement pour exécuter ses obligations et exercer ses droits en vertu du présent Accord et qu'elle ne divulguera pas, ni ne permettra la divulgation de celles-ci, sauf dans les cas autrement autorisés aux présentes. Cependant, chaque partie peut divulguer les Informations Confidentielles à son personnel, ses avocats et autres représentants qui ont besoin d'en connaître et qui sont liés par des obligations de confidentialité non moins protectrices que celles énoncées dans le présent Accord ; et dans les cas requis par la loi (auquel cas la partie réceptrice fournira à la partie divulgatrice une notification préalable et la possibilité de contester ladite divulgation, et minimisera ladite divulgation dans la mesure permise par la loi applicable). Les obligations de confidentialité de la présente Section 5 ne s'appliqueront pas aux informations qui : (a) sont ou deviennent généralement connues ou accessibles au public sans faute de la partie réceptrice ; (b) étaient dûment connues de la partie réceptrice, sans restriction, avant la divulgation par la partie divulgatrice ; (c) ont été dûment divulguées à la partie réceptrice, sans restriction, par une autre personne ayant l'autorité légale de le faire ; ou (d) sont développées indépendamment par la partie réceptrice sans utilisation de ou référence aux Informations Confidentielles de la partie divulgatrice. Chaque partie convient d'exercer une diligence raisonnable pour protéger les Informations Confidentielles de l'autre partie contre toute utilisation et divulgation non autorisées. En cas de violation effective ou menacée des dispositions de la présente Section ou des licences contenues aux présentes, la partie non contrevenante aura le droit de demander des mesures injonctives immédiates et d'autres mesures équitables, sans renoncer à tout autre droit ou recours à sa disposition. L'Utilisateur est responsable du maintien de la Solution et du secret de tout mot de passe, phrase de récupération ou code donnant accès à la Solution en tant qu'Information Confidentielle de DZF. Rien dans les présentes ne limite ou ne restreint le droit ou la capacité de DZF d'utiliser des données concernant la performance, la disponibilité, l'utilisation, l'intégrité et la sécurité de la Solution. Si l'une des parties viole ou menace de violer les dispositions de la présente Section 5, chaque partie convient que la partie non contrevenante n'aura pas de recours adéquat en droit et a donc droit à des mesures injonctives immédiates et à d'autres mesures équitables, sans caution et sans nécessité de démontrer des dommages pécuniaires réels.
6. EXCLUSION DE GARANTIE ; LIMITATION DE RESPONSABILITÉ.
6.1 EXCLUSION DE GARANTIE. LA SOLUTION EST FOURNIE « EN L'ÉTAT » SANS GARANTIE D'AUCUNE SORTE. DZF NE DONNE AUCUNE GARANTIE, QU'ELLE SOIT EXPRESSE, IMPLICITE, LÉGALE OU AUTRE CONCERNANT LA SOLUTION ET LA DOCUMENTATION, Y COMPRIS LEUR ÉTAT, LEUR CONFORMITÉ À TOUTE REPRÉSENTATION OU DESCRIPTION, ET DZF EXCLUT SPÉCIFIQUEMENT TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER, DE TITRE ET DE NON-CONTREFAÇON.
6.2 LIMITATION DE RESPONSABILITÉ. SAUF EN CAS DE VIOLATION DES SECTIONS 2.1, 2.2 ET 5, EN AUCUN CAS L'UNE DES PARTIES NE SERA RESPONSABLE ENVERS L'AUTRE DE DOMMAGES INDIRECTS, ACCESSOIRES, SPÉCIAUX OU D'AUTRES DOMMAGES CONSÉCUTIFS, Y COMPRIS, SANS LIMITATION, LES DOMMAGES POUR PERTE DE PROFITS OU D'UTILISATION OU PERTE DE DONNÉES, SUBIS PAR VOUS OU TOUT TIERS, DÉCOULANT DE OU LIÉS AU PRÉSENT ACCORD, QUE CE SOIT DANS LE CADRE D'UNE ACTION EN CONTRAT, EN RESPONSABILITÉ DÉLICTUELLE OU AUTRE, MÊME SI L'AUTRE PARTIE A ÉTÉ INFORMÉE DE LA POSSIBILITÉ DE TELS DOMMAGES. EN AUCUN CAS LA RESPONSABILITÉ GLOBALE DE DZF DÉCOULANT DE OU LIÉE AU PRÉSENT ACCORD NE DÉPASSERA CENT DOLLARS ($100), QUE CE SOIT DANS LE CADRE D'UNE ACTION EN CONTRAT, EN RESPONSABILITÉ DÉLICTUELLE OU AUTRE. LES LIMITATIONS PRÉCÉDENTES S'APPLIQUERONT NONOBSTANT L'ÉCHEC DE L'OBJECTIF ESSENTIEL DE TOUT RECOURS LIMITÉ CONTENU AUX PRÉSENTES. LES PARTIES CONVIENNENT QUE LES LIMITATIONS PRÉCÉDENTES REPRÉSENTENT UNE RÉPARTITION RAISONNABLE DES RISQUES EN VERTU DU PRÉSENT ACCORD.
7. DROIT APPLICABLE. Le présent Accord et toutes les questions découlant de ou relatives au présent Accord seront régis, interprétés et construits conformément aux lois des Îles Caïmans. En cas de controverse, litige ou réclamation découlant de ou en relation avec le présent Accord (« Litige »), la partie concernée, le cas échéant, doit donner un préavis de 30 jours de ce Litige à l'autre partie (l'« Avis de Litige »). Si le Litige n'est pas résolu à l'expiration des 30 jours suivant la signification de l'Avis de Litige, la partie concernée peut engager une procédure d'arbitrage tel que prévu aux présentes. Si le Litige subsiste à l'expiration des 30 jours suivant la signification de l'Avis de Litige, le Litige sera réglé par arbitrage administré par le Cayman International Mediation & Arbitration Centre (CI-MAC) conformément aux Règles d'Arbitrage CI-MAC (les « Règles d'Arbitrage ») en vigueur à la date du présent Accord, lesquelles Règles d'Arbitrage sont réputées incorporées par référence à la présente clause, et régi par la Loi sur l'Arbitrage (telle que modifiée). Le siège de l'arbitrage sera à George Town, Grand Cayman, Îles Caïmans et sera régi par le droit des Îles Caïmans. La langue de l'arbitrage sera l'anglais. L'arbitrage sera tranché par un arbitre unique désigné conformément aux Règles d'Arbitrage. Toute sentence ou décision rendue par l'arbitre sera écrite et sera définitive et contraignante pour les parties sans droit d'appel, et l'exécution de toute sentence ainsi obtenue peut être inscrite ou exécutée par tout tribunal compétent. Aucune action en droit ou en équité fondée sur une réclamation découlant de ou liée au présent Accord ne sera intentée devant un tribunal de quelque juridiction que ce soit. Si un litige ou un arbitrage est nécessaire pour faire respecter les termes du présent Accord, la partie gagnante aura droit au remboursement de ses honoraires d'avocat par l'autre partie. Chaque partie renonce à tout droit qu'elle pourrait avoir d'invoquer la doctrine du forum non conveniens, d'affirmer qu'elle n'est pas soumise à la juridiction de tel arbitrage ou tribunaux, ou de s'opposer au lieu dans la mesure où une procédure est engagée conformément aux présentes.
8. DISPOSITIONS GÉNÉRALES. Le présent Accord ne peut être transféré ou cédé par l'Utilisateur sans le consentement écrit préalable de DZF. DZF peut librement céder le présent Accord. Toutes les notifications requises en vertu des présentes seront envoyées par courriel (à DZF : legal@doublezero.xyz) et réputées reçues le jour suivant l'envoi (avec confirmation de transmission). Si une disposition du présent Accord est jugée invalide ou inapplicable, les dispositions restantes du présent Accord resteront en plein effet. La renonciation par l'une des parties à tout défaut ou violation du présent Accord ne constituera pas une renonciation à tout autre défaut ou violation ultérieur. Aucune des parties ne sera responsable de tout retard ou manquement dans l'exécution dû à des cas de force majeure, tremblements de terre, pénuries d'approvisionnement, difficultés de transport, conflits du travail, émeutes, guerres, incendies, épidémies et événements similaires échappant à son contrôle, qu'ils soient prévisibles ou non. Le présent Accord, ainsi que toutes les pièces jointes, constitue l'accord complet entre les parties et remplace tous les accords ou représentations antérieurs ou contemporains, écrits ou oraux, concernant l'objet des présentes. Le présent Accord ne peut être modifié ou amendé que par écrit signé par un représentant dûment autorisé de chaque partie.
Choisissez le réseau DoubleZero correspondant à votre cluster Solana : mainnet-beta ou testnet. Installez les paquets correspondants dans la section configuration, et utilisez ce même réseau pour chaque commande ci-dessous.
Note
Le mode IBRL ne nécessite pas de redémarrer les clients validateurs, car il utilise votre adresse IP publique existante.
Les validateurs Solana se connectent à DoubleZero en mode IBRL en suivant les étapes de cette page.
Chaque validateur Solana possède sa propre paire de clés d'identité ; à partir de celle-ci, extrayez la clé publique connue sous le nom d'ID de nœud. C'est l'empreinte unique du validateur sur le réseau Solana.
Avec le DoubleZeroID et l'ID de nœud identifiés, vous prouverez la propriété de votre machine. Cela se fait en créant un message qui inclut le DoubleZeroID signé avec la clé d'identité du validateur. La signature cryptographique résultante sert de preuve vérifiable que vous contrôlez le validateur.
Enfin, vous soumettrez une demande de connexion à DoubleZero. Cette demande communique : « Voici mon identité, voici ma preuve de propriété, et voici comment j'ai l'intention de me connecter. » DoubleZero valide ces informations, accepte la preuve et provisionne l'accès réseau pour le validateur sur DoubleZero.
Ce guide permet d'enregistrer 1 validateur principal et jusqu'à 3 machines de secours/basculement en même temps.
Prérequis
- Solana CLI installé et présent dans le $PATH
- Pour les validateurs : Permission d'accéder au fichier de paire de clés d'identité du validateur (ex. : validator-keypair.json) sous l'utilisateur sol
- Pour les validateurs : Vérifier que la clé d'identité du validateur Solana connecté dispose d'au moins 1 SOL
- Les règles de pare-feu autorisent les connexions sortantes pour DoubleZero et Solana RPC selon les besoins, y compris GRE (ip proto 47) et BGP (169.254.0.0/16 sur tcp/179)
Info
L'ID du validateur sera vérifié par rapport au gossip Solana pour déterminer l'IP cible. L'IP cible et l'ID DoubleZero seront ensuite utilisés lors de l'ouverture d'un tunnel GRE entre votre machine et le dispositif DoubleZero cible.
À noter : Dans le cas où vous avez un ID factice et un ID principal sur la même IP, seul l'ID principal sera utilisé pour l'enregistrement de la machine. En effet, l'ID factice n'apparaîtra pas dans le gossip et ne pourra donc pas être utilisé pour vérifier l'IP de la machine cible.
1. Confirmer le réseau client
Veuillez suivre les instructions de configuration avant de continuer. Installez les paquets pour mainnet-beta ou testnet. Ils utilisent des dépôts de paquets différents.
La dernière étape de la configuration consistait à se déconnecter du réseau. Cela permet de s'assurer qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon réseau.
Confirmez que le client est sur le réseau que vous avez choisi :
doublezero status
La colonne Network devrait afficher mainnet-beta ou testnet, correspondant à votre cluster Solana. Si c'est incorrect, ou si vous avez installé le mauvais paquet, utilisez le commutateur copier-coller dans le dépannage.
Après environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :
doublezero latency
Exemple de sortie (mainnet-beta ; testnet est identique mais avec moins de dispositifs) :
pubkey | code | ip | min | max | avg | reachable
2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01 | 137.239.213.162 | 1.74ms | 1.92ms | 1.84ms | true
ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01 | 137.239.213.170 | 1.88ms | 4.39ms | 2.72ms | true
8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002 | 38.122.35.137 | 2.45ms | 3.30ms | 2.74ms | true
8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02 | 142.215.184.122 | 1.88ms | 5.13ms | 3.02ms | true
uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS | nyc001-dz002 | 4.42.212.122 | 3.17ms | 3.63ms | 3.33ms | true
FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001 | 38.104.167.29 | 2.33ms | 5.46ms | 3.39ms | true
9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01 | 137.239.200.186 | 6.84ms | 7.01ms | 6.91ms | true
DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002 | 38.88.214.133 | 7.39ms | 7.44ms | 7.41ms | true
HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001 | 66.198.11.74 | 7.67ms | 7.85ms | 7.76ms | true
9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10 | 9.88ms | 10.01ms | 9.95ms | true
9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01 | 209.42.165.10 | 14.52ms | 14.53ms | 14.52ms | true
2. Ouvrir le port 44880
Les utilisateurs doivent ouvrir le port 44880 pour utiliser certaines fonctionnalités de routage.
Pour ouvrir le port 44880, vous pouvez mettre à jour les règles iptables comme suit :
sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -p udp --dport 44880 -j ACCEPT
notez les options -i doublezero0, -o doublezero0 qui limitent cette règle uniquement à l'interface DoubleZero
Ou avec 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
notez les options in on doublezero0, out on doublezero0 qui limitent cette règle uniquement à l'interface DoubleZero
3. Attester la propriété du validateur
Option de réseau
Les commandes Passport ci-dessous utilisent -u mainnet-beta. Sur testnet, utilisez -u testnet (ou -ut) à la place.
Maintenant que votre environnement DoubleZero est configuré, il est temps d'attester la propriété de votre validateur.
L'ID DoubleZero que vous avez créé lors de la configuration de votre validateur principal doit être utilisé sur toutes les machines de secours.
L'ID sur votre machine principale peut être trouvé avec doublezero address. Le même ID doit se trouver dans ~/.config/doublezero/id.json sur toutes les machines du cluster.
Pour ce faire, vous vérifierez d'abord que la machine sur laquelle vous exécutez les commandes est bien votre validateur principal avec :
doublezero-solana passport find-validator -u mainnet-beta
Cela vérifie que le validateur est enregistré dans le gossip et apparaît dans le calendrier de leaders.
Sortie attendue :
Connected to Solana: mainnet
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
Le même flux de travail est utilisé pour une ou plusieurs machines. Pour enregistrer une seule machine, excluez les arguments "--backup-validator-ids" ou "backup_ids=" de toutes les commandes de cette page.
Maintenant, sur toutes les machines de secours sur lesquelles vous avez l'intention d'exécuter votre validateur principal, exécutez la commande suivante :
doublezero-solana passport find-validator -u mainnet-beta
Sortie attendue :
Connected to Solana: mainnet
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.
Vous allez maintenant exécuter cette commande sur toutes les machines de secours sur lesquelles vous prévoyez d'utiliser le compte de vote et l'identité de votre validateur principal.
Préparer la connexion
Exécutez la commande suivante sur la machine du validateur principal. C'est la machine sur laquelle vous avez du stake actif, qui est dans le calendrier de leaders avec l'ID de votre validateur principal dans le gossip Solana sur la machine à partir de laquelle vous exécutez la commande :
doublezero-solana passport prepare-validator-access -u mainnet-beta \
--doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>
Exemple de sortie :
DoubleZero Passport - Prepare Validator Access Request
Connected to Solana: mainnet-beta
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. Générer la signature
À la fin de la dernière étape, nous avons reçu une sortie pré-formatée pour solana sign-offchain-message
À partir de la sortie ci-dessus, nous allons exécuter cette commande sur la machine du validateur principal.
solana sign-offchain-message \
service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
-k <identity-keypair-file.json>
Sortie :
Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7
5. Lancer une demande de connexion dans DoubleZero
Utilisez la commande request-validator-access pour créer un compte sur Solana pour la demande de connexion. L'agent DoubleZero Sentinel détecte le nouveau compte, valide son identité et sa signature, et crée le pass d'accès dans DoubleZero afin que le serveur puisse établir une connexion.
Utilisez l'ID de nœud, le DoubleZeroID et la signature.
Note
Dans cet exemple, nous utilisons -k /home/user/.config/solana/id.json pour trouver l'identité du validateur. Utilisez l'emplacement approprié pour votre déploiement local.
doublezero-solana passport request-validator-access -k <path to keypair> -u mainnet-beta \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
--signature Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7 --doublezero-address YourDoubleZeroAddress11111111111111111111111111111
Sortie :
Cette sortie peut être utilisée pour voir la transaction sur un explorateur Solana. Assurez-vous de configurer l'explorateur sur mainnet-beta ou testnet pour correspondre à votre cluster. Cette vérification est optionnelle.
Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp
En cas de succès, DoubleZero enregistrera le validateur principal avec ses machines de secours. Vous pouvez désormais basculer entre les IP enregistrées dans le pass d'accès. DoubleZero maintiendra automatiquement la connectivité lors du basculement vers les nœuds de secours enregistrés de cette manière.
6. Se connecter en mode IBRL
Sur le serveur, avec l'utilisateur qui se connectera à DoubleZero, exécutez la commande connect pour établir la connexion à DoubleZero.
doublezero connect ibrl
Vous devriez voir une sortie indiquant le provisionnement, telle que :
⚡ Connecting to mainnet-beta...
DoubleZero ID: <your DoubleZero ID>
⚡ Provisioning for IP: <your public ip>
Device selected: <the doublezero device you are connecting to>
✅ User Provisioned
Vérifiez votre connexion :
doublezero status
Sortie :
Note
Examinez cette sortie. Remarquez que le Tunnel src et le DoubleZero IP correspondent à l'adresse IPv4 publique de votre machine.
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 | mainnet-beta
(Network affiche testnet lorsque vous vous êtes connecté sur testnet.)
Un statut up signifie que vous êtes connecté avec succès.
Vous pourrez visualiser les routes propagées par les autres utilisateurs sur DoubleZero en exécutant :
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
...
Étape suivante : Publication de Shreds via Multicast
Si vous avez terminé cette configuration et prévoyez de publier des shreds via multicast, passez à la page suivante.