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:
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.
- 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:
- Chamando a função acima no construtor
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:
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:
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:
- Para implantar nosso contrato, abra seu terminal e use o seguinte comando:
npx hardhat run scripts/deploy.js --network buildbear
Isso implantará o contrato inteligente e você receberá a seguinte mensagem:
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 )):
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
Latest comments (0)