MINE: MarketPlace de NFT para títulos de propiedad de bienes muebles físicos (vehículos, motos, botes, entre otros).

MINE es una plataforma que permite hacer transacciones sin necesidad de presencia física de los compradores y vendedores en las localidades o países donde se realice la operación, con transacciones de compra/ventas pagadas en criptomonedas, con compras protegidas para el resguardo de la seguridad tanto del comprador como del vendedor.

Esta solución está basada en tecnologías de la Web3, mediante la creación de una DApp desplegada en la Blockchain de Ethereum.

Hecho en conjunto con el GOF5 (Gang of Five) durante el Ethereum Developer Program 2022 de Platzi.

Características

  • Los Usuarios (compradores, vendedores) deben conectar su Wallet para:
    • Registrarse.
    • Autenticarse.
    • Registrar nuevos bienes para la venta.
    • Comprar bienes.
  • Adicionalmente deben tener datos de contacto para negociar bienes y los precios:
    • DNI / Cédula.
    • Nombre.
    • Apellido.
    • Teléfono.
    • Correo electrónico.
  • Habrá una exhibición pública de los bienes. Los observadores también necesitan una Wallet para consultar y ver.
  • Los Bienes serán mostrados por categorías.
  • La moneda para mostrar los precios de los Bienes será US Dollar y la de intercambio oficial será el ETH.
  • Inicialmente estará solamente disponible en Medellín, Colombia.
  • Se asociará una comisión a cada uno de los NFT registrados en la DApp para que cada vez que se transfiera este NFT envíe un porcentaje al propietario del Smart Contract.
  • Se cobrará una comisión por cada venta realizada.

¿Cuál problema soluciona el proyecto?

¿Te ha pasado que quieres comprar o vender un vehículo fuera de tu localidad y no encuentras las personas o herramientas necesarias para poder realizar la transacción?

¿Estás cansado de los Marketplaces en redes sociales que no entregan la información verdadera de lo que buscas, y si ofreces un producto no se le da la suficiente visibilidad?

¿Estás cansado de pagar altas comisiones por transferencias bancarias para pagar bienes?

¿Cómo solucionarlo?

MINE: Una plataforma que permite hacer transacciones sin necesidad de presencia física de los compradores y vendedores en las localidades o países donde se realice la operación, con transacciones de compra/venta pagadas en criptomonedas, con compras protegidas para el resguardo de la seguridad tanto del comprador como del vendedor.

Esta solución está basada en tecnologías de la web3, mediante la creación de una DApp desplegada en la Blockchain de Ethereum.

Impacto para la Sociedad

  • En Latinoamérica no hay un Marketplace de NFT de bienes físicos como este.
  • Ahorro de Tiempo: comprador y vendedor pueden hacer las transacciones sin salir de casa/oficina.
  • Confianza y credibilidad entre las partes: porque los Bienes son auditados por peritos certificados, y estos Peritos pueden ser escogidos por los compradores.
  • No pasar por bancos: evitando así intermediarios.
  • Evitar altos “fees” de grandes transacciones y/o transferencias internacionales.

Valor Agregado respecto a la Web2

  • Descentralización:
    • La lógica de negocios es un Smart Contract.
    • El Frontend del App no puede ser censurado.
    • Los datos no están bajo control de los desarrolladores.
    • La Blockchain donde está desplegado el Smart Contract es Ethereum.
    • El Frontend está construido un de código abierto.
  • Trazabilidad de bienes, transacciones, firmas de involucrados.
  • Transparencia.

Actores

Comprador:

  • Pone el dinero de la compra del Bien.
  • Debe tener los fondos en su Wallet.
  • Paga el impuesto.

Vendedor:

  • Dueño del Bien.
  • Debe cubrir los gastos de la publicación del contrato y minteo (emisión) del NFT, con las características especificadas más adelante.
  • Paga el fee (comisión) del Perito o la certificación.

Peritos / Certificadores:

  • Certificar la validez del Bien, luego podrá venderse.
  • Firma la transacción cuando se cambia el Bien de dueño en el mundo real.
  • Cobrar fee de transacciones.
  • Servicio de creación de documentos digitales: si un producto no tiene título de propiedad, se genera.
  • El perito es el responsable legal de la transacción.

Notario:

  • A nivel físico-legal, realiza el cambio de los documentos.
  • A nivel digital, firma la transacción con su dirección / Wallet.
  • Recibe los impuestos.

Administrador (nuestra Wallet):

  • Cobrar comisiones.
  • Manda a ejecutar transferFrom de la cuenta del comprador a la del vendedor.

Características del NFT

El NFT va a ser una foto del Bien.

Metadata:

  • Descripción, categorías, arreglo de fotos.
  • Aparte de la foto principal, puede haber fotos adicionales (ejemplo: moto, vehículo, bote: desde distintos ángulos).
  • Un apartado de fotos solo visible para el vendedor y el comprador que ya de su visto bueno de intención de compra, y de los peritos, en donde estará el documento de propiedad.

Posibles Problemas

  • Conversión de ETH a USD/COP u otra moneda, y viceversa.
  • NFT duplicados (que se publique el mismo Bien para la venta varias veces).
  • Más de un dueño.
  • Penalizaciones en caso de fraude en las propiedades.

Arquitectura

Planes a Futuro

  • Los bienes solamente podrán ser vendidos siempre que estén verificados por un Perito certificado. Los Peritos deben tener una certificación oficial para ejercer sus funciones, validados por las entidades reguladoras a nivel de la región donde ejerzan sus actividades. Para esto aparecerá una insignia al mostrar el Bien que indique tal condición.
  • Los Peritos serán los encargados de auditar y certificar que los Bienes existan y estén en regla. Sobre ellos recaerá la responsabilidad legal de legitimidad de los Bienes. Podrán interactuar con el sistema usando sus Wallets y ganando una comisión por las compras y las ventas.
  • Compra/venta de bienes inmuebles: propiedades raíz, locales comerciales, entre otros agregando a la Metadata dirección, coordenadas GPS, fotos de exteriores e interiores.
  • Compra/venta de activos virtuales: parcelas en el Metaverso, obras de arte NFT, entre otros. 
  • Compra/venta de Joyas.
  • Subasta de bienes y activos.
  • Expandir la operación a otros países de Latinoamérica.
  • Utilizar como medio de pago Stable Coins cómo Tether(USDT).
  • Fotos adicionales en la Metadata de los Bienes, así como las fotos privadas.
  • Encriptaciones de datos sensibles de los usuarios (PII) almacenados en el IPFS.
  • Mostrar los precios en moneda local (por ejemplo, COP).

Herramientas utilizadas

Frontend

  • ReactJs
  • Web3.js (Wallet connection)
  • Chakra-UI (maquetación)
  • Mocha (testing)
  • HTML
  • CSS
  • JavaScript
  • VS Code (coding & peer programming)

Backend

  • Solidity
  • Hardhat
  • Open Zeppelin
  • Chain.link (integración de tasa cambiaria entre ETH – y USDT)
  • Chai (testing)
  • VS Code (coding & peer programming)

Integraciones

  • Metamask (Wallet + autenticación + Ethereum provider)
  • IPFS / Infura (persistencia de datos)
  • Goerli (testnet)
  • Goerli PoW Faucet (faucet)

Repositorio

Live Demo

Equipo Desarrollador

Eimer Wilfer Castro Hincapié
🔗 https://github.com/ewcastroh

Carlos J. Ramirez
🔗 https://github.com/tomkat-cr

Javier García
🔗 https://github.com/stratoff

José Valentín Salina
🔗 https://github.com/josevsalina

Fidelina Arteaga
🔗 https://github.com/fidelinaarteaga

¿Cómo lo solucionaron en equipo?

Nuestra convocatoria como equipo fue bastante espontánea. Eimer convocó a Carlos, luego ambos convocaron en el canal #General del Discord del reto #EthDevProgram y así aparecieron Javier, José y Fidelina. Finalmente, el grupo adoptó el nombre GOF5 (Gang of Five).

Entre nosotros hay un espíritu de igualdad y se respetan las intervenciones de cada quién. Esto surgió de manera natural desde el principio.

Comenzamos a reunirnos para ver cuáles ideas teníamos. Cada uno expuso su idea, y con mente maestra íbamos agregando detalles y otras cosas que fueron apareciendo.

Dejamos aterrizar la idea un día o dos, y luego se sometió a votación. Nadie hizo presión, ni publicidad, ni lobby. No se compraron votos. No importó tampoco de quién fueron las ideas.

Acordamos comenzar a hacer reuniones diarias para poder alcanzar las metas. Las primeras reuniones duran menos de 1 hora para poner a funcionar la mente maestra y darle forma al proyecto. Luego de establecer el tablero Jira, comenzar a crear y asignar tareas en el Backlog, nos reunimos diariamente en Stand Ups de 15-20 minutos para hacer el seguimiento, viendo que se hizo el día anterior, que se planea hacer el día de hoy y la existencia de algún bloqueo.

Comenzamos a trabajar en el Whitepaper, en reuniones un tanto maratónicas (3-5 horas) pero muy productivas. Delimitamos el proyecto, describimos actores, procedimientos, y sobre todo, la parte conceptual: la historia, el impacto, valor agregado de la Web 3 sobre hacerlo en la Web 2, posibles problemas, marco legal, el pitch, las tecnologías, entre otras cosas.

En un momento dado perdimos la fe en el proyecto, porque llegamos a pensar que no tenía mucho sentido la parte conceptual respecto a las ventajas de la Blockchain vs las aplicaciones actuales de la Web 2.0 y la complejidad de los asuntos legales implicados en el traspaso de bienes, sin embargo, logramos establecer bien el valor agregado que podemos dar solucionando el problema con nuestra plataforma que facilitaría y daría seguridad en la compra/venta de bienes de los usuarios.

En otra sesión maratónica definimos el Pitch Elevator de 90 segundos, la presentación del proyecto, los logos para el Dapp y el grupo, y una maqueta con el diseño de las pantallas.

Ya con la agenda para las próximas 2 semanas más clara, comenzamos a trabajar en equipos para el Frontend, Backend y Operaciones.

Nuestro slogan oficial: “Resolvamos con lo que hay”.

Metodología de trabajo, Seguimiento y Entregables

Establecimos Scrum como metodología de trabajo ágil y Jira como herramienta para hacer el seguimiento.

Establecimos Sprint de 1 semana a partir del 23 de agosto de 2022.

Se hizo en 2 Sprint y al final de cada uno hubo un entregable: