Artículo del Blog

Lo que sucedió en Hack-a-Soroban

Autor

Veronica Irwin

Fecha de publicación

Soroban

Hackaton

Contratos inteligentes

¿Qué hay en un hackathon?

No hay muchos ingenieros que nunca hayan oído hablar de un hackathon. Pero si no estás familiarizado, permítenos presentártelo.

Los hackathons son una herramienta útil para depurar y mejorar el software. Típicamente, equipos de ingenieros trabajan muy duro por un corto período de tiempo — digamos, un par de días, o incluso solo 24 horas — en resolver un problema con tecnología. Los equipos que producen el proyecto más interesante o útil a menudo ganan premios por su trabajo, como dinero en efectivo, cripto o mercancía.

La comunidad de Stellar ha participado en hackathons durante años, desde un hackathon de NFT de 48 horas en SXSW el año pasado hasta una colaboración con HackNYU en 2020. El mes pasado, desarrolladores de la comunidad experimentaron con la nueva plataforma de contratos inteligentes de Stellar, Soroban, antes del lanzamiento del producto en la red principal más adelante este año.

Pero los desarrolladores en Stellar Development Foundation también son parte de la comunidad, con grandes ideas para compartir con el resto de la comunidad. El ecosistema de Soroban se está construyendo de manera abierta, porque nuestro mejor trabajo se hace juntos, no en silos individuales. Además, parte de la magia de blockchain se debe a las brillantes ideas producidas por colaboradores de todo el mundo, unidos por una visión compartida de un sistema financiero más confiable y abierto.

En esa línea, estamos emocionados de compartir con la comunidad algunos de los proyectos creados por los equipos de SDF y Cheesecake. Estos ingenieros trabajaron en estos proyectos con espíritu de colaboración y experimentación con contratos inteligentes de Soroban. Esperamos que los desarrolladores de la comunidad obtengan más inspiración de estos proyectos, se comuniquen para colaborar y construyan herramientas y productos que mejoren estos conceptos.

Los proyectos

En el hackathon, desarrolladores empleados por SDF y en Cheesecake Labs se unieron para construir herramientas de software que demuestran la flexibilidad de los contratos inteligentes y ayudarán a soportar un robusto ecosistema de productos en Soroban. 56 participantes trabajaron juntos en 14 proyectos diferentes a través de 7 zonas horarias, durante una semana, desde el 17 de enero hasta la mañana del 24 de enero. Estamos increíblemente orgullosos de lo que crearon:

Servicio de Nombres de Sorobon

Al igual que el Ethereum Naming Service (ENS), el Servicio de Nombres de Soroban ayuda a los usuarios a asignar nombres a direcciones de internet largas y engorrosas. Sin embargo, a diferencia de ENS, cualquier dominio raíz puede ser asignado - no solo “.eth” o “.xlm”. Utiliza un desplegador para llamar a una función de inicio, que establece qué cuenta fuente se despliega al administrador del dominio raíz. El administrador puede entonces distribuir autorización a otras direcciones para controlar el dominio de nivel 1 (.xlm, .eth, etc.). Un comando de registro luego registra una versión hasheada de la dirección con el propietario.

El contrato inteligente del registro principal, el contrato del desplegador y el diseño de la UI se finalizaron durante el hackathon, mientras que un contrato inteligente de resolución, la integración de la UI con el contrato inteligente del registro y la integración de la billetera aún están en proceso (¡y cualquiera que quiera construir sobre ello para Sorobonathan: Equinox es muy bienvenido a hacerlo!).

Este proyecto fue creado por Thibault de Lacheze-Murel, Alex Cordeiro, Nick Gilbert, Garand Tyson, Gleb Zernov y Jordyn O Cleirigh.

SorobountyDAO

El SorobountyDAO es un contrato inteligente destinado a orquestar el cuerpo de gobernanza de un programa de recompensas para mejorar y construir en Soroban. Permite a los participantes registrarse con una billetera Freighter, hacer una propuesta, votar nuevas propuestas y ver qué propuestas recibieron más votos. Los usuarios con un NFT predeterminado (o múltiples NFTs) tienen permiso para votar, de modo que la participación puede ser restringida a ciertas cuentas.

Este proyecto fue creado por Paul Bellamy, Cassio Marcos Goulart, Anke Liu, Mercedes Madanire, Simon Chow, Ryan Ehrhardt y Marcelo Salloum.

Ingresos Recurrentes

Este contrato permite que los activos sean desplegados a una cuenta receptora en un tiempo de inicio establecido y en una cadencia personalizada. Para demostrar el proyecto, el equipo usó la metáfora de establecer pagos recurrentes para un servicio de streaming en línea. Aunque el remitente debe inicializar el contrato, no necesita gestionar cada pago individual. En su lugar, el contrato los despliega hasta que detienen los pagos. El contrato también permite al receptor invocar una función de retiro en su propio tiempo, y al remitente hacer cambios en la cantidad enviada o la cadencia de los pagos con inmediatez.

Este proyecto fue creado por Sydney Wiseman, Piyal Basu, John Rubisoff, Louisa Bai y Tyler van der Hoeven.

Solidity para Soroban

Soroban fue diseñado para que cualquiera lo use — pero no todos están familiarizados con su lenguaje de programación, Rust. Este equipo diseñó un contrato inteligente que permite a las personas escribir contratos inteligentes de Soroban en Solidity, el lenguaje que fue diseñado para la Ethereum Virtual Machine (y aún el lenguaje más comúnmente usado por los desarrolladores de DeFi). Esto se hizo creando un objetivo de Soroban en Solang, un compilador que actualmente soporta Solana y Substrate (Polkadot) como objetivos. Aunque el proyecto generó solo un soporte limitado para Soroban, esta es una iniciativa clave para hacer Soroban accesible para todos.

El equipo estuvo compuesto por Leigh McCulloch, Graydon Hoare y Jake Urban.

Blackjack de Conocimiento Cero

La transparencia de blockchain tiene muchos beneficios. Pero a veces los usuarios necesitan mantener su información privada, y ahí es donde entran en juego las pruebas de conocimiento cero (ZK). Las pruebas ZK son una forma de demostrar criptográficamente si una entidad, como una billetera, tiene una propiedad sin revelar la propiedad en sí. Típicamente, las pruebas ZK muestran en la blockchain que la información privada es válida para proceder con una operación.

El equipo ganador del hackathon interno de SDF creó una prueba ZK usando Soroban. Aunque Stellar está diseñado principalmente para pagos (no para juegos) el proyecto usó la metáfora de Blackjack para demostrar cómo las pruebas ZK pueden funcionar en Soroban porque, en Blackjack, un jugador debe demostrar que su mano tiene una suma menor a 21 sin mostrar directamente a los otros jugadores sus cartas.

Este proyecto fue creado por Hidenori Shinohara y Jay Geng.

Cuenta de Asignación para Padres

Un grupo de desarrolladores de Cheesecake Labs trabajó en crear cuentas de asignación con Soroban, permitiendo a los padres depositar una suma global en un contrato inteligente que se distribuye en pagos recurrentes regulares a sus hijos. El padre (admin) decide a qué hijos (usuarios) se distribuye el dinero y en qué cadencia. El admin también decide cuánto dinero recibe cada cuenta, lo cual no tiene que ser igual.

Los miembros del equipo fueron Fabricius Zatti, Hectore Zoboli, Daniel Burghardt, Érico Rosiski Weber y Danilo Vieira Teodoro.

NFTs

Los NFTs son un pilar de otras plataformas de contratos inteligentes, como las construidas sobre Ethereum y Solana. Por lo tanto, tiene sentido que este equipo intentara hacer contratos inteligentes para un activo similar en Soroban. El proyecto final pudo llamar a un NFT en un contrato inteligente y agregar una entrada al libro mayor, mintiendo exitosamente un NFT simple del logo de Stellar. Estas capacidades demuestran la viabilidad de acuñar NFTs e incluso construir un mercado de NFTs en Soroban.

Este equipo estuvo formado por Reece Markowsky, Sunny VanLeeuwen y Jesse Chen.

Puerta de enlace IFTTT

“IFTTT" es una plataforma en línea que conecta diferentes sistemas, como Twitter, Dropbox y Google Assistant, a través de acciones automatizadas. Estas acciones permiten que los sistemas trabajen juntos y realicen tareas que no podrían hacer solos. Por ejemplo, IFTTT se puede usar para encender las luces inteligentes de la casa cuando llegas a casa según lo indicado por Google Calendar. El equipo detrás del proyecto ha creado conexiones similares en una red blockchain. Un contrato de ejemplo que crearon involucraba enviar datos, en forma de un poema, a un applet de IFTTT, que luego lo agregaba a un Google Doc.

El proyecto fue desarrollado por Shawn Reuland y Tsachi Herman.

Pagos de E-commerce en Stellar

El concepto de este proyecto era simple y útil: crear una plataforma para que los comerciantes acepten pagos usando Soroban. Esto permitiría a los comerciantes aceptar USD Coin (USDC) de Circle, una moneda digital dólar totalmente reservada. La opción de pago se incluiría junto a opciones como tarjetas de crédito o productos de ‘compra ahora paga después’, y permite a los clientes realizar el pago ingresando su clave pública. Mientras tanto, los comerciantes ahorran en tarifas en comparación con las tarifas de intercambio típicas y otras tarifas de procesamiento de pagos.

El equipo estuvo compuesto por Molly Karcher, Howard Chen, Charles Shin, Jessie Serrino, Bruno Müller, Iveta Lacane y Bri Wylde.

Distribución de Depósitos

Este proyecto se basó en un dApp creado para la conferencia Eth London, solucionando el problema de los asistentes al evento que confirman su asistencia pero no asisten realmente. El contrato recoge depósitos de los asistentes cuando se registran, luego divide los depósitos entre las personas que asisten.

Para hacer el proyecto escalable, los asistentes se almacenaron como claves individuales en el almacén de valores clave de Soroban, en lugar de almacenar un mapa de asistentes como un elemento en el almacén de valores clave. Esto también ayuda a asegurar que los asistentes no puedan depositar fondos dos veces, y que los administradores no puedan depositar fondos. El dinero se retira entonces en lotes, para ahorrar en el costo de desembolso y también aumentar la escalabilidad.

Este proyecto fue creado por Siddharth Suresh, Marta Lokhava y Jeesun Kim.

Soroban starbridge

El Soroban starbridge es un puente entre Ethereum y Stellar usando contratos inteligentes de Soroban y Ethereum en ambos extremos. Permite que los activos se transfieran con cancelación de bloqueo de tiempo, de modo que la transacción solo se pueda ejecutar dentro de un tiempo designado. Los validadores no necesitan estar conectados a una base de datos, y Stellar puede realizar retiros a mayor escala.

Este proyecto fue creado por Alfonso Acosta, Stephen Fung y Tamir Sen.

Soroban Helmcharts

Este proyecto tenía como objetivo crear un helmchart que se pudiera usar para implementar un entorno alojado en k8s para probar cambios de código de Soroban. Esto incluía una red privada aislada con configuración de validador y archivo de historial, configuración/toma de red, un clúster de Horizon con financiación de Friendbot, así como un nodo RPC de Soroban y un nodo observador central para la presentación de transacciones. Aunque el proyecto no se completó, todos los componentes de helm charts están escritos y un gráfico de valores de red estelar padre casi completo está cerca de completarse.

El equipo estuvo formado por Tom Llewellyn-Smith, Jacek Nykis, Satyam Zode y Michael Martinez.

¡La hackatón continúa!

Algunos de estos equipos se han comprometido a continuar trabajando en sus proyectos, desarrollando la funcionalidad de Soroban en preparación para que la plataforma se active más adelante este año. Otros están pasando a otros proyectos que expanden el ecosistema de Soroban. Pero todos ellos han creado trabajo que les encantaría que la comunidad construyera.

Para cada proyecto, se hiperenlaza un repositorio de github o una demostración. Siéntete libre de usar esa documentación como inspiración, o incluso un trampolín para construir proyectos similares, pero aún mejores. Es el momento perfecto para experimentar con Soroban, después de todo:Sorobanathon: Equinoccio está activo y se extiende hasta el 1 de abril. Construye más ejemplos de código o crea un tutorial para tener la oportunidad de ganar desde 25 XLM hasta 10,000 XLM.