Connessione del Validatore in Modalità IBRL
Connettendomi a DoubleZero accetto i Termini di Servizio di DoubleZero
Connettendomi alla testnet di DoubleZero accetto i termini dell'Accordo di Valutazione qui riportati (clicca per espandere)
DoubleZero Testnet Accordo di Valutazione
Accedendo o utilizzando la Soluzione (definita di seguito), l'utente accetta, a partire dalla prima data di tale accesso (la "Data di Efficacia"), che il presente Accordo di Valutazione (l'"Accordo") stabilisce i termini e le condizioni in base ai quali DoubleZero Foundation ("DZF") fornirà all'utente ("Utente" o "tu") l'accesso alla Soluzione su base valutativa. In considerazione delle reciproche promesse qui contenute, l'utente accetta quanto segue:
1. DEFINIZIONI.
1.1 "Informazioni Riservate" indica qualsiasi informazione divulgata da una parte all'altra che sia designata come riservata, o che altrimenti debba essere intesa come riservata, incluse, a titolo esemplificativo ma non esaustivo, la Soluzione, i piani di prodotto, i piani aziendali, i segreti commerciali, la tecnologia o qualsiasi altra informazione proprietaria.
1.2 "Soluzione" indica la versione testnet dell'infrastruttura di rete ad alte prestazioni DoubleZero per progetti web3 ("Testnet") e il relativo servizio di filtraggio edge con larghezza di banda integrata ("Servizio Informativo"), il Software DZ (definito di seguito), qualsiasi materiale fornito da DZF relativo al Software DZ ("Documentazione") e altri materiali che DZF fornisce all'Utente ai sensi del presente.
2. ACCESSO.
2.1 Accesso alla Soluzione. Subordinatamente ai termini e alle condizioni del presente Accordo, DZF fornirà all'Utente l'accesso alla Soluzione tramite Internet. L'accesso dell'Utente è un uso non esclusivo, non trasferibile e limitato della Soluzione per consentire all'Utente di valutare esclusivamente il Servizio Informativo. Per quanto riguarda qualsiasi software che compone la Soluzione ("Software DZ"), DZF concede con il presente all'Utente una licenza limitata e revocabile, durante il Periodo di Valutazione, per copiare, scaricare, effettuare un numero ragionevole di copie, eseguire e distribuire (se applicabile) tale Software DZ esclusivamente come previsto dalla Documentazione.
2.2 Restrizioni. L'Utente può utilizzare la Soluzione in conformità con il presente Accordo dalla Data di Efficacia fino alla cessazione da parte di DZF (il "Periodo di Valutazione"). L'Utente comprende che qualsiasi diritto di utilizzo della Soluzione oltre il Periodo di Valutazione sarà soggetto a un accordo commerciale separato tra le parti a tal riguardo, incluso il pagamento di corrispettivi. L'Utente non dovrà, e non permetterà a terzi di: (i) modificare o creare opere derivate basate sulla Soluzione o su qualsiasi sua parte; (ii) riprodurre la Soluzione se non come espressamente consentito dal presente Accordo; (iii) sublicenziare, distribuire, vendere, prestare, noleggiare, affittare, trasferire o concedere diritti su tutta o parte della Soluzione o fornire accesso alla Soluzione a terzi, su base di service bureau o altrimenti, ad eccezione dell'offerta dei Servizi Informativi tramite o in connessione con la piattaforma o il prodotto dell'Utente e non su base autonoma; o (iv) utilizzare la Soluzione diversamente da quanto previsto nel presente.
2.3 Proprietà. DZF mantiene tutti i diritti, il titolo e l'interesse, inclusi i diritti di proprietà intellettuale, sulla Soluzione.
3 FEEDBACK. DZF può periodicamente richiedere che l'Utente fornisca, e l'Utente accetta di fornire a DZF, feedback riguardo l'uso, il funzionamento e la funzionalità della Soluzione ("Feedback"). L'Utente concede con il presente a DZF un diritto e una licenza non esclusivi, mondiali, perpetui, irrevocabili, esenti da royalty, interamente pagati, interamente sublicenziabili e trasferibili per utilizzare e incorporare il Feedback in qualsiasi prodotto e servizio, per realizzare, utilizzare, vendere, offrire in vendita, importare e altrimenti sfruttare tali prodotti e servizi, e per altrimenti utilizzare, copiare, distribuire e altrimenti sfruttare il Feedback senza restrizioni.
4. DURATA E RISOLUZIONE.
4.1 Durata. Il presente Accordo entrerà in vigore dalla Data di Efficacia e rimarrà pienamente in vigore per il Periodo di Valutazione. Ciascuna parte può risolvere il presente Accordo immediatamente per convenienza, per qualsiasi motivo o senza motivo, previa comunicazione scritta all'altra parte (e-mail sufficiente).
4.1 Effetti della Risoluzione. Alla risoluzione del presente Accordo per qualsiasi motivo: (i) i diritti concessi all'Utente ai sensi del presente cesseranno immediatamente; (ii) l'Utente cesserà immediatamente qualsiasi utilizzo della Soluzione e restituirà o distruggerà tutta la Documentazione e qualsiasi Software DZ sotto il proprio controllo; (iii) ciascuna parte restituirà o distruggerà prontamente tutte le Informazioni Riservate e la proprietà dell'altra parte; e (iv) le Sezioni 2.2, 2.3, 3, 4.2 e da 5 a 8 sopravvivranno.
5. RISERVATEZZA. Ciascuna parte accetta di utilizzare le Informazioni Riservate dell'altra parte esclusivamente per adempiere ai propri obblighi ed esercitare i propri diritti ai sensi del presente Accordo e non divulgherà, né permetterà che vengano divulgate, le stesse, salvo quanto altrimenti consentito dal presente. Tuttavia, ciascuna parte può divulgare le Informazioni Riservate al proprio personale, avvocati e altri rappresentanti che abbiano necessità di conoscerle e siano vincolati da obblighi di riservatezza non meno protettivi di quelli stabiliti nel presente Accordo; e come richiesto dalla legge (nel qual caso la parte ricevente fornirà alla parte divulgante preavviso e opportunità di contestare tale divulgazione, e limiterà al minimo tale divulgazione nella misura consentita dalla legge applicabile). Gli obblighi di riservatezza della presente Sezione 5 non si applicheranno alle informazioni che: (a) sono o diventano generalmente note o pubblicamente disponibili senza colpa della parte ricevente; (b) erano debitamente note alla parte ricevente, senza restrizioni, prima della divulgazione da parte della parte divulgante; (c) sono state debitamente divulgate alla parte ricevente, senza restrizioni, da un'altra persona con l'autorità legale per farlo; o (d) sono sviluppate indipendentemente dalla parte ricevente senza uso o riferimento alle Informazioni Riservate della parte divulgante. Ciascuna parte accetta di esercitare la dovuta diligenza nella protezione delle Informazioni Riservate dell'altra parte dall'uso e dalla divulgazione non autorizzati. In caso di violazione effettiva o minacciata delle disposizioni della presente Sezione o delle licenze qui contenute, la parte non inadempiente avrà diritto a richiedere un provvedimento ingiuntivo immediato e altri rimedi equitativi, senza rinunciare ad altri diritti o rimedi a sua disposizione. L'Utente è responsabile del mantenimento della Soluzione e della segretezza di eventuali password, frasi seed o codici che forniscono accesso alla Soluzione come Informazioni Riservate di DZF. Nulla nel presente limita o restringe il diritto o la capacità di DZF di utilizzare dati relativi alle prestazioni, disponibilità, utilizzo, integrità e sicurezza della Soluzione. Se una delle parti viola, o minaccia di violare le disposizioni della presente Sezione 5, ciascuna parte accetta che la parte non inadempiente non disporrà di un rimedio adeguato in sede legale e ha pertanto diritto a un provvedimento ingiuntivo immediato e altri rimedi equitativi, senza cauzione e senza necessità di dimostrare danni pecuniari effettivi.
6. ESCLUSIONE DI GARANZIA; LIMITAZIONE DI RESPONSABILITÀ.
6.1 ESCLUSIONE DI GARANZIA. LA SOLUZIONE È FORNITA "COSÌ COM'È" SENZA GARANZIA DI ALCUN TIPO. DZF NON FORNISCE ALCUNA GARANZIA, ESPRESSA, IMPLICITA, LEGALE O DI ALTRO TIPO RIGUARDO ALLA SOLUZIONE E ALLA DOCUMENTAZIONE, INCLUSE LE LORO CONDIZIONI, CONFORMITÀ A QUALSIASI RAPPRESENTAZIONE O DESCRIZIONE, E DZF ESCLUDE SPECIFICAMENTE TUTTE LE GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE, TITOLO E NON VIOLAZIONE.
6.2 LIMITAZIONE DI RESPONSABILITÀ. AD ECCEZIONE DI UNA VIOLAZIONE DELLE SEZIONI 2.1, 2.2 E 5, IN NESSUN CASO NESSUNA DELLE PARTI SARÀ RESPONSABILE NEI CONFRONTI DELL'ALTRA PER DANNI INDIRETTI, INCIDENTALI, SPECIALI O ALTRI DANNI CONSEQUENZIALI, INCLUSI SENZA LIMITAZIONE DANNI PER PERDITA DI PROFITTI O USO O PERDITA DI DATI, SOSTENUTI DALL'UTENTE O DA TERZI, DERIVANTI DA O RELATIVI AL PRESENTE ACCORDO, SIA IN UN'AZIONE CONTRATTUALE, EXTRACONTRATTUALE O ALTRO, ANCHE SE L'ALTRA PARTE È STATA AVVISATA DELLA POSSIBILITÀ DI TALI DANNI. IN NESSUN CASO LA RESPONSABILITÀ COMPLESSIVA DI DZF DERIVANTE DA O RELATIVA AL PRESENTE ACCORDO SUPERERÀ CENTO DOLLARI ($100), SIA IN UN'AZIONE CONTRATTUALE, EXTRACONTRATTUALE O ALTRO. LE LIMITAZIONI DI CUI SOPRA SI APPLICHERANNO NONOSTANTE IL MANCATO RAGGIUNGIMENTO DELLO SCOPO ESSENZIALE DI QUALSIASI RIMEDIO LIMITATO QUI PREVISTO. LE PARTI CONCORDANO CHE LE LIMITAZIONI DI CUI SOPRA RAPPRESENTANO UNA RAGIONEVOLE ALLOCAZIONE DEL RISCHIO AI SENSI DEL PRESENTE ACCORDO.
7. LEGGE APPLICABILE. Il presente Accordo e tutte le questioni derivanti da o relative al presente Accordo saranno disciplinate, interpretate e costruite in conformità con le leggi delle Isole Cayman. Qualora dovesse sorgere una controversia, disputa o reclamo derivante da o in relazione al presente Accordo ("Controversia"), la parte pertinente, a seconda dei casi, dovrà dare un preavviso di 30 giorni di tale Controversia alle altre parti (l'"Avviso di Controversia"). Qualora la Controversia non venga risolta alla scadenza dei 30 giorni dalla notifica dell'Avviso di Controversia, la parte pertinente potrà avviare procedimenti arbitrali come previsto nel presente. Qualora la Controversia permanga alla scadenza dei 30 giorni dalla notifica dell'Avviso di Controversia, la Controversia sarà risolta mediante arbitrato amministrato dal Cayman International Mediation & Arbitration Centre (CI-MAC) in conformità con le Regole di Arbitrato CI-MAC (le "Regole di Arbitrato") in vigore alla data del presente Accordo, le quali Regole di Arbitrato si intendono incorporate per riferimento alla presente clausola, e disciplinate dall'Arbitration Act (come modificato). L'arbitrato avrà sede a George Town, Grand Cayman, Isole Cayman e sarà disciplinato dalla legge delle Isole Cayman. La lingua dell'arbitrato sarà l'inglese. L'arbitrato sarà deciso da un arbitro unico da nominare in conformità con le Regole di Arbitrato. Qualsiasi lodo o decisione emessa dall'arbitro sarà per iscritto e sarà definitiva e vincolante per le parti senza diritto di appello, e il giudizio su qualsiasi lodo così ottenuto potrà essere iscritto o eseguito da qualsiasi tribunale avente giurisdizione. Nessuna azione legale o equitativa basata su qualsiasi reclamo derivante da o relativo al presente Accordo sarà intentata presso alcun tribunale di qualsiasi giurisdizione. Se un contenzioso o arbitrato fosse necessario per far rispettare i termini del presente Accordo, la parte vincitrice avrà diritto al rimborso delle spese legali da parte dell'altra parte. Ciascuna parte rinuncia a qualsiasi diritto di invocare la dottrina del forum non conveniens, di asserire di non essere soggetta alla giurisdizione di tale arbitrato o tribunali o di opporsi alla sede nella misura in cui un procedimento sia avviato in conformità con il presente.
8. DISPOSIZIONI GENERALI. Il presente Accordo non può essere trasferito o ceduto dall'Utente senza il previo consenso scritto di DZF. DZF può liberamente cedere il presente Accordo. Tutte le comunicazioni richieste ai sensi del presente devono essere inviate tramite e-mail (a DZF: legal@doublezero.xyz) e si considerano ricevute il giorno successivo all'invio (con conferma di trasmissione). Se qualsiasi disposizione del presente Accordo è ritenuta invalida o inapplicabile, le restanti disposizioni del presente Accordo rimarranno pienamente in vigore. La rinuncia da parte di una delle parti a qualsiasi inadempimento o violazione del presente Accordo non costituirà rinuncia a qualsiasi altro inadempimento o violazione successivi. Nessuna delle parti sarà responsabile per ritardi o inadempienze nell'esecuzione dovuti a cause di forza maggiore, terremoti, carenze di approvvigionamento, difficoltà di trasporto, controversie sindacali, sommosse, guerre, incendi, epidemie e eventi simili al di fuori del proprio controllo, prevedibili o meno. Il presente Accordo, unitamente a eventuali allegati, costituisce l'accordo completo tra le parti e sostituisce tutti gli accordi o le dichiarazioni precedenti o contemporanei, scritti o orali, relativi all'oggetto del presente. Il presente Accordo non può essere modificato o emendato se non per iscritto firmato da un rappresentante debitamente autorizzato di ciascuna parte.
Scegli la rete DoubleZero che corrisponde al tuo cluster Solana: mainnet-beta o testnet. Installa i pacchetti corrispondenti nella configurazione e usa la stessa rete per ogni comando riportato di seguito.
Note
La modalità IBRL non richiede il riavvio dei client del validatore, poiché utilizza il tuo indirizzo IP pubblico esistente.
I validatori Solana si connettono a DoubleZero in modalità IBRL seguendo i passaggi di questa pagina.
Ogni validatore Solana ha il proprio keypair di identità; da questo si estrae la chiave pubblica nota come node ID. Questo è l'impronta digitale univoca del validatore sulla rete Solana.
Con il DoubleZeroID e il node ID identificati, dovrai dimostrare la proprietà della tua macchina. Questo viene fatto creando un messaggio che include il DoubleZeroID firmato con la chiave di identità del validatore. La firma crittografica risultante serve come prova verificabile che controlli il validatore.
Infine, invierai una richiesta di connessione a DoubleZero. Questa richiesta comunica: "Ecco la mia identità, ecco la prova di proprietà, ed ecco come intendo connettermi." DoubleZero valida queste informazioni, accetta la prova e provisiona l'accesso alla rete per il validatore su DoubleZero.
Questa guida consente di registrare 1 Validatore Primario e fino a 3 macchine di backup/failover contemporaneamente.
Prerequisiti
- Solana CLI installato e nel $PATH
- Per i validatori: permesso di accesso al file keypair di identità del validatore (es. validator-keypair.json) sotto l'utente sol
- Per i validatori: verificare che la chiave di identità del validatore Solana in fase di connessione abbia almeno 1 SOL
- Le regole del firewall consentono connessioni in uscita per DoubleZero e Solana RPC secondo necessità, inclusi GRE (ip proto 47) e BGP (169.254.0.0/16 su tcp/179)
Info
L'ID del Validatore verrà verificato rispetto al gossip di Solana per determinare l'IP di destinazione. L'IP di destinazione e il DoubleZero ID verranno quindi utilizzati per l'apertura di un tunnel GRE tra la tua macchina e il dispositivo DoubleZero di destinazione.
Nota: Nel caso in cui tu abbia un ID fittizio e un ID Primario sullo stesso IP, solo l'ID Primario verrà utilizzato nella registrazione della macchina. Questo perché l'ID fittizio non apparirà nel gossip, e quindi non potrà essere utilizzato per verificare l'IP della macchina di destinazione.
1. Confermare la rete del client
Segui le istruzioni di configurazione prima di procedere. Installa i pacchetti per mainnet-beta o testnet. Utilizzano repository di pacchetti diversi.
L'ultimo passaggio della configurazione era disconnettersi dalla rete. Questo serve per assicurarsi che sia aperto un solo tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.
Conferma che il client sia sulla rete che hai scelto:
doublezero status
La colonna Network dovrebbe mostrare mainnet-beta o testnet, corrispondente al tuo cluster Solana. Se non è corretto, o hai installato il pacchetto sbagliato, usa il cambio copia-incolla nella sezione risoluzione dei problemi.
Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:
doublezero latency
Output di esempio (mainnet-beta; testnet ha lo stesso aspetto ma con meno dispositivi):
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. Aprire la porta 44880
Gli utenti devono aprire la porta 44880 per utilizzare alcune funzionalità di routing.
Per aprire la porta 44880 potresti aggiornare le regole iptables come segue:
sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -p udp --dport 44880 -j ACCEPT
nota i flag -i doublezero0, -o doublezero0 che limitano questa regola alla sola interfaccia DoubleZero
Oppure tramite UFW come segue:
sudo ufw allow in on doublezero0 to any port 44880 proto udp
sudo ufw allow out on doublezero0 to any port 44880 proto udp
nota i flag in on doublezero0, out on doublezero0 che limitano questa regola alla sola interfaccia DoubleZero
3. Attestare la Proprietà del Validatore
Flag di rete
I comandi Passport seguenti utilizzano -u mainnet-beta. Su testnet, usa -u testnet (o -ut) al suo posto.
Con il tuo Ambiente DoubleZero configurato, è ora il momento di attestare la Proprietà del tuo Validatore.
Il DoubleZero ID che hai creato durante la configurazione del tuo validatore primario deve essere utilizzato su tutte le macchine di backup.
L'ID sulla tua macchina primaria può essere trovato con doublezero address. Lo stesso ID deve essere presente in ~/.config/doublezero/id.json su tutte le macchine del cluster.
Per fare questo, prima verificherai che la macchina da cui stai eseguendo i comandi sia il tuo Validatore Primario con:
doublezero-solana passport find-validator -u mainnet-beta
Questo verifica che il validatore sia registrato nel gossip e appaia nello schedule dei leader.
Output atteso:
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
Lo stesso flusso di lavoro è utilizzato per una o più macchine. Per registrare una sola macchina, escludi gli argomenti "--backup-validator-ids" o "backup_ids=" da qualsiasi comando in questa pagina.
Ora, su tutte le macchine di backup su cui intendi eseguire il tuo Validatore Primario, esegui il seguente comando:
doublezero-solana passport find-validator -u mainnet-beta
Output atteso:
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.
Eseguirai ora questo comando su tutte le macchine di backup su cui intendi utilizzare l'account di voto e l'identità del tuo Validatore Primario.
Preparare la Connessione
Esegui il seguente comando sulla macchina del Validatore Primario. Questa è la macchina su cui hai stake attivo, che è nello schedule dei leader con l'ID del tuo validatore primario nel gossip di Solana sulla macchina da cui stai eseguendo il comando:
doublezero-solana passport prepare-validator-access -u mainnet-beta \
--doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>
Output di esempio:
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. Generare la Firma
Alla fine dell'ultimo passaggio, abbiamo ricevuto un output pre-formattato per solana sign-offchain-message
Dall'output precedente eseguiremo questo comando sulla macchina del Validatore Primario.
solana sign-offchain-message \
service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
-k <identity-keypair-file.json>
Output:
Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7
5. Avviare una Richiesta di Connessione in DoubleZero
Usa il comando request-validator-access per creare un account su Solana per la richiesta di connessione. L'agente DoubleZero Sentinel rileva il nuovo account, ne valida l'identità e la firma, e crea il pass di accesso in DoubleZero affinché il server possa stabilire una connessione.
Usa il node ID, il DoubleZeroID e la firma.
Note
In questo esempio utilizziamo -k /home/user/.config/solana/id.json per trovare l'identità del validatore. Usa il percorso appropriato per la tua distribuzione locale.
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
Output:
Questo output può essere usato per vedere la transazione su un explorer Solana. Assicurati di impostare l'explorer su mainnet-beta o testnet per corrispondere al tuo cluster. Questa verifica è opzionale.
Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp
Se riuscito, DoubleZero registrerà il primario con i suoi backup. Ora puoi effettuare il failover tra gli IP registrati nel pass di accesso. DoubleZero manterrà automaticamente la connettività durante il passaggio ai nodi di backup registrati in questo modo.
6. Connettersi in Modalità IBRL
Sul server, con l'utente che si connetterà a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.
doublezero connect ibrl
Dovresti vedere un output che indica il provisioning, come:
⚡ 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
Verifica la tua connessione:
doublezero status
Output:
Note
Esamina questo output. Nota che il Tunnel src e il DoubleZero IP corrispondono all'indirizzo IPv4 pubblico della tua macchina.
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 mostra testnet quando ti sei connesso su testnet.)
Uno stato up significa che sei connesso con successo.
Potrai visualizzare le rotte propagate da altri utenti su DoubleZero eseguendo:
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
...
Prossimo Passo: Pubblicazione degli Shred tramite Multicast
Se hai completato questa configurazione e prevedi di pubblicare shred tramite multicast, procedi alla pagina successiva.