Aller au contenu

Connexion Validateur Testnet en Mode 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.

En me connectant au testnet DoubleZero, j'accepte les termes du Contrat d'Évaluation définis ici (cliquer pour développer)

Testnet DoubleZero Contrat 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'Effet») que le présent Contrat d'Évaluation (le «Contrat») définit les termes et conditions selon lesquels la DoubleZero Foundation («DZF») vous fournira («Utilisateur» ou «vous») l'accès à la Solution sur une base d'évaluation. En contrepartie des promesses mutuelles contenues dans les présentes, vous acceptez ce qui suit :

1. DÉFINITIONS.

1.1 «Informations Confidentielles» désigne toutes les informations divulguées par l'une ou l'autre partie à l'autre qui sont désignées comme confidentielles, ou qui devraient autrement être comprises comme confidentielles, incluant mais sans s'y limiter, la Solution, les plans de 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 filtration en périphérie associé avec bande passante intégrée («Service d'Information»), le Logiciel DZ (défini ci-dessous), tous les matériaux fournis par DZF relatifs au Logiciel DZ («Documentation») et autres matériaux que DZF fournit à l'Utilisateur dans les présentes.

2. ACCÈS.

2.1 Accès à la Solution. Sous réserve des termes et conditions du présent Contrat, DZF fournira à l'Utilisateur l'accès à la Solution via Internet. L'accès de l'Utilisateur est un usage limité, non exclusif et non transférable de la Solution pour permettre à l'Utilisateur d'évaluer le Service d'Information uniquement. En ce qui concerne tout logiciel constituant 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, exécuter et déployer (le cas échéant) ce Logiciel DZ uniquement comme prévu par la Documentation.

2.2 Restrictions. L'Utilisateur peut utiliser la Solution conformément au présent Contrat à compter de la Date d'Effet jusqu'à résiliation par DZF (la «Période d'Évaluation»). L'Utilisateur comprend que tout droit d'utiliser la Solution au-delà de la Période d'Évaluation sera soumis à un accord commercial séparé entre les parties à cet égard, incluant 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 une partie de celle-ci ; (ii) reproduire la Solution sauf dans la mesure expressément autorisée par le présent Contrat ; (iii) sous-licencier, distribuer, vendre, prêter, louer, transférer ou accorder des droits dans ou sur tout ou partie de la Solution ou fournir un accès à la Solution à des tiers, sur la base d'un bureau de service ou autrement, sauf en tant qu'offre des Services d'Information via ou en relation avec la plateforme ou le produit de l'Utilisateur et non de manière autonome ; ou (iv) utiliser la Solution autrement que tel que prévu dans les présentes.

2.3 Propriété. DZF conserve tous les droits, titres et intérêts, y compris les droits de propriété intellectuelle, dans et sur la Solution.

3 RETOUR D'EXPÉRIENCE. DZF peut périodiquement demander à l'Utilisateur de fournir, et l'Utilisateur accepte de fournir à DZF, des retours d'expérience concernant l'utilisation, le fonctionnement et la fonctionnalité de la Solution («Retours d'Expérience»). 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 les Retours d'Expérience dans tout produit et service, pour fabriquer, utiliser, vendre, offrir à la vente, importer et autrement exploiter ces produits et services, et autrement utiliser, copier, distribuer et autrement exploiter les Retours d'Expérience sans restriction.

4. DURÉE ET RÉSILIATION.

4.1 Durée. Le présent Contrat prendra effet à compter de la Date d'Effet et restera en vigueur pendant toute la Période d'Évaluation. L'une ou l'autre partie peut résilier le présent Contrat immédiatement pour des raisons de commodité, pour quelque raison ou sans raison que ce soit, moyennant un préavis écrit à l'autre partie (l'e-mail étant suffisant).

4.1 Effets de la Résiliation. À la résiliation du présent Contrat pour quelque raison que ce soit : (i) les droits accordés à l'Utilisateur dans les 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 promptement toutes les Informations Confidentielles et biens de l'autre partie ; et (iv) les Sections 2.2, 2.3, 3, 4.2 et 5 à 8 survivront.

5. CONFIDENTIALITÉ. Chaque partie accepte 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 Contrat et qu'elle ne divulguera pas, ni ne permettra la divulgation de celles-ci, sauf dans la mesure autorisée par les présentes. Cependant, l'une ou l'autre partie peut divulguer des Informations Confidentielles à son personnel, ses avocats et autres représentants qui ont besoin d'en connaître et sont liés par des obligations de confidentialité au moins aussi protectrices que celles énoncées dans le présent Contrat ; et tel que requis par la loi (auquel cas la partie réceptrice fournira à la partie divulgatrice un préavis avant de procéder à une telle divulgation et l'occasion de contester cette divulgation, et minimisera cette divulgation dans la mesure permise par la loi applicable). Les obligations de confidentialité énoncées dans cette 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 utiliser ni référencer les Informations Confidentielles de la partie divulgatrice. Chaque partie accepte d'exercer la diligence raisonnable pour protéger les Informations Confidentielles de l'autre partie contre toute utilisation et divulgation non autorisées. En cas de violation réelle ou menacée des dispositions de cette Section ou des licences contenues dans les présentes, la partie non violante aura droit à une injonction immédiate et à tout autre recours équitable, sans renoncer à tout autre droit ou recours dont elle dispose. L'Utilisateur est responsable du maintien de la Solution et du secret de tout mot de passe, phrase de passe ou code donnant accès à la Solution en tant qu'Informations Confidentielles de DZF. Rien dans les présentes ne limite ou ne restreint le droit ou la capacité de DZF d'utiliser les données relatives aux performances, à la disponibilité, à l'utilisation, à l'intégrité et à la sécurité de la Solution. Si l'une ou l'autre partie viole, ou menace de violer les dispositions de cette Section 5, chaque partie accepte que la partie non violante n'aura aucun recours adéquat en droit et est donc en droit d'une injonction immédiate et d'autres mesures équitables, sans cautionnement et sans nécessité de démontrer des dommages monétaires réels.

6. EXCLUSION DE GARANTIE ; LIMITATION DE RESPONSABILITÉ.

6.1 EXCLUSION DE GARANTIE. LA SOLUTION EST FOURNIE « EN L'ÉTAT » SANS AUCUNE GARANTIE D'AUCUNE SORTE. DZF NE FOURNIT AUCUNE GARANTIE, QU'ELLE SOIT EXPRESSE, IMPLICITE, LÉGALE OU AUTRE EN CE QUI CONCERNE LA SOLUTION ET LA DOCUMENTATION, Y COMPRIS LEUR ÉTAT, LEUR CONFORMITÉ À TOUTE REPRÉSENTATION OU DESCRIPTION, ET DZF EXCLUT SPÉCIFIQUEMENT TOUTES LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER, DE TITRE ET DE NON-CONTREFAÇON.

6.2 LIMITATION DE RESPONSABILITÉ. SAUF POUR UNE VIOLATION DES SECTIONS 2.1, 2.2 ET 5, EN AUCUN CAS L'UNE OU L'AUTRE PARTIE NE SERA RESPONSABLE ENVERS L'AUTRE POUR DES DOMMAGES INDIRECTS, ACCESSOIRES, SPÉCIAUX OU AUTRES DOMMAGES CONSÉCUTIFS, Y COMPRIS SANS LIMITATION LES DOMMAGES POUR PERTE DE BÉNÉFICES OU D'UTILISATION OU DE PERTE DE DONNÉES, SUBIS PAR VOUS OU PAR UN TIERS, DÉCOULANT DE OU LIÉS AU PRÉSENT CONTRAT QU'IL S'AGISSE D'UNE ACTION CONTRACTUELLE, 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 CONTRAT N'EXCÉDERA CENT DOLLARS ($100), QU'IL S'AGISSE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE. LES LIMITATIONS CI-DESSUS S'APPLIQUERONT NONOBSTANT L'ÉCHEC DE L'OBJECTIF ESSENTIEL DE TOUT RECOURS LIMITÉ PRÉVU AUX PRÉSENTES. LES PARTIES CONVIENNENT QUE LES LIMITATIONS CI-DESSUS REPRÉSENTENT UNE RÉPARTITION RAISONNABLE DES RISQUES EN VERTU DU PRÉSENT CONTRAT.

7. DROIT APPLICABLE. Le présent Contrat et toutes les questions découlant de ou liées au présent Contrat seront régis, interprétés et construits conformément aux lois des Îles Caïmans. Si une controverse, un différend ou une réclamation survient de ou en relation avec le présent Contrat («Différend»), la partie concernée, selon le cas, doit donner un préavis de 30 jours d'un tel Différend à l'autre partie (le «Avis de Différend»). Si le Différend n'est pas résolu à l'expiration de 30 jours après la signification de l'Avis de Différend, la partie concernée peut engager une procédure d'arbitrage comme prévu dans les présentes. Si le Différend persiste à l'expiration de 30 jours après la signification de l'Avis de Différend, le Différend sera réglé par arbitrage administré par le Centre International de Médiation et d'Arbitrage des Caïmans (CI-MAC) conformément aux Règles d'Arbitrage CI-MAC en vigueur à la date du présent Contrat, lesquelles Règles d'Arbitrage sont réputées être incorporées par référence à cette clause, et régies par la Loi sur l'Arbitrage (telle que modifiée). L'arbitrage aura son siège à George Town, Grand Caïman, Î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 déterminé par un arbitre unique à nommer conformément aux Règles d'Arbitrage. Toute sentence ou décision rendue par l'arbitre sera rédigée par écrit et sera définitive et contraignante pour les parties sans aucun droit d'appel, et le jugement sur toute sentence ainsi obtenu pourra être saisi ou exécuté par tout tribunal compétent. Aucune action en justice ou en équité basée sur une réclamation découlant de ou liée au présent Contrat ne sera intentée devant un tribunal d'une quelconque juridiction. Si un litige ou un arbitrage est nécessaire pour faire respecter les termes du présent Contrat, la partie qui obtient gain de cause 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 compétence de cet arbitrage ou de ces tribunaux ou de s'opposer au lieu dans la mesure où toute procédure est engagée conformément aux présentes.

8. DISPOSITIONS GÉNÉRALES. Le présent Contrat 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 Contrat. Tous les avis devant être envoyés dans les présentes seront envoyés par e-mail (à DZF : legal@doublezero.xyz) et seront considérés comme reçus le lendemain de l'envoi (avec confirmation de transmission). Si une disposition du présent Contrat est jugée invalide ou inapplicable, les dispositions restantes du présent Contrat resteront en vigueur. La renonciation par l'une ou l'autre partie à tout défaut ou violation du présent Contrat ne constituera pas une renonciation à tout autre défaut ou violation ultérieur. Aucune des parties ne sera responsable d'un retard ou d'un manquement dans l'exécution dû à des cas de force majeure, des tremblements de terre, des pénuries d'approvisionnement, des difficultés de transport, des conflits du travail, des émeutes, des guerres, des incendies, des épidémies et des événements similaires échappant à son contrôle, qu'ils soient ou non prévisibles. Le présent Contrat ainsi que toutes les pièces jointes constituent l'accord complet entre les parties et remplacent tous les accords ou représentations antérieurs ou contemporains, écrits ou oraux, concernant l'objet des présentes. Le présent Contrat ne peut être modifié ou amendé que par écrit signé par un représentant dûment autorisé de chaque partie.

Connexion au Testnet en Mode IBRL

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 Testnet complèteront la connexion au Testnet DoubleZero, qui est décrite sur cette page.

Chaque validateur Solana possède sa propre keypair d'identité ; à partir de celle-ci, extrayez la clé publique connue sous le nom d'ID de nœud. Il s'agit de 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 incluant 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 la preuve de propriété, et voici comment j'entends me connecter. » DoubleZero valide ces informations, accepte la preuve et provisionne l'accès réseau pour le validateur sur DoubleZero.

Ce guide permet à 1 Validateur Principal de s'enregistrer lui-même, et jusqu'à 3 machines de sauvegarde/basculement en même temps.

Prérequis

  • CLI Solana installée et dans $PATH
  • Pour les validateurs : Permission d'accéder au fichier keypair d'identité du validateur (p. ex., validator-keypair.json) sous l'utilisateur sol
  • Pour les validateurs : Vérifier que la clé d'identité du validateur Solana connecté possède au moins 1 SOL
  • Les règles de pare-feu permettent 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 Validateur sera vérifié par rapport au gossip Solana pour déterminer l'IP cible. L'IP cible et le DoubleZero ID seront ensuite utilisés lors de l'ouverture d'un tunnel GRE entre votre machine et le DoubleZero Device cible.

À considérer : Dans le cas où vous avez un ID factice et un ID principal sur la même IP, seul l'ID principal sera utilisé lors de 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. Configuration de l'Environnement

Veuillez suivre les instructions de configuration avant de procéder.

La dernière étape de la configuration consistait à se déconnecter du réseau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon réseau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au testnet 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"
Vous devriez voir la sortie suivante :
✅ doublezerod configured for environment testnet

Après environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

doublezero latency
Exemple de sortie (testnet)
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

La sortie du mainnet sera identique dans sa structure, mais avec beaucoup plus de dispositifs disponibles.

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 tables IP 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 flags -i doublezero0, -o doublezero0 qui restreignent cette règle uniquement à l'interface DoubleZero

Ou UFW comme suit :

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 flags in on doublezero0, out on doublezero0 qui restreignent cette règle uniquement à l'interface DoubleZero

3. Attester la Propriété du Validateur

Avec votre environnement DoubleZero configuré, il est maintenant temps d'attester la propriété de votre Validateur.

Le DoubleZero ID que vous avez créé lors de la configuration de votre validateur principal doit être utilisé sur toutes les machines de sauvegarde.

L'ID sur votre machine principale peut être trouvé avec doublezero address. Le même ID doit être dans ~/.config/doublezero/id.json sur toutes les machines du cluster.

Pour accomplir cela, vous vérifierez d'abord que la machine sur laquelle vous exécutez les commandes est votre Validateur Principal avec :

doublezero-solana passport find-validator -ut

Cela vérifie que le validateur est enregistré dans le gossip et apparaît dans le planning des leaders.

Sortie attendue :

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

Le même workflow 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 sauvegarde sur lesquelles vous avez l'intention d'exécuter votre Validateur Principal, exécutez ce qui suit :

doublezero-solana passport find-validator -ut

Sortie attendue :

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.
Cette sortie est attendue. Le nœud de sauvegarde ne peut pas être dans le planning des leaders au moment de la création du pass.

Vous allez maintenant exécuter cette commande sur toutes les machines de sauvegarde 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 une mise en jeu active, qui est dans le planning des leaders avec votre ID de validateur principal dans le gossip Solana sur la machine depuis laquelle vous exécutez la commande :

doublezero-solana passport prepare-validator-access -ut \
  --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: 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>
Notez la sortie à la fin de cette commande. C'est la structure pour l'étape suivante.

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. Initier 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 pour 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> -ut \
--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 changer l'explorateur sur testnet. Cette vérification est optionnelle.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp

En cas de succès, DoubleZero enregistrera le principal avec ses sauvegardes. Vous pouvez maintenant 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 sauvegarde 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 :

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
Attendez une minute que le tunnel GRE finisse de s'établir. Jusqu'à ce que le tunnel GRE soit configuré, votre sortie de statut peut indiquer "down" ou "Unknown"

Vérifiez votre connexion :

doublezero status

Sortie :

Note

Examinez cette sortie. Notez 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 | testnet
Un statut up signifie que vous êtes connecté avec succès.

Vous pourrez voir les routes propagées par d'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
...

Prochaine Étape : Publication de Shreds via Multicast

Si vous avez terminé cette configuration et prévoyez de publier des shreds via multicast, passez à la page suivante.