WEB3DEV

Cover image for Aprenda a Codificar um Contrato Inteligente de Sistema de Reserva de Hotel Descentralizado
Panegali
Panegali

Posted on

Aprenda a Codificar um Contrato Inteligente de Sistema de Reserva de Hotel Descentralizado

A indústria de viagens e turismo é uma indústria de 4 bilhões de dólares em todo o mundo e estima-se que cresça em um CAGR (Compound Annual Growth Rate ou taxa de crescimento anual composto) enorme de 15,5% para 16 bilhões de dólares até 2031. Reservar um hotel é a primeira coisa que fazemos quando viajamos para qualquer destino. Este aspecto da viagem sempre foi feito predominantemente por agentes de viagens, que costumavam fazê-lo em nível físico e agora o fazem usando tecnologia por meio das OTAs (online travel agencies ou agência de viagens online). Com os intermediários vêm as comissões, um fardo que o turista e os hotéis têm de suportar. Os gateways de pagamento (é o sistema responsável por conectar e transferir de forma rápida e segura os dados entre um usuário e instituições financeiras no ambiente virtual) aumentam a carga de custos, tornando-se um problema mais significativo no caso de pagamentos internacionais. O outro lado disso é a questão da reserva dupla, que se torna um grande inconveniente para os turistas. Além disso, não há transparência na precificação dinâmica, uma vantagem injusta que os proprietários de hotéis obtêm. Avaliações falsas podem alterar a reputação dos hotéis online. Assim, o turista não tem uma ideia precisa da qualidade do serviço que o hotel está oferecendo.

Um sistema de reserva de hotel público descentralizado baseado em Blockchain pode resolver muitos problemas, tanto do lado do proprietário do hotel quanto do turista.

Em uma blockchain pública, como tudo é feito ponto a ponto, os intermediários são removidos, que costumavam cortar a receita dos proprietários do hotel em 20 a 30%. A outra parte é a possibilidade de reservas duplas feitas pelos proprietários de hotéis, o que se torna um problema para os turistas, mas não será possível em uma Blockchain. Também se torna impossível postar avaliações falsas ou manipular classificações quando isso é feito na Blockchain, pois apenas turistas visitantes podem postar as avaliações e elas não podem ser alteradas depois de publicadas.

Nas seções a seguir, codificaremos um contrato inteligente de reserva de hotel.

Criando um projeto

Abra sua pasta de codificação no Terminal VSCode e execute o comando npx hardhat

Uma vez executado corretamente, sua estrutura de pastas deve se parecer com a seguinte:

1

Estrutura de pastas do código VS

Codificando o Contrato Inteligente

Mantendo a brevidade em mente, vou mergulhar direto no cerne do Contrato Inteligente versus o Pragma usual e outras coisas.

  • Este contrato inteligente começa com a declaração das estruturas “Quarto de hotel” e “Cliente” que serão usadas para armazenar os dados recebidos.

2

  • Configurando o hotelRooms: para que o Contrato Inteligente conheça os diferentes tipos de quartos e seus detalhes relacionados, o owner do contrato inteligente chamará a seguinte função:

3

  • Chamando a função acima no construtor

4

A ideia é que na implantação do Contrato sejam definidos Quartos de Hotel adequados.

  • A função payToBook que também é uma função pagável e seria definida da seguinte forma:

5

Como você pode ver acima, dependendo da quantidade de tokens nativos enviados ao chamar a função payToBook, o quarto apartamento será reservado chamando outra respectiva função.

  • Script de Implantação

Em seguida, atualizaremos o script de implantação na pasta scripts para o seguinte:

6

Implantação e Teste

  • Para o propósito de nossos testes, criaremos uma rede de teste privada no BuildBear

Por quê BuildBear, você pergunta? Dê uma olhada aqui:

Where Localhost Fails (Onde o Localhost falha) e

Win Web3 Hackathons, using BuildBear Testnet's analytics (Vença Hackathons Web3, usando a análise da rede de teste do BuildBear)

Leia aqui como criar uma rede de testes no BuildBear → https://buildbear.notion.site/Getting-Started-8e561563dd2e410c969874ba3c1684ee

  • Atualizando nosso arquivo de configuração para o seguinte:

10

  • Para implantar nosso contrato, abra seu terminal e use o seguinte comando:
npx hardhat run scripts/deploy.js --network buildbear
Enter fullscreen mode Exit fullscreen mode

Isso implantará o contrato inteligente e você receberá a seguinte mensagem:

7

Uma vez feito isso, você pode interagir com o Contrato Inteligente fazendo o upload dos Artefatos para a rede de teste do Buildbear (isso está disponível na guia “Advance” em home.buildbear.io, sua rede de teste privada (leia aqui também: https://www.notion.so /buildbear/Getting-Started-8e561563dd2e410c969874ba3c1684ee#e301e9a3bd6d4dcf9021324e6ad832ed )):

8

9

Parabéns! Se você conseguiu chegar até o final.

Para saber mais sobre BuildBear, leia aqui os documentos

Obtenha aqui o código Github acima.

Se você aprecia o que estamos fazendo, siga-nos no Twitter e participe do grupo do Telegram, caso ainda não o tenha feito.

E por favor, nos aplauda se você gosta do nosso trabalho.

Autor: Amaresh Sahoo (Twitter e LinkedIn) está sempre aberto a feedback e aprendizado.

Por falar nisso, se você conhece alguém que gostaria de trabalhar com BuildBear. Por favor, dê uma olhada aqui!


Artigo escrito por D Sukh e traduzido por Marcelo Panegali

Top comments (0)