Conexión de Validador a Testnet en Modo IBRL
Al conectarme a la testnet de DoubleZero, acepto los términos del Acuerdo de Evaluación establecidos aquí (haga clic para expandir)
DoubleZero Testnet Acuerdo de Evaluación
Al acceder o utilizar la Solución (definida a continuación), usted acepta a partir de la primera fecha de dicho acceso (la "Fecha de Vigencia") que este Acuerdo de Evaluación (el "Acuerdo") establece los términos y condiciones bajo los cuales DoubleZero Foundation ("DZF") le proporcionará a usted ("Usuario" o "usted") acceso a la Solución en base de evaluación. En consideración de las promesas mutuas contenidas en el presente, usted acepta lo siguiente:
1. DEFINICIONES.
1.1 "Información Confidencial" significa toda y cualquier información divulgada por cualquiera de las partes a la otra que sea designada como confidencial, o que de otro modo deba entenderse como confidencial, incluyendo pero no limitándose a, la Solución, planes de productos, planes de negocios, secretos comerciales, tecnología, o cualquier otra información propietaria.
1.2 "Solución" significa la versión testnet de la infraestructura de red de alto rendimiento DoubleZero para proyectos web3 ("Testnet") y el servicio de filtrado en el borde relacionado con ancho de banda integrado ("Servicio de Información"), el Software DZ (definido a continuación), todos y cualesquiera materiales proporcionados por DZF relacionados con el Software DZ ("Documentación"), y otros materiales que DZF proporcione al Usuario en virtud del presente.
2. ACCESO.
2.1 Acceso a la Solución. Sujeto a los términos y condiciones de este Acuerdo, DZF proporcionará al Usuario acceso a la Solución a través de Internet. El acceso del Usuario es un uso no exclusivo, intransferible y limitado de la Solución para permitir al Usuario evaluar únicamente el Servicio de Información. Con respecto a cualquier software que comprenda la Solución ("Software DZ"), DZF por la presente otorga al Usuario una licencia limitada y revocable, durante el Período de Evaluación, para copiar, descargar, hacer un número razonable de copias, ejecutar y desplegar (según corresponda) dicho Software DZ únicamente como lo contempla la Documentación.
2.2 Restricciones. El Usuario puede utilizar la Solución de acuerdo con este Acuerdo desde la Fecha de Vigencia hasta que sea terminado por DZF (el "Período de Evaluación"). El Usuario entiende que cualquier derecho de uso de la Solución más allá del Período de Evaluación estará sujeto a un acuerdo comercial separado entre las partes con respecto al mismo, incluyendo el pago de tarifas. El Usuario no deberá, y no permitirá a ningún tercero: (i) modificar o crear trabajos derivados basados en la Solución o cualquier porción de la misma; (ii) reproducir la Solución excepto como lo permite expresamente este Acuerdo; (iii) sublicenciar, distribuir, vender, prestar, alquilar, arrendar, transferir, u otorgar derechos sobre la totalidad o cualquier parte de la Solución o proporcionar acceso a la Solución a terceros, en base a un bureau de servicios o de otro modo, excepto como una oferta de los Servicios de Información a través de o en conexión con la plataforma o producto del Usuario y no de forma independiente; o (iv) utilizar la Solución de manera diferente a lo establecido en el presente.
2.3 Propiedad. DZF retiene todos los derechos, títulos e intereses, incluyendo los derechos de propiedad intelectual, sobre la Solución.
3 RETROALIMENTACIÓN. DZF puede solicitar periódicamente que el Usuario proporcione, y el Usuario acepta proporcionar a DZF, retroalimentación sobre el uso, operación y funcionalidad de la Solución ("Retroalimentación"). El Usuario por la presente otorga a DZF un derecho y licencia no exclusivo, mundial, perpetuo, irrevocable, libre de regalías, totalmente pagado, totalmente sublicenciable y transferible para usar e incorporar la Retroalimentación en cualquier producto y servicio, para fabricar, usar, vender, ofrecer a la venta, importar y explotar de otro modo dichos productos y servicios, y para usar, copiar, distribuir y explotar de otro modo la Retroalimentación sin restricción.
4. PLAZO Y TERMINACIÓN.
4.1 Plazo. Este Acuerdo comenzará a partir de la Fecha de Vigencia y permanecerá en pleno vigor y efecto durante el Período de Evaluación. Cualquiera de las partes puede terminar este Acuerdo inmediatamente por conveniencia, por cualquier motivo o sin motivo, mediante notificación escrita a la otra parte (correo electrónico es suficiente).
4.1 Efectos de la Terminación. Tras la terminación de este Acuerdo por cualquier motivo: (i) los derechos otorgados al Usuario en virtud del presente terminarán inmediatamente; (ii) el Usuario deberá discontinuar inmediatamente cualquier uso de la Solución y deberá devolver o destruir toda la Documentación y cualquier Software DZ bajo su control; (iii) cada parte deberá devolver o destruir prontamente toda la Información Confidencial y propiedad de la otra parte; y (iv) las Secciones 2.2, 2.3, 3, 4.2, y 5 a 8 sobrevivirán.
5. CONFIDENCIALIDAD. Cada parte acepta que utilizará la Información Confidencial de la otra parte únicamente para cumplir sus obligaciones y ejercer sus derechos bajo este Acuerdo y no divulgará, ni permitirá que se divulgue, la misma, excepto como se permita de otro modo en el presente. Sin embargo, cualquiera de las partes puede divulgar Información Confidencial a su personal, abogados y otros representantes que tengan necesidad de conocerla y estén sujetos a obligaciones de confidencialidad no menos protectoras que las establecidas en este Acuerdo; y según lo requiera la ley (en cuyo caso la parte receptora proporcionará a la parte divulgadora notificación previa y oportunidad de impugnar dicha divulgación, y minimizará dicha divulgación en la medida permitida por la ley aplicable). Las obligaciones de confidencialidad en esta Sección 5 no se aplicarán a información que: (a) sea o se vuelva generalmente conocida o públicamente disponible sin culpa de la parte receptora; (b) fuera debidamente conocida por la parte receptora, sin restricción, antes de la divulgación por la parte divulgadora; (c) fuera debidamente divulgada a la parte receptora, sin restricción, por otra persona con la autoridad legal para hacerlo; o (d) sea desarrollada independientemente por la parte receptora sin uso o referencia a la Información Confidencial de la parte divulgadora. Cada parte acepta ejercer la debida diligencia en la protección de la Información Confidencial de la otra parte contra el uso y divulgación no autorizados. En caso de incumplimiento real o amenazado de las disposiciones de esta Sección o de las licencias contenidas en el presente, la parte no incumplidora tendrá derecho a buscar medidas cautelares inmediatas y otros recursos equitativos, sin renunciar a otros derechos o recursos disponibles. El Usuario es responsable de mantener la Solución y la confidencialidad de cualquier contraseña, frase semilla o código que proporcione acceso a la Solución como Información Confidencial de DZF. Nada en el presente limita o restringe el derecho o la capacidad de DZF de utilizar datos sobre el rendimiento, disponibilidad, uso, integridad y seguridad de la Solución. Si cualquiera de las partes incumple, o amenaza con incumplir las disposiciones de esta Sección 5, cada parte acepta que la parte no incumplidora no tendrá un recurso adecuado en derecho y por lo tanto tiene derecho a medidas cautelares inmediatas y otros recursos equitativos, sin fianza y sin necesidad de demostrar daños monetarios reales.
6. DESCARGO DE GARANTÍA; LIMITACIÓN DE RESPONSABILIDAD.
6.1 DESCARGO DE GARANTÍA. LA SOLUCIÓN SE PROPORCIONA "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO. DZF NO OTORGA GARANTÍAS, YA SEAN EXPRESAS, IMPLÍCITAS, LEGALES O DE OTRO TIPO CON RESPECTO A LA SOLUCIÓN Y LA DOCUMENTACIÓN INCLUYENDO SU CONDICIÓN, CONFORMIDAD CON CUALQUIER REPRESENTACIÓN O DESCRIPCIÓN, Y DZF RECHAZA ESPECÍFICAMENTE TODAS LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR, TÍTULO Y NO INFRACCIÓN.
6.2 LIMITACIÓN DE RESPONSABILIDAD. EXCEPTO POR INCUMPLIMIENTO DE LAS SECCIONES 2.1, 2.2 Y 5, EN NINGÚN CASO NINGUNA DE LAS PARTES SERÁ RESPONSABLE ANTE LA OTRA POR DAÑOS INDIRECTOS, INCIDENTALES, ESPECIALES U OTROS DAÑOS CONSECUENTES, INCLUYENDO SIN LIMITACIÓN DAÑOS POR PÉRDIDA DE BENEFICIOS O USO O PÉRDIDA DE DATOS, INCURRIDOS POR USTED O CUALQUIER TERCERO, QUE SURJAN DE O ESTÉN RELACIONADOS CON ESTE ACUERDO YA SEA EN UNA ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, INCLUSO SI LA OTRA PARTE HA SIDO ADVERTIDA DE LA POSIBILIDAD DE DICHOS DAÑOS. EN NINGÚN CASO LA RESPONSABILIDAD AGREGADA DE DZF QUE SURJA DE O ESTÉ RELACIONADA CON ESTE ACUERDO EXCEDERÁ CIEN DÓLARES ($100), YA SEA EN UNA ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO. LAS LIMITACIONES ANTERIORES SE APLICARÁN SIN PERJUICIO DEL INCUMPLIMIENTO DEL PROPÓSITO ESENCIAL DE CUALQUIER RECURSO LIMITADO CONTENIDO EN EL PRESENTE. LAS PARTES ACUERDAN QUE LAS LIMITACIONES ANTERIORES REPRESENTAN UNA ASIGNACIÓN RAZONABLE DEL RIESGO BAJO ESTE ACUERDO.
7. LEY APLICABLE. Este Acuerdo y todos los asuntos que surjan de o se relacionen con este Acuerdo se regirán, interpretarán y construirán de acuerdo con las leyes de las Islas Caimán. En caso de que surja una controversia, disputa o reclamación de o en relación con este Acuerdo ("Disputa"), la parte relevante, según corresponda, deberá dar un aviso de 30 días de dicha Disputa a las otras partes (el "Aviso de Disputa"). En caso de que la Disputa no se resuelva al vencimiento de los 30 días posteriores a la notificación del Aviso de Disputa, la parte relevante podrá iniciar procedimientos de arbitraje según se establece en el presente. En caso de que la Disputa permanezca al vencimiento de los 30 días posteriores a la notificación del Aviso de Disputa, la Disputa se resolverá mediante arbitraje administrado por el Centro Internacional de Mediación y Arbitraje de las Islas Caimán (CI-MAC) de acuerdo con las Reglas de Arbitraje de CI-MAC (las "Reglas de Arbitraje") vigentes a la fecha de este Acuerdo, cuyas Reglas de Arbitraje se consideran incorporadas por referencia a esta cláusula, y regidas por la Ley de Arbitraje (según sea enmendada). El arbitraje tendrá su sede en George Town, Gran Caimán, Islas Caimán y se regirá por la ley de las Islas Caimán. El idioma del arbitraje será el inglés. El arbitraje será determinado por un árbitro único que será designado de acuerdo con las Reglas de Arbitraje. Cualquier laudo o decisión del árbitro será por escrito y será definitivo y vinculante para las partes sin derecho de apelación, y el reconocimiento de cualquier laudo así obtenido podrá ser registrado o ejecutado por cualquier tribunal con jurisdicción al respecto. No se podrá iniciar ninguna acción legal o en equidad basada en cualquier reclamación que surja de o esté relacionada con este Acuerdo en ningún tribunal de ninguna jurisdicción. Si cualquier litigio o arbitraje es necesario para hacer cumplir los términos de este Acuerdo, la parte prevaleciente tendrá derecho a que sus honorarios de abogados sean pagados por la otra parte. Cada parte renuncia a cualquier derecho que pueda tener para invocar la doctrina de forum non conveniens, para alegar que no está sujeta a la jurisdicción de dicho arbitraje o tribunales, o para objetar la sede en la medida en que cualquier procedimiento se inicie de conformidad con el presente.
8. DISPOSICIONES GENERALES. Este Acuerdo no puede ser transferido ni cedido por el Usuario sin el consentimiento previo por escrito de DZF. DZF puede ceder libremente este Acuerdo. Todas las notificaciones que deban enviarse en virtud del presente se enviarán por correo electrónico (a DZF: legal@doublezero.xyz) y se considerarán recibidas el día siguiente al envío (con confirmación de transmisión). Si alguna disposición de este Acuerdo se considera inválida o inaplicable, las disposiciones restantes de este Acuerdo permanecerán en pleno vigor y efecto. La renuncia por cualquiera de las partes a cualquier incumplimiento de este Acuerdo no constituirá una renuncia a cualquier otro incumplimiento posterior. Ninguna de las partes será responsable por cualquier retraso o falta de cumplimiento debido a actos de fuerza mayor, terremotos, escasez de suministros, dificultades de transporte, disputas laborales, disturbios, guerra, incendio, epidemias y sucesos similares fuera de su control, ya sean previsibles o no. Este Acuerdo junto con cualquier anexo constituye el acuerdo completo entre las partes y sustituye a todos los acuerdos o representaciones anteriores o contemporáneos, escritos u orales, relativos al objeto del presente. Este Acuerdo no puede ser modificado ni enmendado excepto por escrito firmado por un representante debidamente autorizado de cada parte.
Conexión a Testnet en Modo IBRL
Note
El modo IBRL no requiere reiniciar los clientes del validador, porque utiliza su dirección IP pública existente.
Los Validadores de Solana Testnet completarán la conexión a la Testnet de DoubleZero, lo cual se detalla en esta página.
Cada validador de Solana tiene su propio par de claves de identidad; a partir de este, se extrae la clave pública conocida como el ID de nodo. Esta es la huella digital única del validador en la red de Solana.
Con el DoubleZeroID y el ID de nodo identificados, demostrarás la propiedad de tu máquina. Esto se realiza creando un mensaje que incluye el DoubleZeroID firmado con la clave de identidad del validador. La firma criptográfica resultante sirve como prueba verificable de que controlas el validador.
Finalmente, enviarás una solicitud de conexión a DoubleZero. Esta solicitud comunica: "Aquí está mi identidad, aquí está la prueba de propiedad, y así es como pretendo conectarme." DoubleZero valida esta información, acepta la prueba y aprovisiona el acceso a la red para el validador en DoubleZero.
Esta guía permite registrar 1 Validador Primario y hasta 3 máquinas de respaldo/conmutación por error al mismo tiempo.
Requisitos Previos
- Solana CLI instalado y en $PATH
- Para validadores: Permiso para acceder al archivo del par de claves de identidad del validador (por ejemplo, validator-keypair.json) bajo el usuario sol
- Para validadores: Verificar que la clave de Identidad del validador de Solana que se va a conectar tenga al menos 1 SOL
- Las reglas del firewall permiten conexiones salientes para DoubleZero y Solana RPC según sea necesario, incluyendo GRE (ip proto 47) y BGP (169.254.0.0/16 en tcp/179)
Info
El ID del Validador se verificará contra el gossip de Solana para determinar la IP de destino. La IP de destino y el DoubleZero ID se utilizarán al abrir un túnel GRE entre su máquina y el Dispositivo DoubleZero de destino.
Considere: En el caso donde tenga un ID basura y un ID Primario en la misma IP, solo el ID Primario se utilizará en el registro de la máquina. Esto se debe a que el ID basura no aparecerá en gossip y, por lo tanto, no puede usarse para verificar la IP de la máquina de destino.
1. Confirmar la red del cliente
Por favor siga las instrucciones de configuración antes de continuar. Instale los paquetes de Testnet — Testnet y Mainnet-Beta utilizan diferentes repositorios de paquetes.
El último paso en la configuración fue desconectarse de la red. Esto es para asegurar que solo un túnel esté abierto en su máquina hacia DoubleZero, y que ese túnel esté en la red correcta.
Confirme que el cliente está en testnet:
doublezero status
La columna Network debería mostrar testnet. Si muestra mainnet-beta, o si instaló el paquete incorrecto, use el cambio de copiar y pegar en solución de problemas.
Después de aproximadamente 30 segundos verá los dispositivos DoubleZero disponibles:
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. Abrir el puerto 44880
Los usuarios necesitan abrir el puerto 44880 para utilizar algunas funciones de enrutamiento.
Para abrir el puerto 44880 puede actualizar las tablas IP de la siguiente manera:
sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -p udp --dport 44880 -j ACCEPT
observe los flags -i doublezero0, -o doublezero0 que restringen esta regla únicamente a la interfaz de DoubleZero
O con UFW de la siguiente manera:
sudo ufw allow in on doublezero0 to any port 44880 proto udp
sudo ufw allow out on doublezero0 to any port 44880 proto udp
observe los flags in on doublezero0, out on doublezero0 que restringen esta regla únicamente a la interfaz de DoubleZero
3. Atestiguar la Propiedad del Validador
Con su Entorno DoubleZero configurado, ahora es momento de atestiguar la Propiedad de su Validador.
El DoubleZero ID que creó en la configuración de su validador primario debe usarse en todas las máquinas de respaldo.
El ID en su máquina primaria se puede encontrar con doublezero address. El mismo ID debe estar en ~/.config/doublezero/id.json en todas las máquinas del clúster.
Para lograr esto, primero verificará que la máquina desde la que está ejecutando los comandos es su Validador Primario con:
doublezero-solana passport find-validator -ut
Esto verifica que el validador esté registrado en gossip y aparezca en el programa de líderes.
Salida esperada:
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
El mismo flujo de trabajo se utiliza para una o varias máquinas. Para registrar una sola máquina, excluya los argumentos "--backup-validator-ids" o "backup_ids=" de cualquier comando en esta página.
Ahora, en todas las máquinas de respaldo en las que pretenda ejecutar su Validador Primario, ejecute lo siguiente:
doublezero-solana passport find-validator -ut
Salida esperada:
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.
Ahora ejecutará este comando en todas las máquinas de respaldo en las que planee usar la cuenta de voto y la identidad de su Validador Primario.
Preparar la Conexión
Ejecute el siguiente comando en la máquina del Validador Primario. Esta es la máquina en la que tiene stake activo, que está en el programa de líderes con su ID de validador primario en el gossip de solana en la máquina desde la que está ejecutando el comando:
doublezero-solana passport prepare-validator-access -ut \
--doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>
Salida de ejemplo:
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. Generar la Firma
Al final del último paso, recibimos una salida preformateada para solana sign-offchain-message
De la salida anterior ejecutaremos este comando en la máquina del Validador Primario.
solana sign-offchain-message \
service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
-k <identity-keypair-file.json>
Salida:
Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7
5. Iniciar una Solicitud de Conexión en DoubleZero
Use el comando request-validator-access para crear una cuenta en Solana para la solicitud de conexión. El agente DoubleZero Sentinel detecta la nueva cuenta, valida su identidad y firma, y crea el pase de acceso en DoubleZero para que el servidor pueda establecer una conexión.
Use el ID de nodo, el DoubleZeroID y la firma.
Note
En este ejemplo usamos `-k /home/user/.