WEB3DEV Español

Cover image for Aprende a Codear un Sistema de Contrato Inteligente de Reservas de Hotel
Hector
Hector

Posted on

Aprende a Codear un Sistema de Contrato Inteligente de Reservas de Hotel

Este artículo es una traducción de D Sukh, hecha por Héctor Botero. Puedes encontrar el artículo original aquí.
Sería genial escucharte en nuestro Discord, puedes contarnos tus ideas, comentarios, sugerencias y dejarnos saber lo que necesitas.
Si prefieres puedes escribirnos a @web3dev_eshttps://twitter.com/web3dev_es en Twitter.

Image description

La industria del viaje y turismo es una industria global que genera 4 mil millones de dólares y está estimado que crezca un enorme CAGR de 15.5% a 16 mil millones de dólares en el 2031. La reserva del hotel es la primera cosa que hacemos cuando viajamos a cualquier destino. Este aspecto del viaje siempre ha sido hecho, predominantemente, por agentes de viaje que solían hacerlo en un nivel físico y, ahora, lo hacen usando la tecnología a través de las OTAs. Con los intermediarios vienen las comisiones, un peso que ambos los turistas y los hoteles deben manejar. Las pasarelas de pago añaden peso al costo, volviéndose un problema significativamente mayor en el caso de pagos internacionales. Por el otro lado, está el problema de hacer doble reserva, el cual se vuelve una inconveniencia masiva para los turistas. Además, no hay transparencia para la dinámica de los precios, una injusta ventaja que los dueños de los hoteles aprovechan. Los falsos reviews pueden mutar la reputación de los hoteles en línea. Por lo tanto, el turista no tiene una idea certera de la calidad del servicio que el hotel provee.

Un sistema de reservas público y descentralizado basado en el blockchain, puede resolver muchos problemas tanto del lado del dueño del hotel así como del turista.

En la blockchain pública, ya que todo es hecho punto a punto, los intermediarios son removidos, quienes tomaban un ingreso del 20-30%. La otra parte es la posibilidad de hacer doble reservas por los dueños de los hoteles, lo cual se vuelve un problema para el turista pero, eso no es posible en el blockchain. También se vuelve imposible hacer reviews falsos para manipular las calificaciones cuando se hace en el blockchain, ya que sólo los turistas que visitan pueden postear los reviews, y no pueden ser cambiados una vez posteado.

En las siguientes partes, codearemos un contrato inteligente de reserva de hotel.

  1. Creando un Proyecto

Abre tu archivo de código en el terminal VSCode y ejecuta el comando npx hardhat

Una vez que se haya ejecutado exitosamente, la estructura de tu archivo debería verse así:

Image description

  1. Codeando el Contrato Inteligente

Manteniendo la brevedad, voy a ir directamente al grano del Contrato Inteligente vs. el Pragma usual.

2.1 Este contrato inteligente comienza con la declaración de estructuras “Hotel room” y “Customer” los cuales, serán usados para almacenar los datos entrantes.

Image description

2.2 Configurando hotelRooms: para que Contrato Inteligente sepa los diferentes tipos de cuartos y sus detalles relevantes, el owner del Contrato Inteligente debe llamar la siguiente función:

Image description

2.3 Llama la función de arriba en el constructor:

Image description

La idea es que cuando se despliegue el Contrato, las habitaciones del hotel estén configuradas.

2.4 La función payToBook la cual también es una función pagable, sería definida así:

Image description

Como puedes ver, dependiendo de la cantidad de los tokens nativos enviados, mientras se llama a la función, el cuarto apto será reservado llamando a la otra función respectiva.

2.4 Script del Despliegue

Luego, actualizaremos el script del despliegue en la carpeta scripts a lo siguiente:

Image description

  1. Despliega y Prueba

3.1: para los propósitos de nuestra prueba, estaremos creando una red privada de pruebas en BuildBear🐻‍❄️

Te preguntarás, ¿Por qué BuildBear? Veamos aquí:

Lee más en cómo crear una red de pruebas en BuildBear:
https://buildbear.notion.site/Getting-Started-8e561563dd2e410c969874ba3c1684ee

3.2 Actualiza nuestra carpeta de configuración a lo siguiente:

Image description

3.2 Para desplegar nuestro contrato, abre tu terminal y usa el siguiente comando:

npx hardhat run scripts/deploy.js --network buildbear

Esto desplegará el contrato inteligente y obtendrás el siguiente mensaje:

Image description

Una vez hecho, puedes interactuar con el Contrato Inteligente subiendo los Artefactos a la red de pruebas de BuildBear (esto está disponible en la pestaña “Advance” en tu home.buildbear.io, en tu red privada de pruebas. Aquí también puedes leer:

https://www.notion.so/buildbear/Getting-Started-8e561563dd2e410c969874ba3c1684ee#e301e9a3bd6d4dcf9021324e6ad832ed

Image description

Image description
¡Felicidades si lograste hacerlo hasta el final!😊

Para aprender más sobre BuildBear, lee aquí los documentos

Obtén el código de GitHub desde aquí

Si aprecias lo que estamos haciendo, por favor síguenos en Twitter y Únete a nuestro grupo en Telegram si aún no lo has hecho.

Y por favor, danos un aplauso si te gusta nuestro trabajo.

Autor:

Amaresh Sahoo (Twitter || LinkedIn) siempre estoy abierto al feedback y a aprender.

Por cierto, si conoces a alguien que le gustaría estar trabajando con BuildBear, ¡por favor, echa un vistazo aquí!

Discussion (0)