Migrar una dapp a una red diferente

Para migrar una dApp de una red a otra dentro del ecosistema Archway, básicamente tendrías que:

  • Asegúrate de que tu dapp es compatible con la nueva cadena. Puedes obtener detalles sobre cualquier cambio de última hora en el historial de actualizaciones de la cadena.

  • Modificar potencialmente el código del contrato inteligente. Por ejemplo, para tener en cuenta cualquier cambio de última hora o actualizar las direcciones de los contratos inteligentes.

  • Actualice su utillaje.

  • Almacenar e instanciar el contrato inteligente en la nueva red.

  • Migrar el estado del contrato inteligente.

Comprobacion de compatibilidad y ajustes

Puede ser necesario realizar cambios en el código al migrar tu dApp a una nueva cadena Archway debido a diferentes factores. Puedes obtener detalles sobre cualquier cambio que haya podido afectar a tu dapp en el historial de actualizaciones de la cadena.

Algunos ejemplos de cambios que pueden haber afectado a tu dapp son:

  • Parámetros específicos de la red: La nueva red puede tener configuraciones o parámetros diferentes a los de la antigua. Esto puede incluir cambios en el tiempo de bloqueo, los costes de transacción, los límites de gas o los parámetros de apuesta.

  • Interacciones de contratos inteligentes: Si sus contratos inteligentes interactúan con otros contratos ya desplegados en la red, las direcciones de esos contratos podrían cambiar en la nueva red, lo que requeriría ajustes en el código de sus contratos. Cambios de protocolo o API: La nueva red puede tener versiones actualizadas del SDK de Cosmos o CosmWasm, con cambios o mejoras en las APIs, estructuras de datos o comportamiento del protocolo que podrían requerir modificaciones en el código de tus contratos o dApps.

Si has notado algún cambio de última hora, debes asegurarte de actualizar el código de los contratos inteligentes en consecuencia.

Actualizando contratos inteligentes

Si tu contrato inteligente necesita interactuar con otros contratos inteligentes, necesitas asegurarte de especificar las direcciones correctas de los contratos inteligentes. A medida que la red cambia, también lo hacen las direcciones de cada contrato inteligente (ya que necesita ser redistribuido).

Es posible que tenga que realizar ajustes en el código de los contratos inteligentes para interactuar con las nuevas direcciones de los contratos.

Actualice las herramienta que esta usando la version correcta

En primer lugar, asegúrese de que la herramienta que utiliza está actualizada a la última versión. Así dispondrá de las últimas funciones, incluidas las necesarias para la migración.

Por ejemplo, si utiliza el cli de desarrollador, puede abrir el intérprete de comandos de terminal dentro de la carpeta correspondiente e iniciarlo:

npm install -g @archwayhq/cli

o

/npm update -g @archwayhq/cli

Vuelve a desplegar tu app en la nueva red

Asegúrate de consultar nuestras guías para obtener instrucciones paso a paso. Dependiendo de si necesitabas realizar algún cambio en el código de tu contrato inteligente, puede que necesites reconstruir el proyecto.

Migrar el estado del contrato

La migración de estado se refiere a la transferencia del estado (datos) de los contratos inteligentes de la red antigua a la nueva. Puedes realizar una migración de estado a través de un script que lea el estado de los contratos antiguos y luego llame a los métodos apropiados en los nuevos contratos para replicar el estado.

El proceso de migración de estado consiste en tres pasos principales:

Extracción del estado: En primer lugar, extrae el estado de los contratos existentes en la red desde la que estás migrando. Este proceso dependerá del diseño de tus contratos inteligentes. Puede que necesites llamar a ciertos métodos de consulta para recuperar todos los datos de estado necesarios.

Transformación del estado: Dependiendo de las diferencias entre la red antigua y la nueva o de los cambios en tu contrato, puede que necesites transformar los datos de estado. Este paso incluye procesos como la conversión de datos, la asignación a nuevas estructuras de datos o la aplicación de reglas específicas de manipulación de datos.

Inyección de estado: Una vez preparados correctamente los datos de estado, el siguiente paso es inyectarlos en los nuevos contratos de la nueva red. Este proceso implica llamar a métodos específicos en los nuevos contratos que aceptan datos de estado y los almacenan. Estos métodos deben estar diseñados para rellenar correctamente el estado del contrato a partir de los datos entrantes.

Last updated