Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity

80 2 0
Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity

Đ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

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa Ethereum Virtual Machine Solidity Môn học: Đồ án Giảng viên hướng dẫn: ThS Nguyễn Thị Thanh Trúc Sinh viên thực hiện: 19522183 – Trương Gia Thạch 19522339 – Nguyễn Tấn Tiến Thành phố Hồ Chí Minh, tháng 03 năm 2022 ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa Ethereum Virtual Machine Solidity Môn học: Đồ án Giảng viên hướng dẫn: ThS Nguyễn Thị Thanh Trúc Sinh viên thực hiện: 19522183 – Trương Gia Thạch 19522339 – Nguyễn Tấn Tiến Thành phố Hồ Chí Minh, tháng 03 năm 2022 NHẬN XÉT CỦA GIÁO VIÊN …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………… LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thị Thanh Trúc, giảng viên hướng dẫn môn đồ án 1, trang bị giúp em kỹ kiến thức cần thiết để hoàn thành đồ án Tuy nhiên, dù cố gắng nhiều để hoàn thành đồ án kết tốt trình làm đồ án kiến thức chuyên ngành em hạn chế, thiếu sót kinh nghiệm, nên khơng thể tránh khỏi vài thiếu sót trình bày đánh giá vấn đề Rất mong nhận góp ý, đánh giá cô để đề tài chúng em thêm hoàn thiện Chúng em xin chân thành cảm ơn! DANH MỤC HÌNH ẢNH Hình Blockchain 13 Hình Trong "Khối Nguyên Thủy", Satoshi Nakamoto để lại thông điệp: "Tờ Times, ngày 03/01/2009, Thủ tướng đứng bên bờ vực phải viện trợ ngân hàng lần thứ hai"[21] 16 Hình Nội dung khối 17 Hình Cryptography 19 Hình Hashing 20 Hình Digital Signature transaction encryption simplified [22] 22 Hình Merkle Tree ví dụ 23 Hình Xác minh giao dịch với Merkle Tree 25 Hình Phân loại blockchain 29 Hình 10 Ứng dụng blockchain cơng nghiệp dịch vụ 32 Hình 11 Transforming Food Supply chain with Blockchain and IoT - DreamzIoT 34 Hình 12 TradeLens 36 Hình 13 Ethereum chain 41 Hình 14 Tài khoản Ethereum 48 Hình 15 Transaction Ethereum 49 Hình 16 Node Ethereum 52 Hình 17 Phí gas 54 Hình 18 Ethereum virtual machine 56 Hình 19 Geth (Go ethereum ) & Mist 57 Hình 20 Smart contract 59 Hình 21 Phân loại kiến trúc 61 Hình 22 Solidity 65 Hình 23 Kiểu liệu solidity 67 Hình 24 Kiến trúc hệ thống demo 75 DANH MỤC BẢNG BIỂU Bảng Ethereum Bitcoin 43 Bảng Web2 Web3 45 MỤC LỤC Mục lục GIỚI THIỆU CHUNG 11 Tổng quan tình hình nghiên cứu 11 Lý lựa chọn đề tài 12 Mục tiêu nghiên cứu 12 BLOCKCHAIN 13 Giới thiệu 13 Tại cần blockchain 14 2.1 Dữ liệu động, cần cập nhật liên tục, cần lưu trữ tất lịch sử trước 14 2.2 Thông tin, liệu cần bảo mật cực cao bạn lo sợ mô hình mạng có trung gian thứ ba khơng thể đảm bảo an toàn 14 Lịch sử Blockchain 15 Kiến trúc blockchain 16 Nguyên lý hoạt động Blockchain 17 5.1 Nguyên lý mã hoá 17 5.2 Quy tắc sổ 25 5.3 Nguyên lý tạo khối 25 5.4 Thuật toán bảo mật Blockchain 26 Đặc điểm 27 6.1 Ưu điểm 27 6.2 Nhược điểm 27 Phân loại 28 Các phiên 30 Cơ chế đồng thuận 30 10 Hệ sinh thái 32 11 Ứng dụng Blockchain đời sống 32 11.1 Ứng dụng ngành công nghiệp dịch vụ 32 11.2 Ứng dụng ngành nông nghiệp, thủy hải sản 33 11.3 Ứng dụng Blockchain xây dựng 34 11.4 Ứng dụng blockchain vận tải kho bãi 35 11.5 Ứng dụng hoạt động tài chính, ngân hàng bảo hiểm 36 11.6 Ứng dụng blockchain khai khoáng 38 ETHEREUM 40 Giới thiệu chung 40 1.1 Ethereum ? 40 1.2 Lịch sử 40 1.3 Ethereum Blockchain 41 1.4 Ethereum Bitcoin 42 Các khái niỆm Ethereum 43 2.1 Ether (ETH) 43 2.2 Web3 44 2.3 Ether.js 46 2.4 Accounts 47 2.5 Transactions 48 2.6 Nodes 50 2.7 GAS 52 2.8 Máy ảo Ethereum (EVM) 54 2.9 Geth (Go ethereum ) & Mist 56 2.10 Parity 57 Hợp đồng thông minh (Smart Contract) 57 3.1 Smart contract gì? 57 3.2 Smart contract hoạt động nào? 58 3.3 Lợi ích smart contract 59 3.4 Ưu nhược điểm 60 Protocal để phát hành SafeCoin sử dụng để tạo file storage phân phối 4.3 DAPPS HOẠT ĐỘNG NHƯ THẾ NÀO? DApps hoạt cách thực tất bốn tiêu chí: Open Source, Decentralized, Incentive, Algorithm/Protocal Do đó, ứng dụng phải ứng dụng mã nguồn mở, thực phi tập trung nhìn thấy đóng góp cho source code Nó đẩy nhanh q trình cho khả mở rộng phát triển sản phẩm chất lượng số lượng Tiếp theo phi tập trung hóa ứng dụng cách sử dụng blockchain Blockchain phục vụ sổ vĩnh viễn hồ sơ / giao dịch mà tham khảo lúc Và cuối cùng, để thêm records / giao dịch vào sổ vậy, token sử dụng khai thác tiền khai thác cách sử dụng thuật toán / giao thức khác Hiện nay, giao thức phổ biến sử dụng Proof-of-work (POW) Proof-of-stake (POS) 64 LẬP TRÌNH SOLIDITY SOLIDITY LÀ GÌ? Solidity ngơn ngữ high-level lập trình hướng contract, có cấu trúc tập lệnh gần giống với Javascript C, sử dụng để xây dựng contract - thành phần hệ sinh thái Ethereum, thiết kế dành riêng cho Ethereum Virtual Machine (EVM) ) Solidity ngôn ngữ kịch nhập tĩnh Nó thực q trình xác minh thực thi ràng buộc thời điểm biên dịch (compile-time) thay runtime Hình 22 Solidity Một tập tin mã nguồn Solidity lưu tên có kết thúc với “.sol” nên bắt đầu với “version pragma” để định nghĩa phiên trình biên dịch Solidity sử dụng Solidity bao gồm chức năng: • Hỗ trợ nhiều kế thừa với tuyến tính hóa C3 • Hỗ trợ đối tượng biến trạng thái, kiểu liệu nhiều hàm lập trình khác • Các biến thành viên phức tạp cho contract chứa cấu trúc ánh xạ phân cấp tùy ý • Giao diện nhị phân ứng dụng tạo điều kiện cho số chức an toàn kiểu contract 65 Nhiều tảng blockchain bao gồm Ethereum, Tendermint, Ethereum Classic, Counterparty ErisDB hỗ trợ Solidity KIỂU DỮ LIỆU Trong Solidity có kiểu chỗ lưu variale: storage memory Một variable lưu memory tạm thời, variable lưu storage vĩnh viễn Ví dụ như, state variable (maxAge, minAge, Developer), khai báo ngồi function lưu storage Các variables randId, id, rand store memory Kiểu liệu boolean int/uint address struct Mô tả Trả “0” false “1” true Kiểu số nguyên có dấu (int) kiểu số nguyên không dấu (uint) Loại liệu đặc biệt ngôn ngữ lập trình Solidity Kích thước chứa 20 byte địa Ethereum Address địa tham chiếu để truy xuất Smart Contract Cấu trúc liệu address chứa số dư tài khoản wei, hỗ trợ hàm chuyển đổi giá trị sang address cụ thể Cấu trúc Struct cho phép bạn tạo kiểu liệu phức tạp có nhiều thuộc tính Nó tập hợp biến nhóm với lưu trữ tham chiếu, thành phần cấu trúc định nghĩa tương tự cấu trúc ngơn ngữ lập trình C/C++ Định nghĩa cấu trúc: struct [tên cấu trúc] { // Định nghĩa thành phần cấu trúc } Ví dụ: struct Customer { string customerName; uint customerId; uint discount; } mapping Mappings cách khác để lưu trữ liệu có tổ chức Solidity 66 Ví dụ: // For a financial app, storing a uint that holds the user’s account balance: mapping (address => uint) public accountBalance; // Or could be used to store / lookup usernames based on userId mapping (uint => string) userIdToName; Mappings kho lưu trữ giá trị để lưu trữ tìm kiếm liệu Trong ví dụ đầu tiên, khóa address giá trị uint, ví dụ thứ hai, khố uint giá trị string array struct packing to save gas Khi muốn lưu trữ tập giá trị có kiểu liệu giống nhau, bạn sử dụng mảng - array Solidity có kiểu liệu mảng mảng với kích thước cố định mảng động Mảng tĩnh A với kích thước cố định k viết sau: A[k] Mảng kích thước không cố định A viết là: A[] bytes string mảng đặc biệt bytes tương tự byte[] truy cập phần tử thơng qua giá trị index cịn string khơng cho phép thực điều Muốn truy xuất giá trị dạng mảng bytes string có tên S, ta chuyển đổi sang bytes sau: bytes bytePresentation = bytes (S) Lưu ý: giá trị sau chuyển đổi mảng byte mảng ký tự string Kiểu liệu có tác dụng bạn muốn chứa nhiều đơn vị cấu trúc - struct, tạo sử dụng đơn vị nhỏ Solidity cho phép điều Nó giúp nhà phát triển chia nhỏ đóng gói biến giúp tối ưu hóa nhớ Ngồi solidity giảm không gian nhớ cho liệu giống vào nhóm Hình 23 Kiểu liệu solidity CONTRACT Solidity xây dựng xoay quanh thành phần contract Về bản, contract tương tự class OOP với thuộc tính (state variables) phương thức (functions) Các khái 67 niệm abstract contract (contract với phương thức chưa thực thi), interface (chỉ gồm chữ ký thao tác) tương tự OOP Contract solidity cho phép đa kế thừa Việc dễ đến nhiều vấn đề, số có Diamond Problem Solidity sử dụng thuật toán C3 Linearzation tương tự python để xử lí đa kế thừa Do thứ tự khai báo kế thừa sau từ khóa is quan trọng Ví dụ: Xét đoạn code contract X {} contract A is X {} contract C is A, X {} Contract C kế thừa theo thứ tự X, A tức X override A Tuy nhiên theo khai báo contract A A lại override X Điều sinh lỗi biên dịch PHƯƠNG THỨC function () {internal|external|public|private} [pure|constant|view|payable] [returns ()] Có cách gọi phương thức: • internal calling: trỏ instruction nhảy đến vị trí function nhớ để thực thi • external calling: EVM thực lệnh call Ứng với cách gọi có mức visibility với phương thức: internal, external, public private Mặc định, phương thức có mức visibility public Mô tả khái quát mức sau: • • internal: truy cập từ phương thức bên contract từ contract (kế thừa) (internal calling) external: phần giao diện contract, truy cập từ contract khác Bản thân contract chứa phương thức gọi cách sử dụng từ khóa this Ví dụ ta gọi phương thức khai báo function extFunc() external cách this.extFunc() (external calling) 68 • • public: phần giao diện contract, gọi từ contract (mà khơng cần từ khóa this) từ contract khác (internal calling/external calling) private: truy cập từ phương thức bên contract (internal calling) Note • • • public vs external: phương thức public cần chép tham số vào memory trước thực thi (để gọi từ ngồi contract), phương thức external đọc trực tiếp từ vùng liệu calldata Đối với kiểu liệu phức tạp (array/struct), việc chép cấp pháp nhớ tốn so với đọc trực tiếp từ calldata(tốn gas hơn) private vs internal: phương thức private truy cập từ contract nó, phương thức internal gọi từ contract call vs delegatecall: call sử dụng context (storage) contract gọi đó, delegatecall sử dụng context contract gọi lệnh delegatecall FUNCTION MODIFIER Modifier sử dụng để kiểm soát ngữ cảnh phương thức Một số modifier mặc định kể đến là: • • • • pure: khơng truy cập/thay đổi thuộc tính contract view: khơng thay đổi thuộc tính contract constant: constant at runtime payable: phải có với phương thức sử dụng msg.value/ muốn nhận Ether FALLBACK FUNCTION Mỗi contract có phương thức khơng có tên (gọi fallback-function) Phương thức khơng có tham số (tuy nhiên sử dụng msg.data để lấy liệu truyền theo lời gọi), khơng có giá trị trả Phương thức gọi khơng có phương thức contract khớp với lời gọi 69 contract Sink { // fallback function function() public payable { // executable code here } } THUỘC TÍNH Khác với phương thức, thuộc tính contract có mức visibility (mặc định internal): • public: contract khác truy cập thuộc tính public thơng qua getter function Ex: Đối với mapping: contract Complex { mapping (uint => address) public data; } getter function tương ứng: function data(uint key) public returns (address) • private, internal: tương tự visibility phương thức DATA LOCATION: MEMORY/STORAGE/CALLDATA Trong EVM, có dạng lưu trữ: memory (lưu trữ không bền lâu), storage (lưu trữ bền vững), calldata (lưu trữ không bên vững, áp dụng để lưu trữ tham số phương thức external) • Forced data location: o o Tham số phương thức external: calldata Thuộc tính: storage 70 • Default data location: o Thuộc tính giá trị trả phương thức: memory o Biến cục bộ: storage Đối với kiểu liệu phức tạp (struct, array), phép gán vùng lưu trữ memory storage (giữa tham số thuộc tính) ln tạo chép độc lập Phép gán vào biến cục phép gán trỏ, trỏ vào thuộc tính contract Hiểu chế để kiểm soát việc gán chép liệu phức tạp (do chi phí cấp phát chép liệu cao) để kiểm soát gas cần cho transaction CÁC CÔNG CỤ MÀ SOLIDITY CUNG CẤP Các công cụ mà nhà lập trình viên Solidity sử dụng để xây dựng contract thơng minh dựa Solidity là: • • • • Solgraph: Nó sử dụng để tạo đồ thị DOT hiển thị luồng điều khiển chức contracts Solidity nêu lỗ hổng bảo mật Solidity REPL: Solidity REPL sử dụng để viết mã dòng lệnh Solidity Console EVM Lab: Đây gói cơng cụ phong phú kèm với khả tương tác với Máy ảo Ethereum (EVM) Nó bao gồm API Etherchain, trình xem theo dõi máy ảo Evmdis: Evmdis viết tắt EVM Disassembler thực phân tích tĩnh bytecode để cung cấp mức độ trừu tượng cao so với hoạt động EVM thô CÁC TRƯỜNG HỢP SỬ DỤNG SOLIDITY Solidity sử dụng phổ biến trường hợp cụ thể sau đây: • Voting - Biểu Hiện tại, bỏ phiếu giải nhiều vấn đề bao gồm thao túng liệu, cử tri giả mạo, thay đổi máy bỏ phiếu chụp gian hàng Liên hệ thơng minh Solidity tạo triển khai để làm cho trình bỏ phiếu trở nên minh bạch hợp lý • Blind Auctions - Đấu giá mù 71 Trong đấu giá mở, cá nhân xem giá thầu nhau, dẫn đến tranh chấp gian lận Bằng cách sử dụng contracts thơng minh Solidity, phiên đấu giá mù thiết kế người dùng khơng thể thấy đặt giá thầu kết thúc • Crowdfunding - Huy động vốn từ cộng đồng Huy động vốn cộng đồng thực thông qua smart contracts giải vấn đề hoa hồng bên thứ ba quản lý liệu Contracts thông minh vững để huy động vốn từ cộng đồng không yêu cầu hệ thống tập trung để xây dựng lịng tin, giảm chi phí bổ sung ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA SOLIDITY 8.1 ƯU ĐIỂM CỦA SOLIDITY • Solidity cung cấp thuộc tính kế thừa hợp đồng bao gồm thuộc tính kế thừa nhiều cấp • Hợp đồng thơng minh cung cấp phương tiện an tồn, dễ dàng đáng tin cậy cho nguồn khác có tham gia hai bên để thực thỏa thuận điều • Nhiều chức an toàn kiểu hỗ trợ Solidity thông qua hỗ trợ ABI (Giao diện nhị phân ứng dụng) 8.2 • NHƯỢC ĐIỂM CỦA SOLIDITY Sau hợp đồng thực hiện, khơng thể nâng cấp Lập trình viên khơng thể thêm tính bổ sung vào • Vì solidity ngơn ngữ thị trường nên có nhiều nhược điểm ngôn ngữ khác Python, C ++ Javascript Các ngơn ngữ khác có lợi định điều ngơn ngữ khác có số lượng lớn nhà phát triển để giải chúng • Dữ liệu có sẵn từ giao dịch Khơng có nguồn khác cho thơng tin mặt tạo vấn đề cho máy hoạt động hiệu 72 73 ỨNG DỤNG MINH HOẠ GIỚI THIỆU BÀI TOÁN Hệ thống giao dịch sản phẩm blockchain Hỗ trợ giao dịch P2P chế xác thực bên, người dùng địa ví điện tử để trực tiếp thực giao dịch KIẾN TRÚC HỆ THỐNG 74 Hình 24 Kiến trúc hệ thống demo Trong hệ thống này, liệu hoá đơn lưu trữ mạng blockchain ethereum thay lưu database server Mạng Ethereum sử dụng mạng testnet Rosten – mạng blockchain ethereum dùng để deloy smart contract nhằm thực việc test trước đưa smart contract lên mạng ethereum thức – mainnet CƠNG NGHỆ SỬ DỤNG • Backend: ExpressJs, MongoDb • Fontend: Html, Js, Web3Js • Compile Deploy Smart Contract: Truffe Framework • Tool khác: o Ganache – Phần mềm giả lập mạng blockchain local (1 node), Ví điện tử MetaMask o IPFS - hệ thống tập tin phân tán ngang hàng 75 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN KẾT QUẢ ĐẠT ĐƯỢC Qua trình tìm hiểu nghiên cứu blockchain nói chung mạng ethereum nói riêng, nhóm chúng em tích luỹ thêm hiểu biết Blockchain như: • • Hiểu blockchain Cách vận hành node mạng blockchain Tại mạng blockchain lại có tính bảo mật cao minh bạch Ứng dụng blockchain vào việc lưu trữ hoá đơn mang đến độ tin cậy • Phát triển tính sở : • • o Xác thực tài khoản (ethereum account) o Giao dịch blockchain o Lưu liệu sở liệu phân tán (ipfs) o Tương tác blockchain thông qua giao diện trực quan (web) o Tạo hợp đồng thơng minh quản lí giao dịch tự động HƯỚNG PHÁT TRIỂN Bên cạnh kết đạt được, nhóm vấn đề cần phải làm rõ tương lai: • • Các thuật tốn mã hố sử dụng việc tạo private key, public key, address hay tạo chữ ký cho giao dịch Cách thức hoạt động mạng P2P phương thức truyền thông node mạng Blockchain Làm rõ chế đồng thuận sử dụng Blockchain • Phát triển tính chạy thử kết nối ứng dụng cụ thể • Kết hợp sở liệu tập trung tăng tốc độ xử lí cải thiện trải nghiệm người dùng • Mơ tả thuật ngữ thường kèm với blockchain • 76 TÀI LIỆU THAM KHẢO [1] https://ethereum.org/en/developers/docs/ [2] https://docs.soliditylang.org/en/v0.8.2/# [3] https://viblo.asia/p/ethereum-hoat-dong-nhu-the-nao-6J3ZgwoEZmB [4] https://inseclab.uit.edu.vn/hop-dong-thong-minh-smart-contract-trong-laptrinh-dapp-voi-ethereum [5] https://coin98.net/web3 [6] https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ [7] https://www.geeksforgeeks.org/blockchain-technology-introduction/?ref=rp [8] Z Zheng, S Xie, H Dai, X Chen and H Wang, "An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends," in IEEE 6th International Congress on Big Data, 2017 [9] Cơng nghệ Blockchain gì? Ứng dụng thực tế Blockchain sống – UEH ALumni [10] Available: Lịch sử Blockchain (Chuỗi khối) | Binance Academy [11] Available: https://101blockchains.com/how-does-blockchainwork/?fbclid=IwAR1uW3gqS1aPqMQWfB1Aye6PGT7h5rcoZf5B7NiNobBxA5Yqlq 83tFJzrQc [12] Available: Những ứng dụng Blockchain bật triển khai thực tế (onetech.vn) [13]Available: https://searchcio.techtarget.com/feature/What-are-the-4different-types-of-blockchaintechnology?fbclid=IwAR3gwK9J20SVSeGlIWmfyXO39kujrKiOEFXN1qEOHhBKGX 1TxWfar9fOYjA [14] Cơng nghệ blockchain – lập trình solidity | Đồ án môn học UIT 77 [15]Tại phải sử dụng Blockchain? Hãy trả lời câu hỏi sau (coinvietnam.com) [16] S Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” 2008 [Online] Available: https://bitcoin.org/bitcoin.pdf [17] How does a blockchain work - Simply Explained - YouTube [18] Cơng nghệ Blockchain gì? Tại lại sử dụng công nghệ Blockchain? (tapchibitcoin.io) [19] Mastering Bitcoin by Andreas M Antonopoulos Available: Mastering Bitcoin (unglueit-files.s3.amazonaws.com) [20]Foundations of Blockchain : the Pathway to Cryptocurrencies and Decentralized Blockchain Applications [21] Lịch sử đời Blockchain Bitcoin (otis.report) [22] How Does the Blockchain Work? A Guide to Everything You Need to Know | OneZero (medium.com) [26] Blockchain Advantages and Disadvantages | Binance Academy [27] Tìm hiểu Công nghệ Blockchain Các ứng dụng công nghệ chuỗi khối Blockchain (viblo.asia) [28] Blockchain 1.0, 2.0, 3.0 tương lai - VietNamCrypto [29] Paul Kohlhaas - uPort: Self Sovereign Identity in Zug - YouTube [30] https://medium.com/@ahjuice/cryptography-what-is-it-and-how-does-itwork-2a21a730d694 [31] Logistics technology: Blockchain platform TradeLens seeks ‘organization identity’ (joc.com) 78 ... 11 Ứng dụng Blockchain đời sống 32 11.1 Ứng dụng ngành công nghiệp dịch vụ 32 11.2 Ứng dụng ngành nông nghiệp, thủy hải sản 33 11.3 Ứng dụng Blockchain xây dựng. ..ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa Ethereum Virtual Machine Solidity Môn học: Đồ án Giảng viên hướng dẫn: ThS Nguyễn Thị Thanh... nghệ BlockChain, biết tảng lý thuyết kỹ thuật sử dụng BlockChain, đặc biệt ứng dụng hợp đồng thơng minh cơng nghệ Bên cạnh hiểu Ethereum tảng BlockChain phổ biến có ứng dụng minh họa 12 BLOCKCHAIN

Ngày đăng: 17/08/2022, 21:38

Tài liệu cùng người dùng

Tài liệu liên quan