1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo môn thương mại điện tử blockchain solidity

81 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 2,84 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 – 17521062 Nguyễn Lương Toàn – 18521510 Phạm Ngọc Anh Vũ – 19522536 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 tố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 BẢNG PHÂN CHIA CƠNG VIỆC STT MSSV Cơng việc giao Mức độ hồn thành (%) - Tìm hiểu Smart contract - Tìm hiểu Reactjs thiết kế lại giao 18521510 diện 100 - Tìm hiểu blockchain - Thử nghiệm smart contract Metamask - Tìm hiểu blockchain - Tìm hiểu Solidity 17521062 - Dựng format báo cáo 100 - Mơ tả quy trình triển khai - Hỗ trợ tìm hiểu & xây dựng service để build project - Tìm hiểu GRT - Tìm hiểu Ethereum 19522536 - Tìm hiểu blockchain - Thử nghiệm smart contract Metamask 100 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

Ngày đăng: 07/08/2021, 06:08

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w