Saltar a contenido

Solana LadyBugs

Nombre del proyecto: Solana LadyBugs🔗

Elasbit

Cliente:🔗
Elasbit
Rol:🔗
Desarrollador Blockchain | Desarrollador backend

Enero, 2022 – Mayo, 2022

La Habana, Cuba

Elasbit es una empresa chilena que tuvo la idea de crear una colección de NFTs y algunos juegos basados en esta colección. La idea básica era vender los NFTs a usuarios y dar recompensas especiales en los juegos a los dueños de los NFTs. El cliente ya tenía la solución para mintear los NFTs usando Metaplex pero no tenía los smart contracts necesarios para los juegos. Usando mi experiencia en Rust, smart contracts y blockchain fui capaz de aprender rápidamente sobre la blockchain de Solana y crear el smart contract para los juegos. Revisé decenas de smart contracts desplegados en Solana y esto me ayudó a aprender sobre patrones comunes de arquitectura, estos patrones fueron aplicados al smart contract implementado mejorando el rendimiento, la legibilidad, la calidad del código, la genericidad, la confianza del usuario y la seguridad.

Logros técnicos🔗

  • Propuse el uso de técnicas criptográficas (p. ej. salting de contraseñas) para almacenar los datos del usuario en el smart contract mejorando la seguridad.
  • Diseñé, en coordinación con el Product Manager, el smart contract.
  • Implementé y desplegué el contrato inteligente usando Rust.
  • Diseñé e implementé una state machine para el smart contract para garantizar un flujo de información correcto mejorando la seguridad.
  • Implementé una técnica para serializar números de punto flotante en Anchor, ayudando a añadir nuevas funcionalidades al smart contract.
  • Probé el smart contract para garantizar la corrección de la solución.
  • Participé en sesiones de programación en pareja con compañeros para corregir bugs o revisar código, mejorando la calidad y legibilidad del código.
  • Implementé una función AWS Lambda, usando Python, para consultar la blockchain y conocer los diferentes estados de las transacciones enviadas.
  • Usé funciones AWS Lambda para implementar las funcionalidades del backend.
  • Diseñé, implementé y probé las state machines del frontend usando XState, Node.js (Typescript), Mocha y Chai. Garantizando un flujo de información correcto en el frontend, mejorando la calidad y legibilidad del código, mejorando la seguridad y ayudando a separar la lógica del frontend de los componentes.
  • Ayudé a diseñar las state machines del frontend para obtener una representación visual del flujo de información del frontend.
  • Usé el patrón de actor model en las state machines del frontend mejorando la calidad del código.
  • Investigué sobre Solend (plataforma de lending/borrow en Solana) y Jupiter (plataforma agregadora de swaps en Solana) y cómo usar sus APIs.
  • Corregí AWS Step Functions usando Serverless Framework.
  • Usé el modelo de branching de git flow para obtener una mejor organización en el desarrollo del proyecto.
  • Propuse una arquitectura trustless para el smart contract usando incentivos económicos, ayudando a eliminar la confianza del usuario en el backend.
  • Ayudé a integrar los servicios frontend y backend usando el patrón de subscription.
  • Integré el backend con el smart contract.

Logros personales🔗

  • Asistí a reuniones diarias con el equipo para coordinar tareas y encontrar problemas potenciales en el desarrollo de la solución.
  • Asistí a reuniones con el Product Manager para proponer o definir las funcionalidades (mejoras a funcionalidades) del smart contract.
  • Compartí conocimiento sobre blockchain con otros desarrolladores para ayudarles a construir la solución.
  • Introduje la solución del sistema a los nuevos miembros del equipo incorporándolos en menos de tres días.
  • Ayudé a instalar los frameworks/librerías/herramientas necesarios a los nuevos miembros del equipo aumentando la velocidad de incorporación de los nuevos compañeros al proyecto.
  • Expliqué el código/implementación de la solución a los nuevos miembros del equipo aumentando la velocidad de incorporación de los nuevos compañeros al proyecto.
  • Pedí ayuda a otros desarrolladores más experimentados para resolver problemas difíciles en mi implementación/código.

Otros miembros del equipo:

Stack:
Solana, Amazon Web Services (AWS), Python, TypeScript, Rust, Anchor Framework, Serverless Framework, XState, React, BitBucket, GraphQL, Boto3, GQL (GraphQL client), AnchorPy, PyTest, Node.js, Mocha, Chai, Solana Web3.
keywords:
Blockchain, Criptografía, Criptografía Asimétrica, AWS Lambda Functions, AWS Step Functions, AWS AppSync, State Machines, AWS DynamoDB, AWS CloudFormation, Hash, Cifrado Asimétrico, AWS ApiGateway, WebSockets.