Dirigiendo el Union Devnet

El Union Devnet se utiliza para ejecutar todos los componentes que hay localmente para poder experimentar con IBC entre Ethereum y Union. Lo bueno de la configuraci贸n es que requiere que ejecutes solo dos comandos y manejar谩 el resto. Este documento explicar谩 todas las opciones para hacer la configuraci贸n para sus necesidades.

Inicio r谩pido

Comience con la clonaci贸n del repositorio si ya no lo ha hecho:

git clone git@github.com:unionlabs/union.git

Antes de ejecutar el comando de configuraci贸n, debemos iniciar ambas cadenas. Se iniciar谩 el siguiente comando:

  1. Uni贸n con 4 validadores.

  2. Ethereum con el el preajuste m铆nimo.

nix run ".#devnet"

El comando anterior ejecutar谩 ambas cadenas en una sola sesi贸n. Entonces, si desea tener registros separados para Ethereum y Union, puede ejecutar ambos devnets por separado:

# For ethereumnix run ".#devnet-eth"
# For unionnix run ".#devnet-union"

Ahora que estamos listos, podemos ejecutar la configuraci贸n:

nix run ".#e2e-setup" -- --circuit-path ./

--circuit-pathse pasa para que el probador busque y descargue los archivos que necesita.

La configuraci贸n puede llevar alg煤n tiempo en funci贸n de su velocidad de Internet y su potencia inform谩tica. Pero tenga en cuenta que si va a ejecutar el probador localmente, le recomendamos que tenga al menos 32 GB de memoria. Si no tiene tanta memoria pero puede ejecutar el probador en un servidor remoto o computadora, le explicaremos c贸mo usar un probador remoto m谩s adelante en este documento.

驴Qu茅 hace exactamente esta configuraci贸n?

Hay muchas cosas para hacer que IBC funcione. Para explicarlo brevemente, los pasos son:

  1. Si el probador se ejecuta localmente, primero buscar谩 los archivos debajo --circuit-path y descargarlos o actualizarlos si es necesario.

  2. Comprueba si ambas cadenas est谩n vivas.

  3. Instancia las siguientes aplicaciones IBC a Union para que las pruebe:

    1. ucs01-relay: Para transferencias de tokens entre cadenas. 2. ping-pong: Para comenzando ping-pong sin fin entre Ethereum y Union.

  4. Implementa los contratos de protocolo IBC, as铆 como ICS20Transfer contrato para transferencias entre cadenas a Ethereum.

  5. Implementa el contrato de ping-pong en Ethereum.

  6. Comienza el prover local en segundo plano si el --circuit-path se proporciona.

  7. Establece los canales iniciales para ambos ICS20Transfer y PingPong en Ethereum. Tenga en cuenta que esto no se est谩 haciendo en Union ya que esto se maneja en la configuraci贸n de g茅nesis.

  8. Crea clientes ligeros en ambas cadenas.

  9. Espera a que el prover est茅 en l铆nea, y luego comienza la Voyager a transmitir paquetes.

Opciones CLI para personalizar la ejecuci贸n

Usando un prover que ya est谩 en ejecuci贸n

Esto puede ser muy 煤til porque iniciar el prover localmente requiere tiempo y memoria. Un posible caso de uso aqu铆 es implementar el prover en un servidor remoto, en una computadora dentro de la misma red o si tiene suficiente memoria, tambi茅n puede ejecutar el prover localmente y ejecutar la demostraci贸n una y otra vez. Pero tenga en cuenta que la implementaci贸n de contratos de Ethereum tambi茅n requiere mucha memoria, por lo que 32 GB podr铆an no ser suficientes para ejecutar ambos en paralelo.

Para ejecutar el prover:

nix run ".#galoisd-devnet" -- serve 0.0.0.0:16657

Para usar un prover donde el TLS no est谩 habilitado:

nix run ".#e2e-setup" -- --galois-url http://myserver.com:1111

Para habilitar el TLS:

nix run ".#e2e-setup" -- --galois-url http://myserver.com:1111 --galois-tls

Tenga en cuenta que incluso si desea ejecutar Galois localmente pero en un punto final diferente, puede proporcionar un punto final local y --circuit-path. El --circuit-path par谩metro es el punto de decisi贸n sobre si ejecutar Galois localmente o no.

Uso de puntos finales personalizados para las redes de desarrollo

Es posible que est茅 ejecutando el devnet en un servidor remoto, puede cambiar las siguientes opciones como desee:

--evm-beacon-rpc-url         Rpc endpoint for the evm beacon chain. (Default: http://localhost:9596)--evm-ws-url                 Websocket endpoint for the evm execution chain (Default: ws://localhost:8546).--union-rpc-url              Rpc endpoint for union (Default: http://localhost:26657).--union-ws-url               Websocket endpoint for union (Default: ws://localhost:26657/websocket).

Correr --help para ver la descripci贸n por ti mismo.

Usando un archivo de configuraci贸n Voyager personalizado

Nuestro Voyager de rel茅 utiliza un archivo de configuraci贸n para los contratos de IBC que se implementan, puntos finales de cadena, etc. En una ejecuci贸n normal, se crea un archivo de configuraci贸n para usted en una ubicaci贸n temporal y esta ubicaci贸n se imprime en la consola una vez que se completa la configuraci贸n, para que pueda usar Voyager manualmente si lo desea.

Para cambiar esta ruta de configuraci贸n, ejecute:

nix run ".#e2e-setup" -- --voyager-config-file /path/to/config.json

Personalizar la configuraci贸n del ping-pong

Nuestros contratos de ping-pong tienen el argumento de tiempo de espera que es el n煤mero de bloques antes ping los tiempos de mensaje fuera. Por defecto, esto es 1000. Para cambiar esto, ejecute:

nix run ".#e2e-setup" -- --ping-pong-timeout 100

Last updated