Trang 1 YSC5.F019BUGHOUSE - ỨNG DỤNG QUẢN LÝ HỢP ĐÒNG THÔNG MINH CHO CÁC DỊCH VỤ CHO THUÊ PHÒNG DựA TRÊN KỸ THUẬT BLOCKCHAINTÔN LONG PHƯỚC1’, VÕ THỊ TRÀ GIANG1,ĐỒNNGỌC QUỐCBẢO1}Khoa Cơng
Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH YSC5.F019 BUGHOUSE - ỨNG DỤNG QUẢN LÝ HỢP ĐÒNG THÔNG MINH CHO CÁC DỊCH VỤ CHO THUÊ PHÒNG DựA TRÊN KỸ THUẬT BLOCKCHAIN TÔN LONG PHƯỚC1’, VÕ THỊ TRÀ GIANG1, ĐOÀN NGỌC QUỐC BẢO1 }Khoa Công nghệ Thông tin, TrườngĐại học Công nghiệp Thành phổ Hồ Chỉ Minh tonlongphuoc@iuh edu vn Tóm tắt Với sự gia tăng số lượng sinh viên, người lao động từ các tỉnh tập trung tại các đô thị lớn để học tập và làm việc Nhu cầu tìm trọ gần hường, gần chỗ làm việc đúng yêu cầu, an ninh đảm bảo vẫn là bài toán khó Ngoài ra, các hợp đồng thuê trọ hiện nay cũng chưa được quản lý nhằm bảo vệ quyền lợi người thuê cũng như người cho thuê Để giải quyết bài toán này, chúng tôi đề xuất công cụ có tên là BUGHOUSE Công cụ BUGHOUSE là một ứng dụng cho phép người dùng tìm kiếm, quản lý phòng họ hên nền tảng Blockchain sử dụng cơ chế của hợp đồng thông minh (smart conhact) để minh bạch tất cả giao dịch Qua đó các giao dịch dựa hên các thỏa thuận hợp đồng từ hước, sẽ được tự động hóa quá hình chuyển nhận tài chính và lưu hữ thông tin giao dịch Chúng tôi chọn công nghệ NodeJs cho Back-end, ReactJs cho Front end nền tảng Web Với nền tảng di động, chúng tôi chọn React-Native Ngoài ra hệ thống của chúng tôi được triển khai trên các nền tảng điện toán đám mây, tích hợp các dịch vụ Render của AWS Hiện, công cụ được triển khai thử nghiệm cho thị hường tại TP.HCM Trong tương lai, chúng tôi sẽ mở rộng phạm vi ứng dụng đồng thời quảng bá công cụ đến người dùng Từ khóa, ứng dụng thuê trọ, NodeJS, Hợp đồng thông minh, Chuỗi khối, Điện toán đám mây, AWS BUGHOUSE- A BLOCKCHAIN-BASE SMART CONTRACT APPLICATION FOR TRANSPARENT ROOM RENTAL MANAGER Abstract The large number of students and workers from the provinces who gather in big cities to study and work is increasing Therefore, the need to find accommodation near the school, near die required workplace, and ensure security is still a difficult problem In addition, the current rental conhacts have not been managed to protect the interests of tenants as well as lessors To solve this problem, we propose a tool called BUGHOUSE BUGHOUSE is an application that allows users to search and manage accommodations on the Blockchain platform using the mechanism of smart contracts to make all transactions transparent Thereby, transactions based on pre-existing contractual agreements will automate die process of financial transfer and storage of transaction information We choose NodeJs technology for Back-end, and ReactJs for Front-end for Web For the mobile platform, we choose React-Native In addition, our system is deployed on cloud computing platforms, integrating AWS Render services It is also piloted for the market in Ho Chi Minh City In the future, we will expand the scope of die application while promoting die tool to users Keywords Rental House Application, NodeJS, Smart Contract, Blockchain, Cloud Computing, AWS 1 GIỚI THIỆU TÔNG QUAN Trong bối cảnh TP.HCM đang trở thành một thành phố lớn với nhu cầu tìm kiếm chỗ ở ngày càng tăng cao, các vấn đề liên quan đến việc thuê nhà trở thành một thách thức đối với sinh viên và người đi làm mới đến thành phố Các yêu cầu cơ bản như chất lượng sống, giá cả phù hợp và an ninh đòi hỏi người tìm nhà phải đối mặt với nhiều khó khăn Ngoài ra, việc sử dụng các hợp đồng thuê truyền thống cũng mang theo nhiều rủi ro cho cả người thuê và người cho thuê Các hợp đồng này có thể không rõ ràng về điều khoản, gặp sai sót trong quá trình tạo hợp 220 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH đồng và thường có thời hạn dài, gây khó khăn khi muốn thay đổi điều khoản hoặc chấm dứt hợp đồng Để đảm bảo tính công minh, việc có sự giám sát từ bên thứ ba là cần thiết Người cho thuê cũng đối mặt với nhiều khó khăn trong việc quản lý nhà họ Việc tìm kiếm và thu hút khách hàng tiềm năng là một nhiệm vụ khó khăn do sự cạnh tranh cao trong ngành cho thuê trọ tại các thành phố lớn Quản lý nhiều phòng và các dịch vụ đi kèm cũng tạo ra rủi ro sai sót Hơn nữa, việc quản lý hoá đơn hàng tháng cũng gặp nhiều hạn chế và cần được chú trọng Sự minh bạch trong các giao dịch giữa người thuê và người cho thuê là cần thiết để đảm bảo tính công bằng cho cả hai bên Đe giải quyết các vấn đề này, chúng tôi đề xuất ứng dụng Bughouse - một phần mềm quản lý dịch vụ thuê phòng tiện ích được xây dựng dựa hên công nghệ Blockchain Hệ thống sẽ được hiển khai trên cả hai nền tảng website và ứng dụng di động nhằm có thể đáp ứng các nhu cầu của người dùng một cách tốt nhất Với giao diện thân thiện dễ dàng sử dụng, chúng tôi hiển thị danh sách phòng cùng với các thông tin như tên phòng, mô tả, giá tiền, địa chỉ, để thuận tiện cho người dùng tìm kiếm được phòng phù hợp với nhu cầu Công nghệ Blockchain mang lại nhiều lợi ích quan trọng trong quản lý giao dịch Blockchain là một hệ thống phân tán và không thể thay đổi, trong đó mọi giao dịch và thông tin được lưu trữ trong các khối liên kết an toàn và minh bạch Hiện nay, Blockchain đã trở thành một công nghệ phổ biến và được áp dụng trong nhiều lĩnh vực quản lý giao dịch với những ưu điểm đáng kể [1] Tính minh bạch là một ưu điểm chính của Blockchain Các giao dịch trên Blockchain được lưu hữ trong các khối liên kết và không thể thay đổi, tạo ra một bản sao chính xác và công khai của toàn bộ lịch sử giao dịch Điều này đảm bảo tính minh bạch và đáng tin cậy, cho phép người dùng kiểm tra và xác minh thông tin giao dịch một cách dễ dàng Tính an toàn và bảo mật là một lợi thế quan họng của Blockchain Công nghệ này sử dụng các thuật toán mật mã mạnh mẽ để bảo vệ thông tin giao dịch Mỗi giao dịch hên Blockchain được xác nhận bởi một mạng lưới ngang hàng của các người tham gia, làm cho việc tan công và thay đổi dữ liệu trở nên khó khăn Blockchain cũng mang lại tốc độ và hiệu suất cao Nó có khả năng xử lý giao dịch nhanh chóng và hiệu quả, vượt qua các hạn chế về thời gian và quỵ trình hong việc xác nhận giao dịch truyền thống Điều này đặc biệt hữu ích trong các hệ thống giao dịch đòi hỏi tốc độ và khả năng mở rộng, như thanh toán và giao dịch tài chính Một ưu điểm khác của Blockchain là loại bỏ hoặc giảm thiểu sự phụ thuộc vào các bên hung gian Blockchain giúp giảm chi phí và thời gian giao dịch, đồng thời tạo ra môi hường hực tiếp giữa các bên tham gia, tăng tính công bằng và sự tự chủ Hơn nữa, công nghệ Blockchain còn cung cấp tính năng tự động thực thi thông qua hợp đồng thông minh (smart contract) Hợp đồng thông minh là các chương trình tự thực thi các điều khoản và điều kiện của hợp đồng một cách tự động Điều này loại bỏ sự phụ thuộc vào bên thứ ba hung gian và đảm bảo thực hiện chính xác các điều khoản hợp đồng, giảm thiểu rủi ro và chi phí liên quan [2] Đây cũng là tính năng chúng tôi đề xuất sẽ sử dụng cho hệ thống quản lý thuê phòng Bughouse Hợp đồng sẽ được thiết lập các điều khoản rõ ràng dựa hên yêu cầu của cả hai bên, giúp tránh được các hanh chấp tìm ẩn và đảm bảo quyền lợi của các bên Hợp đồng sẽ được tự động thực thi các chức năng khi các điều khoản được hai bên chấp thuận và ký kết Chúng tôi còn đề xuất ví điện tử riêng để thuận tiện cho cho các giao dịch hong hệ thống Bài báo của chúng tôi chia làm 5 phần: Phần 1 Giới thiệu tổng quan về hệ thống; Phần 2 Các công nghệ liên quan; Phần 3 Công cụ Bughouse; Phần 4 Kiểm nghiệm thực tế và Phần 5 Kết luận và hướng phát triển Trong đó Phần 3 là phần đóng góp chính của bài báo 2 CÁC CÔNG NGHẸ LIÊN QUAN 2.1 NodeJS Node.js là một nền tảng dựa trên JavaScript được sử dụng chủ yếu để tạo các ứng dụng web chuyên sâu về I () chẳng hạn như ứng dụng hò chuyện, hang web phát hực tuyến đa phương tiện, v.v Nó được xây dựng hên công cụ JavaScript V8 của Google Chrome, ứng dụng web là phần mềm chạy hên máy chủ và được hiển thị bởi trình duyệt máy khách huy cập tat cả các tài nguyên của ứng dụng thông qua Internet [3] Node.js cho phép phát hiển các ứng dụng mạng chạy phía máy chủ, như các ứng dụng web, API, ứng dụng di động, và nhiều hơn nữa Nó cung cấp khả năng xử lý yêu cầu đồng thời (concurrency) cao, khả năng xây dựng các ứng dụng thời gian thực và khả năng mở rộng tốt © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 221 Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH 2.2 ReactJS - React-Native React! s là một thư viện giao điện người đùng dựa trên thành phần, mã nguồn mở, chỉ chịu trách nhiệm cho lớp xem của ứng dụng React! s không phải là một framework, nó chỉ là một thư viện do Facebook phát triển để giải quyết một số vấn đề mà chúng tôi gặp phải trước đó Thư viện này hỗ trợ cho việc tạo giao diện người dùng cùng các xử lý tương tác của người dùng với giao diện [4], ReactJS sử dụng mô hình Component-Based để xây dụng giao diện người dùng Một component trong React!s đại diện cho một phần của giao diện, noi bạn có thể xây dựng các thành phần nhỏ hơn và kết hợp chúng lại để tạo thành giao diện hoàn chỉnh Điều này giúp quản lý và tái sử dụng mã dễ dàng hơn, giúp tăng tính module và hiệu suất của ứng dụng React Native là một framework được sử dụng để xây dựng ứng dụng di động đa nền tảng, dựa trên JavaScript và React - một thư viện phát triển giao diện người dùng được tạo bởi Facebook [5] React Native cho phép xây dựng các ứng dụng di động bằng cách sử dụng các thành phần và API của JavaScript rà React, và sau đó biên dịch thành mã nguồn tương ứng cho các nền tảng đi động như Android và iOS Điều này cho phép bạn viết code một lần và chạy ứng dụng trên nhiều nền tảng, giúp giảm thời gian và công sức cần thiết để phát triển và duy trì ứng dụng di động 2.3 Solidity Solidity là ngôn ngữ cấp cao (high-level), curly-bracket, hướng đối tượng thường dùng để thực hiện các hợp đồng thông minh (Smart Contract) Solidity chịu ảnh hưởng nhiều bởi C++, Python, Javascript [ố] Solidity là một ngôn ngữ hướng đối tượng, nó có hết các đặt tính kế thừa, trừu tượng, đóng gói, đa hình Điều này giúp solidity phát triển các họp đồng thông minh dễ dàng hơn, tải sử dụng mã nguồn linh hoạt Solidity sở hữu cú pháp tương tự JavaScript, cú pháp đon giản, dễ tiếp cận với người dùng hơn Ngoài ra, nó còn hỗ trợ kiểm tra dữ liệu tĩnh, giúp ngăn lỗi trong quá trình thực thi hợp đồng thông minh (Smart Contract) Solidity cũng hỗ trợ tính năng bảo mật như kiểm tra tính hợp lệ của giao dịch, hạn chế truy cập rào dữ liệu của hợp đồng thông minh từ bên ngoài, và các tính năng khác để đảm bảo tính an toàn rà đang tin cậy của hợp đồng thông minh 2.4 Blockchain Blockchain được thiết lập như một công nghệ trong đó cơ sở dữ liệu phân tán ghi lại tất cả các giao dịch đã xảy ra trong mạng ngang hàng Nó được coi là một mô hình điện toán phân tán đã khắc phục thành công vấn đề liên quan đến niềm tin của một bên thứ ba Mỗi giao dịch khi sinh ra được chèn vào chuỗi các khối và mỗi khối được tạo bỏi một hàm băm duy nhất (chuỗi chữ và số do mã hóa dữ liệu bằng khóa riêng và khóa chung mật mã), một nonce (một số duy nhất cho khối) và bởi một hàm băm từ khối trước đó (Hình 7) Điều này khiến cho Blockchain không thể thay đối đảm bảo tính an toàn và bảo mật [1,2] Block 1 Block 2 Block 3 Hash:GUBP2 Hash: ÌY5C9 Hash: 914x1 Previous Hash: Previous Hash: Previous Hash: ỈY5C9 Hình 1: Liên Kết Giữa Các Khối trong Blockchain 2.5 Smart Contract Hợp đồng thông minh (Smart Contract) là một chương trình hoặc giao thức đơn giản được lưu trữ trên Blockchain, có khả năng tự động thực thi các thỏa thuận được đáp ứng trước đó mà không cần thông qua 222 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH bất kỳ bên trung gian nào Chúng được viết bằng các ngôn ngữ cấp cao như Python hoặc Solidity cho các ứng dụng trên nền tảng Ethereum và được biên địch bỏi Solidity hoặc Serpent Khi hợp đồng thông minh được thực thi thành công, nó sẽ được triển khai lên nền tảng Blockchain và được gán một địa chỉ duy nhất [1, 2] Một cách đon giản, hợp đồng thông minh có thể coi như một tài khoản trên nền tảng Blockchain, bao gồm số dư và là mục tiêu của các giao dịch (Hình 2) Tuy nhiên, điểm khác biệt chính là hợp đồng thông minh không được điều khiển bỏi người dùng mà được tự động triển khai Người dùng có thể tương tác với hợp đồng thông qua các giao dịch Một đặc điểm quan trọng của họp đồng thông minh là chúng không thể bị xóa và các tương tác với chúng không thể đảo ngược theo mặc định Điềư này đảm bảo tính toàn vẹn và không thể thay đối của các điều khoản và điều kiện trong họp đồng Hợp đồng thông minh mang lại sự tự động, minh bạch và không thể thay đổi trong việc thực hiện các thỏa thuận Chúng giúp loại bỏ sự phụ thuộc vào các bên trung gian, giảm thiểu rủi ro và tạo ra một môi trường công bằng và tin cậy cho các giao dịch trên Blockchain [7] Trong hệ thống Bughouse, chúng tôi sử đụng Smart Contract để tự động quản lý các hoạt động của phòng thuê Từ ký kết họp đồng, gia hạn, thanh toán đến quản lý trạng thái, Smart Contract đảm bảo tính chính xác và minh bạch Điều này giúp tiết kiệm thời gian, giâm sai sót và tạo một môi trường tin cậy cho việc quản lý phòng thuê Hình 2: Sơ Đồ Mô Tả Smartcontract [10] Trong hệ thống Smart House, chúng tôi sử dụng Smart Contract (Hình 3) để tự động quản lý các hoạt động của phòng thuê Từ ký kết hợp đồng, gia hạn, thanh toán đến quản lý trạng thái, Smart Contract đảm bảo tính chính xác và minh bạch Điều này giúp tiết kiệm thời gian, giảm sai sót và tạo một môi trường tin cậy cho việc quản lý phòng thuê © TRADITIONAL CONTRACT PARTIES CONTRACT PARTY EXECUTION SMART CONTRACT SMART CONTRACT EXECUTION PARTIES USER* COMƯTER ♦ COMUTER CODE COMUTER Hình 3: Họp đồng truyền thống và Smart Contract [10] © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 223 Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH 3 CÔNG CỤ BUGHOUSE 3.1 Giới thiệu Để triển khai các giải pháp mà chúng tôi nêu ra trong phần giới thiệu, chúng tôi đề xuất xây dụng ứng dụng Bughouse, ứng dụng triển khai dụa trên các công nghệ như NodeJS, React! S/React-Native Và để Bughouse có tính úng dụng hơn, chúng tôi sử dụng các dịch vụ của Render và Vercel để triển khai, ứng dụng Bughouse được triển khai tên hai nền tảng website và ứng dụng điện thoại Trong đó, về phần giao diện cho ứng dụng chúng tôi sử dụng React! s để xây dựng giao diện website, React Native để xây dựng giao diện di động Node!S sẽ đảm nhận việc tạo API để xử lý toàn bộ request của hệ thống Solidity để triển khai Smart Contract lên Blockchain MongoDB để lưu trữ dữ liệu của toàn bộ hệ thống [8], Ngoài ra hệ thống còn được tích hợp các địch vụ như: AW s S3 và CloudFront Trong đó thì S3 dùng để lưu trữ dữ liệu dưới dạng fíle/folder và CloudFront để giúp tăng tốc độ truy cập file trong S3 [9], 3.2 Kiến trúc phần mềm Phần mềm sử dụng mô hình Node!S và Express!s, mô hình MVC (Model-View-Controller) Models đại diện cho dữ liệu và logic liên quan đến dữ liệu trong ứng dụng Các models trong Bughouse có thể đại diện cho các khái niệm như User (người dùng), Room (phòng), Contract (Hợp đồng), Models sẽ định nghĩa cấu trúc dữ liệu, quan hệ giữa các đối tượng, và các phương thức để tương tác với dữ liệu, chẳng hạn như tạo mới, lấy, cập nhật hoặc xóa Views là thành phần chịu trách nhiệm hiển thị giao diện người dùng và tương tác với người dùng Trong ứng dụng Bughouse, views là template engine Handlebars để tạo ra giao diện người dùng như giao diện mail, otp Views sẽ nhận dữ liệu từ Controllers và sắp xếp, định dạng nó để hiển thị cho người dùng Controllers là thành phần đỉều khiển và quản lý luồng dữ liệu và logic trong ứng dụng Controllers trong Bughouse sẽ xử lý các yêu cầu từ ngưòi dùng, gọi các phương thức từ models để tương tác vói dữ liệu, và trả về các views tương ứng để hiển thị cho người dùng Controllers cũng có thể xử lý các tác vụ như xác thực, quản lý phiên, kiểm tra quyền truy cập, và thực hiện các thao tác logic phức tạp khác Routing: Express!S sẽ được sử dụng để định tuyến các yêu cầu HTTP đến các controllers tương ứng Các tệp tin route sẽ xác định các đường dẫn và phương thức HTTP tương ứng và ánh xạ chúng đến các controllers để xử lý (Hình 4) Render - Amazon S3 + CloudFront Back-end (Stored Image) GitHub VNPAY E INFURA Ethereum Node Source Code Ethereum Virtual Machine(EVM) Smart Contract -Deploy Hình 4: Sơ đồ kiến trúc phần mềm công cụ BUGHOUSE 224 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH 3.3 Phân tích hệ thống Bughouse Đối tượng người dùng cho hệ thống Bughouse gồm có người thuê và và người cho thuê Trong đó, chúng tôi tập trung vào các chức năng chính của hệ thống là hỗ trợ ngưòi muốn cho thuê cũng như đi thuê phòng và tự động hóa tuần tự của các giao dịch trong hợp đồng đã được lập bởi ngưòi dùng Ngoài ra, các chức năng phụ khác cũng được đưa vào để người dùng có thể dễ dàng sử dụng hon như hỗ trợ các ví điện tử, thực hiện các giao dịch thanh toán thông qua ví điện tử VNPay Từ những chức năng trên, chúng tôi tập trung hiện thực các chức năng chính trong hệ thống App cũng như Web Bughouse như: Tạo phòng, thuê phòng, ký xác nhận và mốt chức năng tự đồng dưới hệ thống Sau đó mới mở rộng các chức năng như Hình 5 Trong lược đồ use-case, chúng tôi sẽ có hai actor chính là Landlord (Ngưòi cho thuê) và Renter (Ngưòi thuê) Trong đó các chức năng chính của hệ thống chính là: Use-case Tạo phòng, Use-case Ký xác nhận, Use-case Thanh toán hoá đơn Bên cạnh đó, chúng tôi cũng mở rộng các use-case cho các chức năng của hệ thống tích hợp thêm các dịch vụ của bên thứ ba như VNPay nhằm tạo đỉều kiện thuận lợi cho người dùng 3.4 Phân tích Smart Contract của Bughouse Hợp đồng thông minh (Smart Contract) đứng giữa người cho thuê và người đi thuê vói mục đích là đảm bảo thỏa thuận cho thuê được ký, tiền thuê được chuyển cho người đi thuê đúng hạn, tiền cọc được giữ bởi hợp đồng thông minh, gia hạn và kết thúc hợp đồng được thực hiện chính xác (Hình 5) Người cho thuê và người thuê được cấp tài khoản Các tài khoản này được kiểm soát bởi các khoá riêng Người dùng có thể dùng tài khoản này để tạo các giao dịch chuyển tiền hoặc gọi các chức năng trên hợp đồng Hợp đồng sẽ được phân quyền theo tùng đối tượng trong hệ thống [11] © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 225 Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH Đối vói người cho thuê có các quyền như tạo phòng với các chỉ số tiền thuê, tiền cọc, thời hạn, trạng thái của phòng khi vừa được khởi tạo sẽ là “ !forrent” Gia hạn thời gian thuê phòng người cho thuê sau khi nhận được yêu cầu gia hạn của người đi thuê thì sẽ gọi lên hợp đồng thực thi phương thức gia hạn hợp đồng với thông tin hợp đồng sau khi được cập nhật lại thòi hạn, và thòi hạn gia hạn để hợp đồng cập nhật lại thông tin phòng Huỷ hợp đồng khi người cho thuê hoặc người đi thuê gửi yêu cầu huỷ họp đồng Hợp đồng kiểm tra lại thời hạn thuê phòng, nếu thời hạn hợp đồng kết thúc thì tiền cọc sẽ được hợp đồng chuyển về ví người thuê Ngược lại, tiền cọc sẽ được chuyển về ví của chủ trọ như thoả thuận từ trước Trạng thái phòng sẽ được chuyển sang trạng thái “not-ready” và thông tin ngưòi đỉ thuê sẽ bị xóa Mở lại trạng thái cho thuê phòng người cho thuê gọi lên hợp đồng thực thi phương thức mở lại trạng thái phòng cùng với thông tin của phòng cần mở lại Hợp đồng chuyển trạng thái phòng “for rent” Đối với người đi thuê thì sẽ có những quyền như ký xác nhận thuê phòng là ngưòi thuê xác nhận thuê phòng qua hợp đồng đồng thời chuyển tiền thuê và tiền cọc cho hợp đồng, hợp đồng giữ lại tiền cọc và chuyển tiền thuê cho người cho thuê Trạng thái phòng cho thuê sẽ được chuyển sang trạng thái “rented”, và việc ký này khi thành công thi không thể thực hiện xác nhận một lần nữa, tránh việc ghi đè thông tin thuê hiện tại Thanh toán tiền phòng hàng tháng khi người thuê thanh toán hoá đơn tiền phòng hợp đồng kiểm tra số dư của người dùng Hợp đồng nhận tiền từ người thuê và chuyển tiền cho người cho thuê Hình 6: Sơ đồ cấu tạo của Smart Contract Bughouse 3.5 Giao diện đồ họa Công cụ Bughouse triển khai trên hai nền tảng là web app rà mobile app Công cụ này sẽ có giao diện người dùng thân thiện và đảm bảo tính ốn định trên các dòng điện thoại khác nhau Chúng tôi cũng xin giới thiệu vài giao diện cho các chức năng trên ứng dụng trên 226 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-IUH Hình 7: Giao diện trang chủ trên website BUGHOUSE Giao diện trang chủ của hệ thống có các thành phần như: thanh tìm kiếm, danh sách phòng cho thuê, thông báo, tài khoản người dùng Với chức năng tìm kiếm người dùng sẽ nhập địa chỉ muốn thuê trọ vào ô tìm kiếm, bấm nút Lọc để thêm các tiêu chí tìm kiếm như giá phòng, diện tích phòng, khoảng cách đến căn hộ Sau đó người dùng chọn chức năng tìm kiếm Kết quả tìm kiếm phù hợp sẽ được hiển thị trực tiếp lên trên bản đồ hoặc hiển thị dưới dạng danh sách Chức năng thông báo khi nhấn vào sẽ mở ra cửa so hiển thị toàn bộ thông báo của hệ thống đến với người dùng (Hình ổ) Người dùng cũng có thể kiểm tra tài khoản giao dịch của mình thông qua ví điện tử mà hệ thong cung cấp (Hình 7) Ví BugHouse Xem số dư hiện Xem lịch sử giao tại của ví dịch 16k Lịch sử giao dịch 50b Chức s s-ọr Contract SOk nảng nạp 10k tiền vào Contract B453d4Bl«49oeB3c37 10k Chức năng rút tiên Payment khỏi ví í’.ivrrtM *-M ÍU'>Í«H Ẳ"5S53ãt> 1 fư 2? ®FK S2C aư6btó4SShlrts QMU Hình 9: Giao diện quản lý Smart Contract Smart Contract sau khi được triển khai thành công với Fuji Testnet sẽ được quản lý trên Snow Trace Testnet Snow Trace Testnet là một mạng thử nghiệm được xây dựng dựa trên nền tảng Blockchain Avalanche Nó được tạo ra để giúp các nhà phát triển và nhà nghiên cứu có thể kiểm tra các ứng dụng Blockchain của mình mà không cần sử dụng tiền thật (Hình 9) ©SNOWTRACE ’ All Filers »• SewtiVjf ArtdiKtt I T»n Hash t i?luc* t Token ĨMto0l MtWbC'k Hot® R!h«n - Ti-Junw, - - s Contract 0»33f4?S7e£SCSSS149bOE4«!ir7743837047s73r36 o X I conlrwJHisHtri/kg VNCtottHath tUifiQ wtAi>TW«»niP«iMQOih Vint255 deposItMKhjrn urn123d ©*'•«• atfi'en t«Eĩ|-T** Ị * contractMaih string: > » |nwơc«Ha«h 3 trirtg I » ưfnr?S4 : c > ♦ dupoíiUmctxM ƯJ n32.56; 0 f ownar acMretí: Coúi.'H3Ễ«K.c