Lanzamiento de la red de pruebas ShimmerEVM
EVM

Empieza a desplegar y explorar ahora
TL;DR:
Como preparación para ShimmerEVM, hoy lanzamos la cadena de pruebas EVM en la Testnet de Shimmer. Esta cadena de pruebas tiene como objetivo mejorar la resistencia y el rendimiento de una cadena pública de contratos inteligentes con múltiples validadores para que todo esté bien probado y pulido para la cadena “real” ShimmerEVM: si se encuentran errores, serán corregidos y por lo tanto mejorará el lanzamiento real.
Hoy nos complace anunciar el lanzamiento de la cadena de prueba ShimmerEVM en la Testnet de Shimmer. La introducción de la cadena EVM en la testnet es un paso más en la expansión del alcance del interoperable y altamente escalable protocolo Shimmer a una comunidad más amplia de usuarios de blockchain y desarrolladores que construyen contratos inteligentes compatibles con EVM.
Empezando por lo que cariñosamente llamamos “Magic Smart Contracts” (que permiten la transferencia nativa de activos sin fisuras ni puentes entre las cadenas Shimmer L1 y EVM, que sientan las bases de la compatibilidad ampliada con EVM) y cubriendo los cambios más importantes en el software del nodo, el siguiente resumen aborda todos los cambios, mejoras y los próximos pasos en la preparación del lanzamiento de ShimmerEVM. El lanzamiento de ShimmerEVM en la red de prueba precede a su muy esperado lanzamiento en la red Shimmer y trae consigo una amplia variedad de nuevas posibilidades y el acceso a características únicas disponibles en el protocolo Shimmer.
Teniendo en cuenta la importancia de ShimmerEVM para los ecosistemas Shimmer e IOTA, y el hecho de que en un futuro próximo se intercambiarán, comercializarán y puentearán tokens por valor de cientos de millones de dólares desde otras redes a la red Shimmer, hemos querido invertir tiempo extra para garantizar la seguridad de la red. Por eso, la refactorización del código base, varias auditorías e incontables horas de pruebas internas fueron cruciales para confiar en la estabilidad y seguridad de la red.
En esta fase de red de pruebas pública, nosotros (junto con nuestra comunidad dedicada y docenas de dApps) seguiremos probando y validando la ShimmerEVM, ayudando a encontrar errores o mejoras que haya que hacer. Esto ayudará a acelerar el lanzamiento de ShimmerEVM en la red Shimmer en producción, por lo que invitamos a todos a participar. Estamos increíblemente entusiasmados con este gran paso en nuestra hoja de ruta y esperamos llevar el poder de los contratos inteligentes a un ledger basado en DAG.
¿Qué ha ocurrido desde la última actualización?
Durante los últimos cuatro meses, el equipo de IOTA Smart Contract ha estado trabajando en la mejora de la primera versión compatible con Shimmer de IOTA Smart Contracts (ISC) en varios frentes, centrándose principalmente en conseguir que el software de nodo esté listo para su uso en una red real con experiencia de desarrollador, fiabilidad, seguridad y capacidad de recuperación a la altura.
Refactorización del consenso
Podría decirse que el mayor cambio en Wasp (nuestra implementación de nodo de contratos inteligentes) desde su último lanzamiento ha sido una importante refactorización de los módulos relacionados con el consenso. Los módulos de consenso consisten en la lógica que permite a un grupo de validadores (el comité) formar un consenso (acuerdo) sin tener que asignar un líder para decidir cuál será la próxima actualización de estado de la cadena de contratos inteligentes.
Esto puede sonar bastante sencillo pero es bastante complicado, cosas como la selección determinista de transacciones del mempool, la sincronización con otros validadores, el orden, la rotación de la cadena, el anclaje de capa 1, la generación de claves distribuidas, la implementación de monedas comunes y llegar a un acuerdo, entre otros muchos detalles. La versión anterior de los módulos de consenso funcionaba pero era bastante difícil de depurar y entender. Evolucionó de la versión Wasp basada en GoShimmer (ejecutándose en el prototipo IOTA 2.0) a la versión Wasp basada en Hornet (ejecutándose en el protocolo Stardust en Shimmer), refactorizando un montón de trazas de las primeras versiones. Para mejorar estos puntos y estar seguros de que estos componentes cruciales funcionan en ShimmerEVM, no podíamos escatimar y hemos dedicado bastante tiempo a una refactorización adecuada.
Búsqueda histórica de estados
Otro cambio importante realizado en el software del nodo es que ahora podemos consultar el estado histórico de los contratos inteligentes y no sólo el estado más reciente. Esto se ha implementado tanto a nivel ISC como EVM y nos permite ejecutar un explorador de bloques adecuado y servicios de indexación en cadenas EVM, algo que antes no era posible.
Para llegar a este punto, tuvimos que pasar de tener un almacén de valores clave que se actualizaba dinámicamente para almacenar el estado de una cadena a un diseño muy diferente en el que el estado se almacena sólo para lectura en un árbol de Merkle disperso. Esto permite un almacenamiento eficiente del estado sin la sobrecarga de tener que hacer un seguimiento del estado completo de cada bloque, lo que aumentaría rápidamente los requisitos de almacenamiento. Este importante cambio ha llevado su tiempo, pero es muy necesario dado que una cadena de contratos inteligentes sin un explorador de bloques adecuado no es lo suficientemente transparente como para ser útil.
Funcionalidad EVM ampliada
La compatibilidad con EVM también ha recibido una buena actualización centrada en añadir una cómoda compatibilidad para utilizar activos nativos Shimmer de L1 en una cadena EVM como si fueran tokens ERC20 (para activos nativos) o NFT ERC721 (para NFT de L1). Hemos implementado varios contratos de interconexión que le permiten utilizar activos nativos depositados en una cadena directamente dentro de EVM sin perder la flexibilidad de transferir sin problemas esos activos de nuevo a L1 si lo desea. Esto elimina la necesidad de puentes personalizados dentro del ecosistema Shimmer.
La documentación proporciona los detalles necesarios para utilizar esta nueva funcionalidad, pero para resumir:
- Ahora soportamos la transferencia del token SMR como si fuera el token nativo de la cadena EVM, y proporcionamos un ERC20 envuelto (wraped token) de esto también para mayor comodidad.
- Ofrecemos contratos de interfaz para activos nativos representados como un token ERC20 en la cadena EVM, NFT individuales como ERC721, y colecciones de NFT también como contratos de colección ERC721 sin tener que escribir y desplegar estos contratos usted mismo.
- Esto se suma a lo que llamamos la funcionalidad mágica de EVM, que, como la aleatoriedad nativa y la interacción con ISC/L1, ya hemos ofrecido anteriormente.
- En las próximas semanas introduciremos más mejoras en la experiencia de los desarrolladores con esta funcionalidad.
Una API totalmente nueva, utilizada por un nuevo cuadro de mandos y una implementación CLI
Esta última versión también introduce una nueva API que utiliza el estándar de especificación OpenAPI. Esto nos permite automatizar completamente la generación de documentación para la API y sus bibliotecas cliente en casi todos los lenguajes de programación imaginables. Con esta nueva API, introducimos un sustituto más versátil, compatible con los estándares y coherente de la versión anterior. Además, la API admite nuevas funciones, como la llamada directa a vistas de llamada de contratos inteligentes a través de la API, la gestión de usuarios y la gestión de nodos/pares.
Para dar cabida a la nueva API hemos hecho un tablero completamente nuevo para Wasp que se ejecuta de forma independiente junto a Wasp y que ahora viene como una imagen opcional. Junto con un aspecto nuevo y mejorado, hemos añadido más funcionalidades como la recién introducida gestión de usuarios, y la gestión de peers y nodos de acceso.
La herramienta CLI también ha tenido un cambio de imagen, utilizando la nueva API y las librerías cliente generadas con mayor comodidad. Todavía estamos introduciendo algunas mejoras en esta herramienta para facilitar aún más la gestión de nodos: puedes esperar esta actualización durante las próximas semanas.
Teniendo en cuenta lo entrelazados que estaban la API, la CLI y el panel de control en la versión anterior, estos cambios han sido considerables. Se ha tocado mucho código para llegar a este punto y, como primera versión, esperamos que se produzcan algunos problemas nuevos al utilizar la CLI o la API. Seguiremos mejorando estas nuevas herramientas en las próximas semanas y esperamos tus comentarios para mejorarlas aún más. Por favor, abre una nueva incidencia en GitHub si encuentras algo que podamos mejorar.
Fiabilidad, compatibilidad y recuperabilidad
En los últimos meses, hemos colaborado estrechamente con el equipo de Hornet (llegando incluso a adoptar a un miembro del equipo de Hornet) para aplicar en Wasp lo aprendido en la creación y el mantenimiento de Hornet. Gracias a ello, hemos podido mejorar sustancialmente nuestra base de código y, al mismo tiempo, trabajar hacia una base de código más compartida entre equipos utilizando Hive.go para la funcionalidad solapada. También se añadió al proyecto node-docker-setup el soporte para ejecutar un nodo Wasp de producción utilizando Docker con una configuración Hornet local y todas las herramientas adicionales que puedas necesitar, haciendo que sea muy fácil configurar una buena infraestructura de nodos.
Además de esto, hemos trabajado en muchas mejoras en todo el código para mejorar la experiencia general, que van desde pequeñas correcciones de usabilidad en la herramienta Wasp CLI a muchas más pruebas automatizadas para garantizar una experiencia consistente durante el uso de ISC. Además de las pruebas automatizadas, también probamos manualmente Wasp durante varios ejercicios en equipo, ejecutando y gestionando nuestra propia cadena de pruebas y permitiendo a los proyectos de la comunidad echar un vistazo y darnos su opinión sobre a qué deberíamos prestar más atención. Todavía hay muchas cosas que podemos mejorar, pero ya hemos dado pasos de gigante y esperamos recibir pronto más comentarios de tu experiencia con esta nueva Shimmer Testnet.
Cómo utilizar la nueva red de pruebas
La forma más sencilla de empezar es conectarse a nuestra infraestructura pública de nodos a través de Metamask. Puedes utilizar el EVM Toolkit para añadir la testnet a tu configuración de Metamask con solo pulsar un botón, solicitar algunos SMR de la testnet a través del Faucet y empezar a interactuar con cualquier dApp desplegada – ¡o desplegar la tuya propia!
Detalles de la cadena
Nombre de la red: ShimmerEVM Testnet
Punto final JSON-RPC: https://json-rpc.evm.testnet.shimmer.network/
Punto final Websocket JSON-RPC: wss://ws.json-rpc.evm.testnet.shimmer.network/
URL del explorador: https://explorer.evm.testnet.shimmer.network/
ID de cadena: 1071
Nombre del token: SMR
Puede supervisar la cadena utilizando el explorador de bloques. Durante las próximas semanas, varios proyectos de la comunidad promocionarán su trabajo y presentarán emocionantes ejercicios de prueba que demostrarán lo que se puede hacer en ShimmerEVM, permitiéndote experimentar y obtener una vista previa de lo que está por venir. Pronto publicaremos más información al respecto.
Ofrecemos un servicio de faucet para varios tokens puente simulados comunes (fETH, fBTC, fUSDT, etc.) en la testnet, que te permite experimentar con estos activos. Animamos a las dApps a utilizar estos tokens en lugar de sus propios tokens puente simulados, ya que esto garantizará la compatibilidad y la interoperabilidad entre diferentes aplicaciones sin necesidad de un intercambio. El grifo de tokens simulados ERC20 puede encontrarse aquí.
La red de pruebas ShimmerEVM está conectada a la red de pruebas Shimmer, así que asegúrate de utilizar la última versión BETA del monedero Shimmer Firefly si planeas interactuar con la funcionalidad L1. Puedes encontrar más información aquí.
¿Y ahora qué?
Queremos que los desarrolladores de nuestra comunidad empiecen a desplegar sus increíbles proyectos y a trabajar con la comunidad para poner a prueba nuestra red de pruebas. Los comentarios y la información que obtengamos son cruciales para llegar a un punto en el que podamos estar seguros de lanzar ShimmerEVM.
Paralelamente a este esfuerzo, seguimos trabajando en varias mejoras que se irán implementando mientras dure la fase de pruebas, entre las que se incluyen:
- Más mejoras en el Wasp-CLI que lo hacen más fácil de usar para cualquiera que gestione o desarrolle en una cadena.
- Correcciones de rendimiento.
- Más mejoras en la fiabilidad y recuperabilidad de las cadenas.
- Documentación mejorada.
- Más flexibilidad en la gestión de las cadenas.
Lo que pueda surgir de las pruebas y ¡mucho más!
Post Original: https://blog.shimmer.network/shimmerevm-testnet-launch/