Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
2,87 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN - - BÁO CÁO Môn: Thương mại điện tử Lớp : IS334.L21 ĐỀ TÀI: BLOCKCHAIN - SOLIDITY GIÁO VIÊN HƯỚNG DẪN: Ths.Đỗ Duy Thanh NHÓM THỰC HIỆN: Trương Văn Thành Nguyễn Lương Toàn Phạm Ngọc Anh Vũ TPHCM, Ngày 16 tháng năm 2021 LỜI CẢM ƠN Sau trình học tập rèn luyện trường Đại học Công nghệ Thông tin chúng em trang bị kiến thức bản, kỹ thực tế để hồn thành đồ án mơn học Chúng em xin gửi lời cảm ơn chân thành đến thầy Đỗ Duy Thanh quan tâm, hướng dẫn, truyền đạt kiến thức kinh nghiệm cho chúng em suốt thời gian học tập môn Thương Mại Điện Tử Trong q trình thực nhóm chúng em chăn khơng tránh khỏi sai sót, vậy, chúng em mong nhận góp ý thầy bạn nhằm hồn thiện kiến thức mà nhóm chúng em học tập hành trang để thực tiếp đề tài khác tương lai Nhóm em xin chân thành cảm ơn q Thầy Cơ! TP Hồ Chí Minh, ngày 16 tháng năm 2021 NHẬN XÉT (của giảng viên) MỤC LỤC LỜI CẢM ƠN MỤC LỤC PHẦN 0: MỤC ĐÍCH ĐỀ TÀI PHẦN 1: TÌM HIỂU CƠNG NGHỆ BLOCKCHAIN CHƯƠNG 1: TỔNG QUAN BLOCKCHAIN 1.1 Khái niệm 1.2 Các đặc tính blockchain 1.3 Nguyên lý hoạt động 14 1.4 Ứng dụng blockchain đời sống 14 CHƯƠNG 2: PHIÊN BẢN BLOCKCHAIN 15 2.1 Blockchain 1.0 (Tiền tệ) 15 2.2 Blockchain 2.0 (Smart contract) 17 2.3 Blockchain 3.0 (Ứng dụng phi tập trung Dapp) 17 2.4 Blockchain 4.0 (Ứng dụng thực tiễn) 19 CHƯƠNG 3: CÁC LOẠI BLOCKCHAIN 20 CHƯƠNG 4: THUẬT NGỮ QUAN TRỌNG TRONG BLOCKCHAIN .21 4.1 51% Attack 21 4.2 Public Key .21 4.3 Private Key 22 4.4 Mining pool .22 PHẦN 2: TÌM HIỂU SMART CONTRACT & SOLIDITY .23 CHƯƠNG 1: SMART CONTRACT 23 1.1 Khái niệm 23 1.2 Cách hoạt động 24 1.3 Lợi ích Smart contract 25 1.4 Ưu nhược điểm 26 1.5 Ứng dụng Smart contract (Blockchain 2.0) .27 CHƯƠNG 2: SOLIDITY 29 2.1 Khái niệm 29 2.2 Các khái niệm Solidity 29 2.3 Sử dụng Metamask triển khai Smart contract Solidity 30 PHẦN 3: HỆ SINH THÁI ETHEREUM 35 CHƯƠNG 1: TỔNG QUAN ETHEREUM 35 1.1 Ethereum (ETH) 35 1.2 Ethereum 2.0 35 1.3 Các giai đoạn để hoàn thành ETH 2.0 37 1.4 Cách thức hoạt động Ethereum 38 1.5 Ưu điểm nhược điểm đồng Ethereum 39 1.6 Sử dụng Ethereum 40 1.7 Cách tạo ví Ethereum 43 CHƯƠNG 2: ỨNG DỤNG ĐƯỢC XÂY DỰNG TRÊN ETHEREUM 45 2.1 Tài phi tập trung (Defi) Ethereum 45 2.2 Sàn giao dịch phi tập trung (DEX) Ethereum 46 2.3 Ứng dụng phi tập trung (Dapps) 47 CHƯƠNG 3: CÁCH ĐỂ KIẾM ETHEREUM 49 3.1 Các cách đầu tư ETH 49 3.2 Hướng dẫn cách mua Ethereum 53 PHẦN 4: TÌM HIỂU GRT 60 4.2.Phương thức hoạt động The Graph 60 4.2.1 Vấn đề giải The Graph 60 4.2.2 Giải pháp The Graph 61 4.2.3 Hệ sinh thái The Graph .62 4.3 Token GRT .63 4.4 Một số thông tin token GRT 63 4.4.1 Phân bố token GRT 63 4.4.2 Public sale 64 4.4.3 Đội ngũ phát triển dự án 65 4.4.5 Cách kiếm sở hữu GRT Token 66 4.4.6 Sàn giao dịch GRT Token 66 4.4.7 Ví lưu trữ token GRT 66 4.5 Tương lai GRT Token 67 PHẦN 5: MƠ TẢ QUY TRÌNH TRIỂN KHAI ỨNG DỤNG 68 Các bước để xây dựng project 68 BẢNG PHÂN CHIA CÔNG VIỆC 79 TÀI LIỆU THAM KHẢO 81 PHẦN 0: MỤC ĐÍCH ĐỀ TÀI - Tìm hiểu blockchain - Minh họa chi tiết, cụ thể Block Chain 1.0, 2.0 Các ứng dụng - Tìm hiểu smart contract solidity - Tìm hiểu hệ sinh thái Etherium? - Mơ tả quy trình triển khai smart contract lên mạng lưới ethereum test - Tìm hiểu GRT PHẦN 1: TÌM HIỂU CÔNG NGHỆ BLOCKCHAIN CHƯƠNG 1: TỔNG QUAN BLOCKCHAIN 1.1 Khái niệm Blockchain sổ công khai thông tin thu thập thông qua hệ thống nằm internet Điều làm cho độc đáo khơng có quan trung ương phụ trách tệp blockchain liệu mà chứa Thay vào đó, máy tính giữ riêng tệp cập nhật cần có chấp thuận phần lớn máy bên hệ thống Blockchain tạo thành từ “khối”- block, khối chứa phần liệu Dữ liệu gần thêm vào đầu chuỗi, liệu lâu đời đặt phía đáy, bên gọi “Khối nguyên thủy - genesis block” Hình 1.1 Chuỗi khối Các block liên kết với mật mã (các thuật toán phức tạp), cách chuỗi hình thành Tốn học liên quan có nghĩa thay đổi liệu phá vỡ chuỗi, đó, cố gắng thay đổi bị phát từ chối hệ thống Hình 1.2 Quy trình mã hóa khối 1.2 Các đặc tính blockchain a Cơ sở liệu phân tán (phi tập trung) Hầu hết Blockchain thiết kế sở liệu phi tập trung thay quản lí sổ tập trung ngân hàng tổ chức khác Các “tài sản” kỹ thuật số phân phối thay chép chuyển giao Blockchain Nhờ đó, người chuỗi kiểm sốt thơng tin, liệu có khối Hình 1.3 Mơ hình sổ phân tán b Tính bền vững tăng cường bảo mật Trong Blockchain, khối có hàm băm riêng biệt tham chiếu đến hàm băm khối nằm trước Vì vậy, việc khai thác chuỗi phức tạp, đặc biệt chuỗi lớn Hinh 1.4 Liên kết block ▪ ▪ ▪ Metamask Myetherwallet Trust Wallet 4.5 Tương lai GRT Token The Graph giúp trình xây dựng Dapp nhanh chóng thơng qua việc truy xuất Data Blockchain Ethereum nhanh Cùng với phát triển hệ sinh thái Ethereum tin The Graph phát triển theo PHẦN 5: MƠ TẢ QUY TRÌNH TRIỂN KHAI ỨNG DỤNG 5.1 Mục tiêu 5.2 Mơ hình Use-case 5.3 Sơ đồ lớp 5.4 Sơ đồ Sequence Diagram 5.5 Các bước để xây dựng project ✓ Bước 1: Xây dựng Smart Contract (dBank) với chức Deposit, Withdraw, Borrow, Payoff Solidity - Giới thiệu Solidity: Solidity ngôn ngữ cấp cao, hướng đối tượng để thực hợp đồng thông minh Hợp đồng thông minh chương trình điều chỉnh hành vi tài khoản trạng thái Ethereum Solidity thiết kế để nhắm mục tiêu Máy ảo Ethereum (EVM) Với Solidity, bạn tạo hợp đồng để sử dụng bỏ phiếu, huy động vốn từ cộng đồng, đấu giá ví nhiều chữ ký Khi triển khai hợp đồng, bạn nên sử dụng phiên Solidity phát hành Điều thay đổi đột phá tính sửa lỗi giới thiệu thường xuyên https://docs.soliditylang.org/en/v0.8.4/#solidity - Tạo Contract dBank với Solidity ✓ Bước 2: Cài đặt Ganache (Mạng Ethereum local) - Giới thiệu Genache: Ganache blockchain cá nhân để phát triển ứng dụng phân tán Ethereum Corda nhanh chóng Bạn sử dụng Ganache toàn chu kỳ phát triển; cho phép bạn phát triển, triển khai thử nghiệm dApp mơi trường an tồn xác định Ganache có hai phiên bản: UI CLI Ganache UI ứng dụng dành cho máy tính để bàn hỗ trợ cơng nghệ Ethereum Corda Cơng cụ dịng lệnh, ganache-cli (trước gọi TestRPC), có sẵn để phát triển Ethereum https://www.trufflesuite.com/ganache - Giao diện: ✓ Bước 3: Triển khai Smart Contract lên mạng Ethereum local Truffle - Giới thiệu Truffle: Truffle môi trường phát triển đẳng cấp giới, khung thử nghiệm đường ống tài sản cho blockchain sử dụng Máy ảo Ethereum (EVM), nhằm mục đích làm cho sống nhà phát triển trở nên dễ dàng ▪ Tích hợp hợp đồng thông minh biên dịch, liên kết, triển khai quản lý nhị phân ▪ Kiểm tra hợp đồng tự động để phát triển nhanh chóng ▪ Khung triển khai di chuyển mở rộng tập lệnh ▪ Quản lý mạng để triển khai cho số lượng mạng công cộng riêng tư ▪ Quản lý gói với EthPM & NPM, sử dụng tiêu chuẩn ERC190 ▪ Bảng điều khiển tương tác để giao tiếp hợp đồng trực tiếp https://www.trufflesuite.com/docs/truffle/getting-started/compiling-contracts - Xây dựng Folder chứa file cấu hình để triển khai hợp đồng thông minh: - Mỗi file định nghĩa hàm để triển khai hợp đồng thông minh lên mạng Ethereum - Để thiết lập Truffle ▪ Cài đặt npm install –g truffle ▪ Khởi tạo truffle init - File truffle.js định nghĩa hợp đồng triển khai trực tiếp lên mạng Ở http://127.0.0.1:7545 ( mạng Ethereum local mà Ganache start trước đó) Triển khai hợp đồng thông minh lên Ethereum lệnh “truffle migrate network development” , không định network, truffle tự động lấy network - Sau compile, hợp đồng thông minh biên dịch thành file json Mỗi file chứa thông tin hợp đồng meta-data khác: ▪ Contract name: Tên hợp đồng ▪ abi: thông tin chức thuộc tính, miêu tả rõ ràng input output ▪ metadata: metadata khác hợp đồng Sau biên dịch thành công, hợp đồng truffle triển khai lên Ethereum tạo giao dịch tương ứng Ganache ghi giao dịch tự động thêm block vào mạng Ethereum Danh sách Block Thông tin chi tiết block ✓ Bước 4: Sử dụng web3 để tương tác với Smart Contract - web3.js tập hợp thư viện cho phép bạn tương tác với nút ethereum cục từ xa cách sử dụng HTTP, IPC WebSocket https://github.com/ChainSafe/web3.js#readme ✓ Bước 5: Xây dựng Service 5.6 Danh sách hình 5.7 Nhận xét kết luận STT MSSV 18521510 17521062 19522536 TÀI LIỆU THAM KHẢO https://coin98.net/the-graph-grt https://coin68.com/the-graph-la-gi/ https://www.mitrade.com/vn/forex/cryptocurrency/ethereum/Ethereum-ETH-lagi#linkTo-article-para2 https://blogtienao.com/ethereum/#ftoc-heading-26 https://www.slideshare.net/CngthngtinTininT/ethereum-la-gi-nhung-khai-niemxung-quanh-ethereum-eth-ma-ban-nen-biet-137466881 https://kgold.vn/blockchain-la-gi.html https://www.mitrade.com/vn/forex/cryptocurrency/cryptocurrency-la-gi/cong-ngheblockchain https://bytesoft.vn/cong-nghe-blockchain-1-0-la-gi https://ethereum.stackexchange.com/questions/32233/how-to-install-truffle-3-xcurrent-release-is-truffle-4-0?rq=1 https://github.com/Sudhanmanoharan/MarketPlace-BlockChain https://reactjs.org/ https://www.youtube.com/watch?v=ctLFWAanxcI https://www.trufflesuite.com/docs/truffle/getting-started/interacting-with-yourcontracts https://web3js.readthedocs.io/en/v1.3.4/ https://docs.soliditylang.org/en/v0.8.4/ https://vn.bitdegree.org/crypto/huong-dan/smart-contract-la-gi ... động 1.4 Ứng dụng blockchain đời sống Blockchain ứng dụng vào nhiều lĩnh vực đời sống - Ứng dụng blockchain thương mại điện tử - Ứng dụng Blockchain chuỗi cung ứng - Ứng dụng blockchain dịch vụ... số Đối với nhà đầu tư giống đồng tiền điện tử khác ➢ Giao dịch ETH với tiền điện tử khác Sàn giao dịch Hiện có hàng trăm mã thơng báo thay hệ sinh thái Blockchain Các Altcoin có giá trị dao động,... chính, ngân hàng - Ứng dụng blockchain nông nghiệp - Ứng dụng blockchain y tế - Ứng dụng Blockchain Internet of Things (IoT) - CHƯƠNG 2: PHIÊN BẢN BLOCKCHAIN 2.1 Blockchain 1.0 (Tiền tệ) Năm