(Tiểu luận) báo cáo môn học đồ án chương 6 indexing and storage

36 1 0
(Tiểu luận) báo cáo môn học đồ án chương 6  indexing and storage

Đ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 QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC & KỸ THUẬT THÔNG TIN BÁO CÁO MÔN HỌC ĐỒ ÁN IT207 N11 CNCL GIẢNG VIÊN HƯỚNG DẪN VÕ NGỌC TÂN SINH VIÊN THỰC HIỆN ĐÀO VĨNH[.]

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC & KỸ THUẬT THÔNG TIN BÁO CÁO MÔN HỌC ĐỒ ÁN IT207.N11.CNCL GIẢNG VIÊN HƯỚNG DẪN: VÕ NGỌC TÂN SINH VIÊN THỰC HIỆN: ĐÀO VĨNH KỲ - 19521730 TRẦN HÙNG - 19521584 TP HỒ CHÍ MINH, 12/2020 h i h Chương Indexing and Storage 1.1 Indexing Data 1.1.1 Tracking ERC20 Token Holders 1.1.2 Revisiting the ERC20 Interface .5 1.1.3 Querying Transfer Events .6 1.1.4 Chia sẻ liệu củ a ng tô i 11 1.1.5 Xử lý tổ c lạ i chuỗ i 13 1.1.6 Sử dụ ng đă ng ký .13 1.1.7 Phá t mộ t tá i tổ c .14 1.1.8 Hoà n nguyên cá c thay đổ i 16 1.1.9 Kiểm thử đơn vị 18 1.1.10 Chọ n mộ t Node: 18 1.1.11 Kiểm tra trình lậ p mụ c 19 1.1.12 Sử dụ ng Ả nh chụ p nhanh .22 1.1.13 Lưu ý tậ p trung hó a 23 1.1.14 Dịch vụ phi tậ p trung .23 1.1.15 Ứ ng dụ ng tậ p trung 24 1.2 Storage 24 1.2.1 Lưu trữ (Off-chain Storage) .25 1.2.2 Tiện ích mở rộng siêu liệu ERC721(ERC721 Metadata Extension) 25 1.2.3 Saving Token Metadata 27 1.2.4 Interplanetary Storage 30 h 1.2.5 Sử dụng IpFS ứng dụng .32 1.2.6 Lưu trữ ứng dụng IPFS 34 1.3 Kết luận 35 h Chương Indexing and Storage Trong hai chương cuối, học cách đọc ghi vào mạng Ethereum Đọc thực gọi thông thường đến hợp đồng cách truy vấn kiện ghi, việc ghi thực ngữ cảnh giao dịch Tuy nhiên, thao tác phù hợp với trường hợp sử dụng Nếu muốn hiển thị liệu tổng hợp từ blockchain, việc truy vấn kiện từ phía máy khách nhanh chóng bị thiếu hụt Tương tự vậy, muốn lưu trữ lượng lớn thơng tin hợp đồng, chi phí khí đốt khiến khơng khả thi mặt kinh tế Trong chương này, làm việc với thành phần chuỗi để giải hai vấn đề Trước tiên, trải qua trình lập mục liệu blockchain máy chủ để truy vấn từ ứng dụng khách sau vào giải pháp lưu trữ ngồi chuỗi Chúng xem xét kỹ thuật để xử lý việc tổ chức lại thử nghiệm trình thực hiện, thảo luận giá trị giải pháp tập trung so với phi tập trung 1.1 Indexing Data Chúng ta bắt đầu với vấn đề lập mục liệu blockchain Trong ngữ cảnh này, cách lập mục, đề cập đến hành động thu thập phần thông tin định từ mạng (chẳng hạn số dư mã thông báo, giao dịch gửi hợp đồng tạo) lưu trữ chúng kho liệu truy vấn, chẳng hạn sở liệu quan hệ cơng cụ phân tích ElasticSearch, để thực truy vấn phức tạp Trong suốt chương này, thay cố gắng lập mục tồn chuỗi, chúng tơi chọn tập liệu cụ thể xây dựng giải pháp phù hợp với , API kiện Ethereum khơng phù hợp để làm Ví dụ: khơng thể dễ dàng có số lượng địa chứa nhiều số dư định nội dung ERC20 - truy vấn nhỏ chạy sở liệu quan hệ Lập mục sử dụng để cải thiện hiệu suất truy vấn số lượng h lớn kiện, cách hoạt động nhớ cache truy vấn Một sở liệu chuyên dụng trả lời truy vấn kiện nhanh nhiều so với nút Ethereum thông thường 1.1.1 Tracking ERC20 Token Holders Chúng theo dõi người nắm giữ mã thông báo đồng ERC20 cụ thể Hãy nhớ mã thông báo thay ERC20 hoạt động đồng xu, địa có số dư định Tuy nhiên, hợp đồng không đưa phương pháp để thực liệt kê chúng Ngay điều xảy ra, số mã thơng báo có sở người dùng vượt khả ứng dụng phía máy khách truy vấn nút Ethereum Ví dụ: thời điểm viết này, mã thơng báo OmiseGO (OMG) có 650.000 chủ sở hữu nhất.2 1.1.2 Revisiting the ERC20 Interface Chúng xem xét giao diện hợp đồng ERC20 để xác định khối xây dựng mà sử dụng Bỏ qua chức liên quan đến phụ cấp, tiêu chuẩn ERC20 bao gồm phương pháp kiện Như đề cập, không giống tiêu chuẩn ERC721 mở rộng, ERC20 không cung cấp phương pháp liệt kê tất chủ sở hữu mã thông báo Cách để xây dựng h danh sách qua kiện Chuyển thu thập tất địa người nhận 1.1.3 Querying Transfer Events Truy vấn kiện chuyển Chúng bắt đầu cách truy vấn tất kiện chuyển nhượng từ hợp đồng định Chúng xây dựng lớp ERC20Indexer, dựa vào nhà cung cấp kết nối web3, địa mã thông báo ERC20 số khối để bắt đầu truy vấn từ (Liệt kê 6-1) Tham số cuối thêm vào lý hiệu suất: khơng có ý nghĩa truy vấn khối trước hợp đồng mã thông báo triển khai Liệt kê 6-1.Constructor cho lớp ERC20Indexer mà làm việc Chúng lần phụ thuộc vào openzeppelin-solidity@2.2.0 để có ABI hợp đồng ERC20 Chúng lưu trữ danh sách tất địa chủ sở hữu mã thông báo chủ sở hữu trường LastBlock theo dõi khối cuối mà xử lý h Bây thêm phương thức vào lớp để lấy danh sách kiện chuyển giao từ hợp đồng định (Liệt kê 6-2) Vì danh sách có khả lớn chúng tơi đáp ứng yêu cầu (OMG có triệu lần chuyển đến thời điểm tại), cần chia thành nhiều u cầu, bắt đầu với phương pháp xử lý tất kiện phạm vi khối Liệt kê 6-2 Truy vấn tất kiện chuyển từ loạt khối theo lô Ở BATCH_SIZE phụ thuộc vào khối lượng giao dịch khối hợp đồng Phương thức nhận tất kiện chuyển phạm vi khối từ hợp đồng gửi chúng đến hàm ReduceEvent (Liệt kê 6-3) Chức giảm nhận kiện sử dụng để cập nhật danh sách chủ sở hữu mã thông báo h Liệt kê 6-3 Truy xuất người nhận chuyển mã thông báo để thêm người vào danh sách chủ sở hữu mã thơng báo Việc chuyển đến địa số thường mã thơng báo bị cháy, chúng tơi đưa khỏi danh sách Tuy nhiên, phương pháp mang lại số kết dương tính giả Nếu địa giữ số số dư sau chuyển tất cả, địa thêm vào danh sách chủ sở hữu không bị xóa Điều có nghĩa cần kiểm tra xem số dư địa có khác để liệt kê hay khơng Vì chúng tơi đó, chúng tơi thêm dặm theo dõi số dư chủ sở hữu Chúng tơi có hai tùy chọn để thực việc này, tùy chọn có ưu nhược điểm riêng: Chúng tơi dựa vào phương pháp ERC20 balanceOf để kiểm tra số dư địa mà chúng tơi thêm vào danh sách Chúng tơi thực việc chúng tơi tìm thấy địa để thêm vào tập hợp có người giữ với số dư sẵn sàng Tuy nhiên, điều có nghĩa chúng tơi đưa yêu cầu bổ sung cho chủ sở hữu mã thông báo cần chạy lại truy vấn thấy khối với lần chuyển Chúng tơi sử dụng thực tế số dư địa hợp đồng ERC20 xác định cách cần xem xét kiện chuyển nhượng Vì chúng tơi truy vấn chúng, chúng tơi theo dõi tất chuyển động đến từ địa cập nhật chúng cho phù hợp Điều yêu cầu logic chút h phía chúng tôi, không cần yêu cầu bổ sung mạng Ethereum Nhược điểm dựa vào số dư địa quét xong khối chuỗi Để ưu tiên giảm số lượng yêu cầu, với chiến lược thứ hai (Liệt kê 6-4) Điều có nghĩa chức để giảm bớt kiện cần tính đến giá trị lần chuyển Liệt kê 6-4 Giảm giá kiện để cập nhật số dư chủ sở hữu Ở số dư đối tượng thay tập hợp chủ sở hữu cũ Lưu ý loại trừ địa số với tư cách người gửi người nhận, chuyển từ địa đại diện cho kiện đúc tiền chuyển đến địa đại diện cho bỏng Được trang bị lớp tạo danh sách người nắm giữ số dư chúng cho phạm vi khối định, cần phải cập nhật danh sách khối khai thác (Liệt kê 6-5) Chúng tơi sử dụng tính thăm dị để nhận khối mới, đăng ký giải pháp thay khả thi h

Ngày đăng: 10/05/2023, 15:19

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

Tài liệu liên quan