Arquitectura

La plataforma jolders se basa en una arquitectura de microservicios, lo que significa que está compuesta por un conjunto de servicios independientes y autónomos que se comunican entre sí mediante APIs (interfaces de programación de aplicaciones). Cada microservicio tiene una función específica en la plataforma y puede ser escalado y actualizado de manera independiente sin afectar a los demás servicios.

Entre los microservicios que intervienen en la plataforma jolders se encuentran:

  • Servicio de emisión de NFTs: este servicio es responsable de la creación y emisión de los NFTs que representan la propiedad de acciones de empresas emergentes. Este servicio utiliza el lenguaje de programación Solidity y el entorno de desarrollo integrado (IDE) Remix para escribir, compilar y desplegar los contratos inteligentes en la cadena de bloques de Binance Smart Chain.

  • Servicio de gestión de regalías: este servicio es responsable de programar las regalías y lealtades asociadas con cada NFT. Utiliza el lenguaje de programación Solidity y el IDE Remix para escribir y desplegar los contratos inteligentes que implementan la lógica de regalías y lealtades.

  • Servicio de autenticación: este servicio es responsable de gestionar la autenticación y autorización de los usuarios en la plataforma. Utiliza el lenguaje de programación Node.js y el framework de autenticación Passport.js para proporcionar un sistema de autenticación seguro y escalable.

  • Servicio de almacenamiento: este servicio es responsable de almacenar y gestionar los datos relacionados con los NFTs y las transacciones en la plataforma. Utiliza una base de datos NoSQL como MongoDB y un lenguaje de programación como JavaScript o Python para interactuar con la base de datos.

Además, la plataforma jolders utiliza herramientas y programas informáticos como el framework de desarrollo web Express.js para construir y desplegar los servicios en la nube, el servicio de gestión de contenedores Docker para empaquetar y desplegar los servicios de manera independiente, y el servicio de orquestación de contenedores Kubernetes para gestionar y escalar los servicios de manera eficiente.

Para adentrarnos en el sistema inteligente de inversión que tiene de base jolders debemos tener claro primeramente los tipos de smart contracts existentes en la actualidad:

  • Smart contracts financieros: Son los contratos más comunes en las cadenas de bloques, y se utilizan para automatizar transacciones financieras como préstamos, pagos y transferencias. Estos contratos utilizan lenguajes de programación específicos como Solidity, y son ejecutados por los nodos de la cadena de bloques.

  • Smart contracts legales: Estos contratos son utilizados para automatizar acuerdos legales, como contratos de arrendamiento, contratos de trabajo, entre otros. En lugar de ser ejecutados en una cadena de bloques, estos contratos se ejecutan en una plataforma descentralizada específica, que ofrece herramientas de automatización para la creación y gestión de contratos legales.

  • Smart contracts de identidad: Estos contratos se utilizan para gestionar identidades digitales en la cadena de bloques. Permiten la creación de identidades únicas, verificables y seguras que pueden ser utilizadas en diferentes aplicaciones descentralizadas.

  • Smart contracts de seguridad: Estos contratos se utilizan para garantizar la seguridad en la cadena de bloques. Pueden ser utilizados para establecer políticas de seguridad, como la autenticación de usuarios y la verificación de transacciones.

Estos smart contracts están asociados a un estándar de token de acuerdo a la blockchain que se utiliza en cuestión. En el caso de jolders son representados bajo la arquitectura de Binance Smart Chain.

Los tokens de Binance Smart Chain (BSC) son tokens que se basan en la cadena de bloques Binance Smart Chain. Existen varios tipos de tokens BSC, los cuales se diferencian por su función y características. Algunos de los tipos de tokens BSC más comunes incluyen:

  • BEP-20: Este es el estándar más común para los tokens en Binance Smart Chain. Estos tokens son compatibles con ERC-20 y se utilizan principalmente para representar activos fungibles, como monedas y tokens de utilidad.

  • BEP-721: Estos tokens se utilizan para representar activos no fungibles, como obras de arte, propiedades y otros activos únicos. Cada token es único y tiene un valor único.

  • BEP-1155: Este estándar permite la creación de tokens fungibles y no fungibles en la misma cadena de bloques. Los tokens fungibles pueden ser intercambiados entre sí, mientras que los tokens no fungibles son únicos y tienen un valor único.

  • BEP-8: Este estándar es utilizado por los tokens de proyectos lanzados en Binance Launchpad. Estos tokens tienen una serie de características especiales, incluyendo un período de bloqueo en la transferencia de tokens y un sistema de quema de tokens.

Cada uno de estos estándares de tokens BSC tiene características específicas y diferentes usos. Los tokens BEP-20 son los más comunes y se utilizan ampliamente en los intercambios y plataformas de comercio de criptomonedas en Binance Smart Chain. Los tokens BEP-721, por otro lado, son ideales para representar activos únicos y no fungibles, como obras de arte digitales. Los tokens BEP-1155 permiten una mayor flexibilidad en la creación de tokens fungibles y no fungibles en la misma cadena de bloques, lo que los hace ideales para aplicaciones que requieren ambos tipos de tokens. Por último, BEP-8 es utilizado por los tokens de proyectos lanzados en Binance Launchpad y tiene características especiales para ayudar a controlar la distribución y la demanda del token.

Jolders fomenta el mercado secundario bajo un sistema de royalties y fidelización el cual ha sido programado bajo un smart contract del tipo BEP-721. Un NFT que establece regalías constantes del 2.5% para el emisor (jolders), 1.5% para la empresa emergente representada en el NFT y 1% para el primer inversor en confiar y apoyar el proyecto.

Debemos tener en cuenta que jolders debe cumplir con las regulaciones y normativas de AML (Anti Lavado), es necesario que nuestro smart contract sea trazable incluso en las reventas del mercado secundario, por lo cual ante cada reventa, el SC (Smart Contract) rebota hacia el emisor (jolders) para su aprobación y solicitud de KYC (Know Your Customer) ante el nuevo inversor.

A continuación daremos un ejemplo básico de nuestro Smart Contract:

El contrato comienza importando las librerías OpenZeppelin necesarias para la implementación de un contrato BEP721 y también la librería SafeMath para manejar operaciones matemáticas de forma segura.

El contrato hereda de la clase ERC721 de OpenZeppelin y define algunas constantes y variables necesarias para el funcionamiento del contrato. Las constantes son las regalías para cada una de las partes involucradas en la venta del NFT. Las variables son los mapeos que asocian el ID del NFT con su creador, sus regalías, el precio de venta, si se necesita aprobación para la venta, la última persona que aprobó la venta, si se requiere KYC y si se ha completado el KYC.

El constructor establece al creador del contrato como propietario del contrato.

La función mint se utiliza para crear un nuevo token y asignar su creador y regalías. Solo el propietario del contrato puede llamar a esta función. El parámetro _to es la dirección del destinatario del token, _tokenId es el ID del token y _royalties es un número entero que representa el porcentaje de regalías para el creador. El parámetro _kycRequired indica si se necesita KYC para este token.

A continuación dejamos la estructura completa del ejemplo para el funcionamiento indicado de jolders:

Última actualización