学习如何编写去中心化酒店预订系统的智能合约

  • BuildBear
  • 发布于 2022-11-15 23:39
  • 阅读 35

本文探讨了基于区块链的酒店预订系统如何解决传统旅游行业中的许多问题,包括高昂的中介费用、双重预订、虚假评价等。文章详细介绍了如何使用智能合约进行项目创建、编码及部署,包含代码片段和结构说明。

旅游业是一个全球价值4000亿美元的行业,预计到2031年将以每年15.5%的惊人复合年增长率增长至16000亿美元。我们在前往任何目的地旅行时,第一件事就是预订酒店。这个旅行的环节历来主要由旅行社负责,他们过去主要通过实体渠道进行,现在则利用OTAs(在线旅行代理商)进行操作。中介的介入带来了佣金费用,这是旅游者和酒店都必须承受的负担。支付网关增加了成本负担,在国际支付的情况下甚至显得更加严重。其反面是重复预订的问题,这对游客来说是一个巨大的不便。此外,动态定价的信息不透明,给酒店业主带来了不公平的优势。虚假的评论可能会扭曲酒店在网上的声誉。因此,游客无法准确了解酒店提供的服务质量。

基于去中心化公共区块链的酒店预订系统可以解决很多酒店业主和游客面临的问题。

在公共区块链上,由于所有操作都是点对点进行的,去除了曾经削弱酒店业主20-30%收入的中介。另一部分是酒店业主可能存在的重复预订问题,这对游客来说是个问题,但在区块链上则无法发生。当操作在区块链上进行时,发布虚假评论或操控评分也变得不可能,因为只有前来的游客才能发布评论,并且一旦发布就不能更改。

在接下来的部分,我们将编码一个酒店预订智能合约。

  1. 创建项目

在VSCode终端中打开你的编码文件夹,运行命令 npx hardhat

一旦正确执行,你的文件夹结构应如下所示:

VS Code文件夹结构

2. 编写智能合约代码

考虑到简洁性,我将直接进入智能合约的核心部分,而不是通常的Pragma等内容。

2.1. 这个智能合约首先声明“酒店房间”和“客户”结构,用于存储传入的数据。

2.2 设置酒店房间:为了让智能合约了解不同类型房间及其相关细节,智能合约的 owner 将调用以下函数:

2.3 在构造函数中调用上述函数

目的是在合约部署时设置适当的酒店房间。

2.4 payToBook 函数也是一个可支付函数,其定义如下:

正如你从上面看到的,取决于在调用 payToBook 函数时发送的原生代币的数量,适当的房间将通过调用其他相应函数进行预订。

2.4 部署脚本

接下来,我们将在 scripts 文件夹中更新部署脚本为以下内容:

3. 部署及测试

3.1: 为了测试的目的,我们将创建一个私有测试网在 BuildBear 🐻‍❄️

你问为什么选择BuildBear?请看这里:

本地主机失效时

使用 BuildBear 测试网的分析赢得 Web3 黑客马拉松

阅读这里了解如何在 BuildBear 上创建测试网 → https://buildbear.notion.site/Getting-Started-8e561563dd2e410c969874ba3c1684ee

3.2 更新我们的配置文件为以下内容:

3.2 要部署我们的合约,打开终端并使用以下命令:

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

这将部署智能合约,你将收到以下信息:

完成后,你可以通过将工件上传到BuildBear测试网来与智能合约进行交互(这在你的 home.buildbear.io的“高级”选项卡中可用,在你的私有测试网上 {也可以阅读这里: https://www.notion.so/buildbear/Getting-Started-8e561563dd2e410c969874ba3c1684ee#e301e9a3bd6d4dcf9021324e6ad832ed}):

恭喜!!! 如果你能够坚持到最后 😊

要了解更多关于 BuildBear 的信息,阅读这里 docs

这里 获取上述 Github 代码

作者: Amaresh Sahoo ( Twitter || LinkedIn) 始终欢迎反馈和学习。

顺便提一句,如果你知道任何希望与 BuildBear 合作的人,请查看 这里!!!

  • 原文链接: medium.com/buildbear/lea...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
BuildBear
BuildBear
https://medium.com/buildbear