Bài học 2

Công nghệ đằng sau đồ thị

Đi sâu vào kiến trúc của The Graph, chúng tôi tìm thấy một hệ thống phức tạp nhưng có cấu trúc trang nhã, làm nền tảng cho cơ chế truy vấn phi tập trung trong hệ sinh thái blockchain. Khung phức tạp này, tập trung xung quanh Nút đồ thị, điều phối sự tích hợp liền mạch của nhiều thành phần khác nhau, mỗi thành phần đóng một vai trò quan trọng trong hoạt động hiệu quả của mạng.

Nút đồ thị: Sức mạnh lập chỉ mục

Trung tâm kiến trúc của The Graph là Graph Node. Thành phần chính này chịu trách nhiệm lập chỉ mục các sơ đồ con và làm cho dữ liệu kết quả có thể truy cập được thông qua API GraphQL. Đó là cốt lõi của ngăn xếp bộ chỉ mục và hoạt động hiệu quả của nó là rất quan trọng để chạy một bộ chỉ mục thành công. Graph Node hoạt động linh hoạt, có khả năng chạy trên cả môi trường kim loại trần và đám mây, phản ánh khả năng thích ứng cần thiết trong bối cảnh năng động của công nghệ blockchain.

Lưu trữ dữ liệu trong cơ sở dữ liệu PostgreSQL

Tích hợp với hoạt động của Graph Node là cơ sở dữ liệu PostgreSQL, đóng vai trò là kho lưu trữ chính. Cơ sở dữ liệu này không chỉ chứa dữ liệu sơ đồ con mà còn chứa siêu dữ liệu về các sơ đồ con và dữ liệu mạng thiết yếu như bộ nhớ đệm khối và eth_call. Việc tổ chức và quản lý cơ sở dữ liệu này rất quan trọng để Nút đồ thị hoạt động trơn tru, đảm bảo tính toàn vẹn và khả năng truy cập của dữ liệu.

Máy khách mạng và Firehoses

Để lập chỉ mục các mạng blockchain, Graph Node kết nối với các máy khách của mạng thông qua API JSON-RPC tương thích với EVM. Thiết lập này có thể thay đổi từ việc kết nối với một máy khách đến một cách sắp xếp phức tạp hơn liên quan đến cân bằng tải trên nhiều máy khách. Ngoài ra, The Graph đã phát triển Network Firehoses - một dịch vụ gRPC cung cấp luồng khối có thứ tự, nhận biết nhánh. Mặc dù hiện không phải là yêu cầu đối với người lập chỉ mục nhưng Firehose thể hiện sự tiến bộ đáng kể trong việc hỗ trợ lập chỉ mục hiệu suất trên quy mô lớn.

Siêu dữ liệu trên các nút IPFS và giám sát bằng Prometheus

Sự tương tác của Nút đồ thị với mạng IPFS là rất quan trọng để lưu trữ siêu dữ liệu triển khai đồ thị con. Nút IPFS được lưu trữ ở cấp độ mạng giúp đơn giản hóa quy trình này cho người lập chỉ mục. Ngoài ra, việc tích hợp tùy chọn với máy chủ số liệu Prometheus để theo dõi và báo cáo sẽ bổ sung thêm một lớp phức tạp khác, cho phép người lập chỉ mục theo dõi và tối ưu hóa hiệu suất của Nút đồ thị.

Khả năng mở rộng và cấu hình nâng cao

Việc thiết lập linh hoạt của Graph Node, từ các tùy chọn cài đặt đến khả năng mở rộng quy mô, nêu bật cam kết của Graph trong việc đáp ứng các nhu cầu hoạt động khác nhau. Hệ thống có thể được mở rộng theo chiều ngang với nhiều Nút đồ thị và cơ sở dữ liệu, đáp ứng nhu cầu ngày càng tăng của mạng. Người dùng nâng cao có thể tận dụng các tùy chọn cấu hình của Graph Node, được quản lý thông qua tệp TOML hoặc các biến môi trường, để tối ưu hóa việc xử lý dữ liệu và phân phối khối lượng công việc.

Lập chỉ mục và xử lý dữ liệu: Firehose và các dòng con được xác định lại

Firehose: Phát minh lại việc khai thác dữ liệu Blockchain

Firehose, được khái niệm hóa và phát triển bởi StreamingFast, đánh dấu một cuộc cách mạng trong việc trích xuất dữ liệu từ các nút blockchain. Công cụ cải tiến này chia nhỏ mọi giao dịch trong khối blockchain thành các phần tử nhỏ nhất, lưu chúng dưới dạng các tệp phẳng, đơn giản. Những tệp phẳng này không chỉ là một định dạng lưu trữ; chúng thể hiện sự thay đổi mô hình trong việc lập chỉ mục dữ liệu. Chúng hỗ trợ xử lý song song, giúp tăng tốc đáng kể các hoạt động lập chỉ mục. Công nghệ này cung cấp dữ liệu phong phú, có khả năng nhận biết nhánh từ các nút blockchain được trang bị trực tiếp cho người tiêu dùng. Về mặt thực tế, Firehose đã thể hiện sức mạnh của mình bằng cách cung cấp tốc độ thu thập và xử lý mà trước đây được cho là không thể đạt được, từ đó đặt ra các tiêu chuẩn mới về trích xuất dữ liệu trong hệ sinh thái của The Graph.

Dòng con: Tiên phong xử lý dữ liệu hiệu quả

Dòng con, một phần mở rộng của các khả năng do Firehose cung cấp, được thiết kế để xử lý dữ liệu hiệu suất cao theo kiểu song song, ưu tiên phát trực tuyến. Các mô-đun được viết bằng Rust này cho phép các nhà phát triển soạn thảo, sắp xếp, lưu trữ và chuyển đổi dữ liệu blockchain cho nhiều mục đích sử dụng khác nhau. Sự khéo léo của Substreams nằm ở khả năng sử dụng các tệp phẳng của Firehose để lập chỉ mục dữ liệu với tốc độ cực nhanh. Cách tiếp cận này đảm bảo rằng Dòng con không chỉ có hiệu quả cao trong việc xử lý dữ liệu mà còn phân phối dữ liệu ngay khi có sẵn, thay vì dựa vào các yêu cầu liên tục.

Sự kết hợp giữa Firehose và Substream

Việc tích hợp Firehose và Substreams trong hệ sinh thái của The Graph mang đến sự kết hợp mạnh mẽ để xử lý dữ liệu. Firehose đảm bảo phân phối nhanh chóng dữ liệu blockchain ở định dạng được tối ưu hóa, trong khi Substreams tiếp tục tinh chỉnh và xử lý dữ liệu này. Mối quan hệ tổng hợp này mang lại hiệu quả tuyệt vời trong việc xử lý khối lượng lớn dữ liệu blockchain, nâng cao đáng kể khả năng của The Graph.

Đồ thị con: Tiêu chuẩn ngành về lập chỉ mục dữ liệu

Đồ thị con đã trở thành tiêu chuẩn ngành trong việc lập chỉ mục dữ liệu blockchain kể từ khi được The Graph giới thiệu vào năm 2018. Về cơ bản, chúng là các API mở có chức năng trích xuất, xử lý và lưu trữ dữ liệu từ các chuỗi khối, do đó giúp dễ dàng truy vấn thông qua giao diện GraphQL. Với hơn 85.000 đồ thị con được hỗ trợ trên hơn 40 chuỗi, đồ thị con đã trở nên không thể thiếu đối với các nhà phát triển web3. Chúng cho phép triển khai nhanh chóng cơ sở dữ liệu Postgres chứa đầy dữ liệu được lập chỉ mục, sẵn sàng được truy vấn bằng cách sử dụng lớp GraphQL. Biểu đồ con cho phép các nhà phát triển hiển thị nhiều loại dữ liệu blockchain trong DApp của họ, từ giao dịch DeFi đến xuất xứ NFT, một cách có tổ chức và hiệu quả.

Trong bối cảnh công nghệ blockchain ngày càng phát triển, đồ thị con đã nổi lên như một khái niệm then chốt, thay đổi cách chúng ta tương tác và sử dụng dữ liệu blockchain. Các API mở này đóng vai trò trung gian, thu hẹp khoảng cách giữa thế giới phi tập trung của chuỗi khối và lĩnh vực dữ liệu có cấu trúc quen thuộc. Bằng cách trích xuất, xử lý và sắp xếp dữ liệu chuỗi khối thành định dạng có thể truy vấn, các sơ đồ con trao quyền cho các nhà phát triển xây dựng các ứng dụng sáng tạo và dựa trên dữ liệu.

Đồ thị con mang lại rất nhiều lợi ích, khiến chúng trở thành lựa chọn hấp dẫn cho cả nhà phát triển và người dùng. Bản chất phi tập trung của chúng đảm bảo khả năng chống kiểm duyệt và thời gian ngừng hoạt động, thúc đẩy hệ sinh thái dữ liệu an toàn và đáng tin cậy. Ngoài ra, các sơ đồ con vốn có khả năng mở rộng, có khả năng xử lý lượng dữ liệu khổng lồ mà không ảnh hưởng đến hiệu suất. Hiệu quả về chi phí là một lợi thế quan trọng khác, với các biểu đồ con thường có giá cả phải chăng hơn so với API dữ liệu truyền thống.

Kiến trúc đồ thị con

Đồ thị con bao gồm ba thành phần thiết yếu hoạt động hài hòa để mang lại khả năng biến đổi:

  1. Tệp kê khai: Tệp kê khai đóng vai trò là bản thiết kế của sơ đồ con, phác thảo các nguồn dữ liệu, lược đồ và mã AssemblyScript. Nó xác định ranh giới của dữ liệu mà sơ đồ con sẽ lập chỉ mục, đảm bảo rằng chỉ những thông tin liên quan mới được ghi lại.

  2. Lược đồ: Lược đồ xác định cấu trúc của dữ liệu, giống như bản thiết kế của một tòa nhà. Nó phác thảo các thực thể, trường và mối quan hệ giữa các thực thể, cung cấp một cách rõ ràng và có tổ chức để trình bày dữ liệu.

  3. Mã AssemblyScript: Mã thực thi này đóng vai trò là đặc tính của sơ đồ con, dịch dữ liệu thô từ chuỗi khối sang định dạng mà công cụ GraphQL có thể hiểu được. Nó cũng xử lý việc lập chỉ mục và lưu trữ dữ liệu, đảm bảo khả năng truy cập và độ tin cậy của nó.

Quá trình phát triển đồ thị con

Việc tạo một sơ đồ con đòi hỏi một loạt các bước, mỗi bước được thực hiện cẩn thận để đảm bảo chức năng và tính hiệu quả của sơ đồ con:

  1. Lên ý tưởng và thiết kế: Hành trình bắt đầu với ý tưởng rõ ràng về dữ liệu sẽ được lập chỉ mục và các ứng dụng mà nó sẽ cung cấp. Điều này liên quan đến việc xác định các thực thể, trường và mối quan hệ giữa chúng, đảm bảo rằng cấu trúc của sơ đồ con phù hợp với mục đích đã định của nó.

  2. Phát triển tệp kê khai và lược đồ: Tệp kê khai và lược đồ được tạo một cách tỉ mỉ, cung cấp nền tảng cho kiến trúc dữ liệu của sơ đồ con. Tệp kê khai chỉ định các nguồn dữ liệu, trong khi lược đồ phác thảo cấu trúc dữ liệu, đảm bảo tính toàn vẹn và nhất quán của dữ liệu.

  3. Triển khai mã AssemblyScript: Mã AssemblyScript được viết, dịch dữ liệu chuỗi khối thô sang định dạng mà GraphQL có thể hiểu được. Nó xử lý việc lập chỉ mục, lưu trữ và truy xuất dữ liệu, cho phép truy cập hiệu quả vào dữ liệu được lập chỉ mục.

Triển khai và xuất bản đồ thị con

Sau khi đồ thị con được phát triển, nó sẽ trải qua quá trình triển khai để giới thiệu nó với thế giới:

  1. Tích hợp Subgraph Studio: Subgraph Studio đóng vai trò như một nền tảng tập trung để quản lý các sơ đồ con. Nó tạo điều kiện thuận lợi cho quá trình triển khai, cho phép các nhà phát triển xuất bản sơ đồ con của họ lên mạng phi tập trung.

  2. Lập chỉ mục và quản lý: Người lập chỉ mục, chịu trách nhiệm tìm nạp và lưu trữ dữ liệu blockchain, rất cần thiết để làm cho các đồ thị con có thể truy cập được đối với các nhà phát triển. Việc quản lý, thường được thực hiện thông qua mã thông báo GRT, khuyến khích người lập chỉ mục ưu tiên các sơ đồ con có nhu cầu cao.

  3. Truy vấn và sử dụng: Giờ đây, nhà phát triển có thể truy vấn sơ đồ con đã triển khai bằng truy vấn GraphQL, truy xuất dữ liệu cụ thể phù hợp với nhu cầu ứng dụng của họ. Sự tích hợp liền mạch này trao quyền cho các nhà phát triển khai thác dữ liệu blockchain để đổi mới.

Tương lai: Kỷ nguyên mới của đồ thị

Khi The Graph bắt đầu Kỷ nguyên mới của nó (Chúng ta sẽ khám phá nó trong Bài học 5), sự phát triển liên tục của các công nghệ cốt lõi này – sơ đồ con, Firehose và Substream – rất được mong đợi. Các thành phần này được thiết lập để mở rộng và phát triển, đóng vai trò quan trọng trong việc giới thiệu các dịch vụ dữ liệu mới và đảm bảo các luồng dữ liệu mô-đun nhanh hơn, nhanh hơn. Ví dụ, Firehose có thể xác minh được sẵn sàng trở thành một giải pháp đột phá để truy cập dữ liệu lịch sử Ethereum, giải quyết các thách thức trong việc phát triển các tiêu chuẩn blockchain.

Phân biệt đồ thị con với dòng con

Điều quan trọng là phải phân biệt giữa đồ thị con và Luồng con vì chúng phục vụ các mục đích khác nhau. Đồ thị con lý tưởng cho việc truy xuất và quản lý dữ liệu tiêu chuẩn, giúp dễ dàng thiết lập và sử dụng với lớp truy vấn GraphQL. Ngược lại, Dòng con được điều chỉnh cho các nhu cầu phân tích phức tạp hơn và dữ liệu lớn, cung cấp khả năng xử lý dữ liệu song song và tính linh hoạt cao hơn trong việc xử lý và lưu trữ dữ liệu. Dòng con cho phép các nhà phát triển chuyển đổi dữ liệu từ các định dạng tệp cơ bản thành các dạng dễ sử dụng hơn, đáp ứng các yêu cầu xử lý dữ liệu phức tạp.

Tổ chức dữ liệu ngoài chuỗi: Cách tiếp cận và tác động của biểu đồ đối với đường ống dữ liệu Web3

Graph, vốn được biết đến với khả năng tổ chức dữ liệu trên chuỗi, hiện đang mở rộng tầm nhìn của mình bằng cách dấn thân vào lĩnh vực dữ liệu ngoài chuỗi. Cách tiếp cận này phù hợp với sứ mệnh lâu dài của The Graph là cung cấp quyền truy cập dễ dàng vào kiến thức và thông tin công cộng của thế giới.

Web3 và sự đánh đổi trong quản lý dữ liệu

Trong kiến trúc Web3, mặc dù người dùng có thể tương tác trực tiếp với blockchain thông qua các dịch vụ phần mềm trung gian nhưng vẫn có sự đánh đổi, đặc biệt là khi nói đến chi phí. Chi phí giao dịch trên chuỗi, thường được gọi là phí gas, có thể cực kỳ cao đối với các tính toán phức tạp hoặc lưu trữ dữ liệu rộng rãi. Hạn chế này trong lịch sử đã làm giảm sự phức tạp của các ứng dụng hoặc khiến các nhà phát triển tạo ra các API ngoài chuỗi độc quyền, bắt nguồn từ các mô hình nguồn mở.

Giải pháp độc đáo của đồ thị cho dữ liệu ngoài chuỗi

Graph trình bày một giải pháp độc đáo cho thách thức này bằng cách cho phép tổ chức và cung cấp dữ liệu ngoài chuỗi thông qua mạng phi tập trung của nó. Phương pháp này bao gồm một quy trình làm việc trong đó dữ liệu ngoài chuỗi truyền thống được đăng lên IPFS (Hệ thống tệp liên hành tinh) và sau đó băm IPFS được ghi lại trên chuỗi. Sau đó, dữ liệu này có thể được lập chỉ mục bằng các biểu đồ con và có sẵn để truy vấn. Cách tiếp cận này cung cấp một cách tiết kiệm và có thể mở rộng để xuất bản và cung cấp dữ liệu động, phức tạp mà không cần tốn chi phí xây dựng và duy trì các API độc quyền.

Quy trình làm việc: Quy trình ba bước

Quy trình làm việc bao gồm ba thành phần chính:

  1. Công việc định kỳ để tính toán và đăng dữ liệu: Công việc định kỳ ngoài chuỗi thực hiện các tính toán phức tạp và đăng kết quả lên nguồn permaweb, như IPFS, có thể lập chỉ mục bởi The Graph. Công việc này cũng tạo ra một giao dịch trên chuỗi để đăng hàm băm tệp IPFS và mọi siêu dữ liệu có liên quan.

  2. Xuất bản biểu đồ con để lập chỉ mục: Bước tiếp theo liên quan đến việc xuất bản một biểu đồ con lập chỉ mục các tệp IPFS này dựa trên các hàm băm tệp được đăng trên chuỗi. Sau khi biểu đồ con được xuất bản, Người lập chỉ mục trong mạng của The Graph có thể chọn và phục vụ biểu đồ con đó, cho phép các nhà phát triển và người dùng bên thứ ba truy vấn dữ liệu.

  3. Truy cập dữ liệu mạnh mẽ và đáng tin cậy: Bằng cách tận dụng mạng lưới Người lập chỉ mục phân tán của The Graph, quyền truy cập dữ liệu vẫn mạnh mẽ và đáng tin cậy mà không cần nỗ lực thêm từ nhà xuất bản dữ liệu. Cấu trúc phi tập trung này tăng cường đáng kể tính sẵn có và tính toàn vẹn của dữ liệu.

Triển khai thực tế và hiệu quả chi phí

Một ví dụ thực tế trong hệ sinh thái The Graph là oracle do Edge & Node phát triển để xuất bản các số liệu về chi phí mạng và chất lượng dịch vụ. Oracle này đăng dữ liệu tổng hợp lên IPFS cứ năm phút một lần và ghi lại hàm băm tệp IPFS trên chuỗi Gnosis. Dữ liệu này sau đó được lập chỉ mục trong một biểu đồ con, có thể được các bên liên quan đến giao thức sử dụng. Chi phí liên quan đến quy trình làm việc này thấp đến mức đáng ngạc nhiên, khiến nó trở thành một lựa chọn hấp dẫn cho các nhà xuất bản dữ liệu.

Khả năng mới với dữ liệu động

Phương pháp sử dụng The Graph cho dữ liệu động này mở ra những khả năng mới thú vị cho các trang web cố định, bao gồm cả phần phụ trợ cho blog, quản lý nội dung bằng thuật toán và hệ thống giám sát thời gian thực. Nó thể hiện sự thay đổi đáng kể trong cách xuất bản, lập chỉ mục và truy cập dữ liệu, thúc đẩy hệ sinh thái web3 cộng tác và cởi mở hơn.

Tổ chức dữ liệu ngoài chuỗi: Cách tiếp cận sáng tạo của đồ thị

Việc mở rộng Graph sang quản lý dữ liệu ngoài chuỗi sẽ mở ra những con đường mới trong hệ sinh thái Web3, tạo ra cầu nối giữa lĩnh vực dữ liệu phi tập trung và truyền thống. Sáng kiến này phản ánh sứ mệnh của The Graph là giúp có thể truy cập được nhiều thông tin hơn theo cách phi tập trung, giải quyết những hạn chế cố hữu của việc tính toán và lưu trữ dữ liệu trên chuỗi.

Cân bằng nhu cầu dữ liệu trên chuỗi và ngoài chuỗi

Biểu đồ ghi nhận sự đánh đổi liên quan đến chi phí của việc tính toán và lưu trữ dữ liệu trên chuỗi trong kiến trúc Web3. Mặc dù tương tác trực tiếp với blockchain rất đơn giản nhưng các phép tính phức tạp và lưu trữ dữ liệu quy mô lớn có thể trở nên cực kỳ tốn kém. Để khắc phục những hạn chế này, The Graph giới thiệu một phương pháp kết hợp lưu trữ dữ liệu ngoài chuỗi với tham chiếu dữ liệu trên chuỗi, từ đó duy trì đặc tính phi tập trung đồng thời nâng cao chức năng.

Phương pháp của biểu đồ cho dữ liệu ngoài chuỗi

Cách tiếp cận này bao gồm một quy trình làm việc gồm ba bước:

  1. Tính toán ngoài chuỗi và đăng IPFS: Các tính toán phức tạp được thực hiện ngoài chuỗi và dữ liệu kết quả được đăng lên IPFS, một giải pháp lưu trữ phi tập trung. Bước này đảm bảo rằng dữ liệu, dù ở ngoài chuỗi, vẫn được lưu trữ theo cách có thể xác minh và phi tập trung.

  2. Liên kết trên chuỗi thông qua giao dịch: Bên cạnh việc lưu trữ dữ liệu trên IPFS, một giao dịch trên chuỗi tương ứng được thực hiện để ghi lại hàm băm IPFS và siêu dữ liệu có liên quan khác. Phương pháp này neo dữ liệu ngoài chuỗi vào blockchain, cung cấp một lớp tin cậy và truy xuất nguồn gốc.

  3. Lập chỉ mục đồ thị con cho khả năng truy cập: Bước cuối cùng liên quan đến việc lập chỉ mục dữ liệu được lưu trữ IPFS bằng cách sử dụng đồ thị con. Quá trình này làm cho dữ liệu ngoài chuỗi có thể dễ dàng truy vấn và truy cập được thông qua mạng phi tập trung của The Graph.
    Triển khai thực tế: Oracle của Edge & Node

Một ứng dụng thực tế của phương pháp này trong hệ sinh thái của The Graph là oracle do Edge & Node phát triển. Nhà tiên tri này xuất bản các số liệu về chi phí mạng và chất lượng dịch vụ cứ năm phút một lần theo cách sau:

  • Dữ liệu tổng hợp được đăng lên IPFS.

  • Sau đó, hàm băm tệp IPFS tương ứng được ghi lại trên chuỗi Gnosis thông qua hợp đồng DataEdge.

  • Các tệp IPFS này được lập chỉ mục trong biểu đồ con, cung cấp dữ liệu cho các bên liên quan theo cách phi tập trung.
    Việc triển khai này thể hiện cách tiếp cận hiệu quả, có thể mở rộng và chi phí thấp để xuất bản và cung cấp dữ liệu phức tạp mà không cần API độc quyền. Nó minh họa cách tận dụng phương pháp của Đồ thị để tạo nguồn dữ liệu động cho nhiều ứng dụng.

Hiệu quả chi phí và khả năng mở rộng

Chi phí liên quan đến quy trình làm việc này thấp đến mức đáng ngạc nhiên, khiến nó trở thành một giải pháp hấp dẫn đối với các nhà xuất bản dữ liệu. Ví dụ: việc triển khai oracle của Edge & Node sẽ phát sinh chi phí tối thiểu cho các giao dịch trên chuỗi và ghim nút IPFS, trong đó chi phí phân phối do người tiêu dùng dữ liệu chịu. Mô hình này giảm chi phí hoạt động cho nhà xuất bản dữ liệu một cách hiệu quả đồng thời đảm bảo khả năng truy cập dữ liệu mạnh mẽ và đáng tin cậy.

Kích hoạt các trường hợp sử dụng Web3 mới

Phương pháp này mở ra những khả năng mới cho các ứng dụng permaweb, chẳng hạn như back-end động cho blog, quản lý nội dung bằng thuật toán và hệ thống giám sát thời gian thực. Nó cho phép phân vùng các nhà xuất bản dữ liệu khỏi các nhà khai thác ứng dụng/giao diện người dùng, khuyến khích sự chuyên môn hóa và phân công lao động trong cộng đồng nguồn mở. Cách tiếp cận này hứa hẹn cho các ứng dụng và giao thức xã hội phi tập trung, đưa ra một hướng đi mới cho việc xuất bản và tiêu thụ dữ liệu phi tập trung.

Ngôn ngữ truy vấn và API trong biểu đồ: Sử dụng GraphQL

Việc tích hợp GraphQL làm ngôn ngữ truy vấn được lựa chọn. Quyết định này định hình đáng kể cách truy cập và tương tác với dữ liệu thông qua API của The Graph, cung cấp một phương pháp hợp lý và hiệu quả để truy vấn dữ liệu chuỗi khối.

Hiểu vai trò của GraphQL trong biểu đồ

GraphQL đi đầu trong thiết kế API hiện đại, cung cấp cách tiếp cận linh hoạt và hiệu quả để truy xuất dữ liệu. Trong bối cảnh blockchain, nơi cấu trúc dữ liệu phức tạp và không ngừng phát triển, khả năng tìm nạp chính xác những gì cần thiết của GraphQL trở nên vô giá.

  1. Truy vấn dữ liệu phù hợp: Điểm hấp dẫn cốt lõi của GraphQL là khả năng cho phép khách hàng xác định chính xác cấu trúc dữ liệu họ yêu cầu. Khả năng này là sự khởi đầu đáng kể so với các phản hồi có cấu trúc cố định truyền thống, cho phép tương tác dữ liệu tập trung và hiệu quả hơn.

  2. Tăng cường tương tác trong thời gian thực: Ngoài việc truy vấn, GraphQL trong The Graph còn hỗ trợ đăng ký dữ liệu theo thời gian thực. Tính năng này rất quan trọng đối với các ứng dụng blockchain, nơi cập nhật kịp thời và khả năng phản hồi là chìa khóa cho trải nghiệm người dùng.

  3. Truy cập dữ liệu phi tập trung và không cần tin cậy: Việc sử dụng GraphQL của Graph mở rộng triết lý phân cấp sang lĩnh vực truy cập dữ liệu. Bằng cách giao tiếp với mạng lưới các nút phi tập trung, các truy vấn GraphQL đảm bảo rằng dữ liệu luôn mở, minh bạch và chống kiểm duyệt.
    Sự hội tụ của API và GraphQL

Trong hệ sinh thái của The Graph, việc kết hợp các API với GraphQL sẽ tạo ra một hệ thống truy xuất dữ liệu hài hòa và mạnh mẽ:

  1. Định nghĩa lược đồ và ánh xạ dữ liệu: Các nhà phát triển xác định lược đồ GraphQL trong sơ đồ con của họ, phác thảo cấu trúc của dữ liệu có thể truy vấn. Lược đồ sau đó được ánh xạ phức tạp tới các sự kiện blockchain, chuyển các hoạt động trên chuỗi thành dữ liệu có cấu trúc.

  2. Thực thi truy vấn thông qua Trình lập chỉ mục: Khi một truy vấn GraphQL được gửi tới API đồ thị con, truy vấn đó sẽ được xử lý bởi mạng lưới Người lập chỉ mục phi tập trung của The Graph. Quá trình này minh họa cách các truy vấn được thực hiện theo cách phân tán, duy trì các nguyên tắc của công nghệ blockchain.

  3. Xử lý các mối quan hệ dữ liệu phức tạp: Với các mối quan hệ dữ liệu phức tạp đang trở nên phổ biến trong blockchain, khả năng xử lý các truy vấn phức tạp của GraphQL, bao gồm nhiều hình thức lọc và sắp xếp dữ liệu khác nhau, đặc biệt có lợi.

Lợi ích mang lại cho Nhà phát triển và Người dùng cuối

Việc tích hợp GraphQL trong The Graph mang lại nhiều lợi ích:

  • Tính linh hoạt dành cho nhà phát triển: Nhà phát triển có thể khai thác toàn bộ sức mạnh của GraphQL để tạo các truy vấn phù hợp chính xác với yêu cầu ứng dụng của họ.
  • Tìm nạp dữ liệu hiệu quả: Giảm thời gian tìm nạp dữ liệu giúp nâng cao hiệu suất ứng dụng, trực tiếp mang lại trải nghiệm tốt hơn cho người dùng cuối.
  • Tích hợp dữ liệu liền mạch: Bản chất tiêu chuẩn hóa của các truy vấn GraphQL đơn giản hóa quá trình tích hợp các nguồn dữ liệu blockchain đa dạng vào ứng dụng.
Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.
Danh mục
Bài học 2

Công nghệ đằng sau đồ thị

Đi sâu vào kiến trúc của The Graph, chúng tôi tìm thấy một hệ thống phức tạp nhưng có cấu trúc trang nhã, làm nền tảng cho cơ chế truy vấn phi tập trung trong hệ sinh thái blockchain. Khung phức tạp này, tập trung xung quanh Nút đồ thị, điều phối sự tích hợp liền mạch của nhiều thành phần khác nhau, mỗi thành phần đóng một vai trò quan trọng trong hoạt động hiệu quả của mạng.

Nút đồ thị: Sức mạnh lập chỉ mục

Trung tâm kiến trúc của The Graph là Graph Node. Thành phần chính này chịu trách nhiệm lập chỉ mục các sơ đồ con và làm cho dữ liệu kết quả có thể truy cập được thông qua API GraphQL. Đó là cốt lõi của ngăn xếp bộ chỉ mục và hoạt động hiệu quả của nó là rất quan trọng để chạy một bộ chỉ mục thành công. Graph Node hoạt động linh hoạt, có khả năng chạy trên cả môi trường kim loại trần và đám mây, phản ánh khả năng thích ứng cần thiết trong bối cảnh năng động của công nghệ blockchain.

Lưu trữ dữ liệu trong cơ sở dữ liệu PostgreSQL

Tích hợp với hoạt động của Graph Node là cơ sở dữ liệu PostgreSQL, đóng vai trò là kho lưu trữ chính. Cơ sở dữ liệu này không chỉ chứa dữ liệu sơ đồ con mà còn chứa siêu dữ liệu về các sơ đồ con và dữ liệu mạng thiết yếu như bộ nhớ đệm khối và eth_call. Việc tổ chức và quản lý cơ sở dữ liệu này rất quan trọng để Nút đồ thị hoạt động trơn tru, đảm bảo tính toàn vẹn và khả năng truy cập của dữ liệu.

Máy khách mạng và Firehoses

Để lập chỉ mục các mạng blockchain, Graph Node kết nối với các máy khách của mạng thông qua API JSON-RPC tương thích với EVM. Thiết lập này có thể thay đổi từ việc kết nối với một máy khách đến một cách sắp xếp phức tạp hơn liên quan đến cân bằng tải trên nhiều máy khách. Ngoài ra, The Graph đã phát triển Network Firehoses - một dịch vụ gRPC cung cấp luồng khối có thứ tự, nhận biết nhánh. Mặc dù hiện không phải là yêu cầu đối với người lập chỉ mục nhưng Firehose thể hiện sự tiến bộ đáng kể trong việc hỗ trợ lập chỉ mục hiệu suất trên quy mô lớn.

Siêu dữ liệu trên các nút IPFS và giám sát bằng Prometheus

Sự tương tác của Nút đồ thị với mạng IPFS là rất quan trọng để lưu trữ siêu dữ liệu triển khai đồ thị con. Nút IPFS được lưu trữ ở cấp độ mạng giúp đơn giản hóa quy trình này cho người lập chỉ mục. Ngoài ra, việc tích hợp tùy chọn với máy chủ số liệu Prometheus để theo dõi và báo cáo sẽ bổ sung thêm một lớp phức tạp khác, cho phép người lập chỉ mục theo dõi và tối ưu hóa hiệu suất của Nút đồ thị.

Khả năng mở rộng và cấu hình nâng cao

Việc thiết lập linh hoạt của Graph Node, từ các tùy chọn cài đặt đến khả năng mở rộng quy mô, nêu bật cam kết của Graph trong việc đáp ứng các nhu cầu hoạt động khác nhau. Hệ thống có thể được mở rộng theo chiều ngang với nhiều Nút đồ thị và cơ sở dữ liệu, đáp ứng nhu cầu ngày càng tăng của mạng. Người dùng nâng cao có thể tận dụng các tùy chọn cấu hình của Graph Node, được quản lý thông qua tệp TOML hoặc các biến môi trường, để tối ưu hóa việc xử lý dữ liệu và phân phối khối lượng công việc.

Lập chỉ mục và xử lý dữ liệu: Firehose và các dòng con được xác định lại

Firehose: Phát minh lại việc khai thác dữ liệu Blockchain

Firehose, được khái niệm hóa và phát triển bởi StreamingFast, đánh dấu một cuộc cách mạng trong việc trích xuất dữ liệu từ các nút blockchain. Công cụ cải tiến này chia nhỏ mọi giao dịch trong khối blockchain thành các phần tử nhỏ nhất, lưu chúng dưới dạng các tệp phẳng, đơn giản. Những tệp phẳng này không chỉ là một định dạng lưu trữ; chúng thể hiện sự thay đổi mô hình trong việc lập chỉ mục dữ liệu. Chúng hỗ trợ xử lý song song, giúp tăng tốc đáng kể các hoạt động lập chỉ mục. Công nghệ này cung cấp dữ liệu phong phú, có khả năng nhận biết nhánh từ các nút blockchain được trang bị trực tiếp cho người tiêu dùng. Về mặt thực tế, Firehose đã thể hiện sức mạnh của mình bằng cách cung cấp tốc độ thu thập và xử lý mà trước đây được cho là không thể đạt được, từ đó đặt ra các tiêu chuẩn mới về trích xuất dữ liệu trong hệ sinh thái của The Graph.

Dòng con: Tiên phong xử lý dữ liệu hiệu quả

Dòng con, một phần mở rộng của các khả năng do Firehose cung cấp, được thiết kế để xử lý dữ liệu hiệu suất cao theo kiểu song song, ưu tiên phát trực tuyến. Các mô-đun được viết bằng Rust này cho phép các nhà phát triển soạn thảo, sắp xếp, lưu trữ và chuyển đổi dữ liệu blockchain cho nhiều mục đích sử dụng khác nhau. Sự khéo léo của Substreams nằm ở khả năng sử dụng các tệp phẳng của Firehose để lập chỉ mục dữ liệu với tốc độ cực nhanh. Cách tiếp cận này đảm bảo rằng Dòng con không chỉ có hiệu quả cao trong việc xử lý dữ liệu mà còn phân phối dữ liệu ngay khi có sẵn, thay vì dựa vào các yêu cầu liên tục.

Sự kết hợp giữa Firehose và Substream

Việc tích hợp Firehose và Substreams trong hệ sinh thái của The Graph mang đến sự kết hợp mạnh mẽ để xử lý dữ liệu. Firehose đảm bảo phân phối nhanh chóng dữ liệu blockchain ở định dạng được tối ưu hóa, trong khi Substreams tiếp tục tinh chỉnh và xử lý dữ liệu này. Mối quan hệ tổng hợp này mang lại hiệu quả tuyệt vời trong việc xử lý khối lượng lớn dữ liệu blockchain, nâng cao đáng kể khả năng của The Graph.

Đồ thị con: Tiêu chuẩn ngành về lập chỉ mục dữ liệu

Đồ thị con đã trở thành tiêu chuẩn ngành trong việc lập chỉ mục dữ liệu blockchain kể từ khi được The Graph giới thiệu vào năm 2018. Về cơ bản, chúng là các API mở có chức năng trích xuất, xử lý và lưu trữ dữ liệu từ các chuỗi khối, do đó giúp dễ dàng truy vấn thông qua giao diện GraphQL. Với hơn 85.000 đồ thị con được hỗ trợ trên hơn 40 chuỗi, đồ thị con đã trở nên không thể thiếu đối với các nhà phát triển web3. Chúng cho phép triển khai nhanh chóng cơ sở dữ liệu Postgres chứa đầy dữ liệu được lập chỉ mục, sẵn sàng được truy vấn bằng cách sử dụng lớp GraphQL. Biểu đồ con cho phép các nhà phát triển hiển thị nhiều loại dữ liệu blockchain trong DApp của họ, từ giao dịch DeFi đến xuất xứ NFT, một cách có tổ chức và hiệu quả.

Trong bối cảnh công nghệ blockchain ngày càng phát triển, đồ thị con đã nổi lên như một khái niệm then chốt, thay đổi cách chúng ta tương tác và sử dụng dữ liệu blockchain. Các API mở này đóng vai trò trung gian, thu hẹp khoảng cách giữa thế giới phi tập trung của chuỗi khối và lĩnh vực dữ liệu có cấu trúc quen thuộc. Bằng cách trích xuất, xử lý và sắp xếp dữ liệu chuỗi khối thành định dạng có thể truy vấn, các sơ đồ con trao quyền cho các nhà phát triển xây dựng các ứng dụng sáng tạo và dựa trên dữ liệu.

Đồ thị con mang lại rất nhiều lợi ích, khiến chúng trở thành lựa chọn hấp dẫn cho cả nhà phát triển và người dùng. Bản chất phi tập trung của chúng đảm bảo khả năng chống kiểm duyệt và thời gian ngừng hoạt động, thúc đẩy hệ sinh thái dữ liệu an toàn và đáng tin cậy. Ngoài ra, các sơ đồ con vốn có khả năng mở rộng, có khả năng xử lý lượng dữ liệu khổng lồ mà không ảnh hưởng đến hiệu suất. Hiệu quả về chi phí là một lợi thế quan trọng khác, với các biểu đồ con thường có giá cả phải chăng hơn so với API dữ liệu truyền thống.

Kiến trúc đồ thị con

Đồ thị con bao gồm ba thành phần thiết yếu hoạt động hài hòa để mang lại khả năng biến đổi:

  1. Tệp kê khai: Tệp kê khai đóng vai trò là bản thiết kế của sơ đồ con, phác thảo các nguồn dữ liệu, lược đồ và mã AssemblyScript. Nó xác định ranh giới của dữ liệu mà sơ đồ con sẽ lập chỉ mục, đảm bảo rằng chỉ những thông tin liên quan mới được ghi lại.

  2. Lược đồ: Lược đồ xác định cấu trúc của dữ liệu, giống như bản thiết kế của một tòa nhà. Nó phác thảo các thực thể, trường và mối quan hệ giữa các thực thể, cung cấp một cách rõ ràng và có tổ chức để trình bày dữ liệu.

  3. Mã AssemblyScript: Mã thực thi này đóng vai trò là đặc tính của sơ đồ con, dịch dữ liệu thô từ chuỗi khối sang định dạng mà công cụ GraphQL có thể hiểu được. Nó cũng xử lý việc lập chỉ mục và lưu trữ dữ liệu, đảm bảo khả năng truy cập và độ tin cậy của nó.

Quá trình phát triển đồ thị con

Việc tạo một sơ đồ con đòi hỏi một loạt các bước, mỗi bước được thực hiện cẩn thận để đảm bảo chức năng và tính hiệu quả của sơ đồ con:

  1. Lên ý tưởng và thiết kế: Hành trình bắt đầu với ý tưởng rõ ràng về dữ liệu sẽ được lập chỉ mục và các ứng dụng mà nó sẽ cung cấp. Điều này liên quan đến việc xác định các thực thể, trường và mối quan hệ giữa chúng, đảm bảo rằng cấu trúc của sơ đồ con phù hợp với mục đích đã định của nó.

  2. Phát triển tệp kê khai và lược đồ: Tệp kê khai và lược đồ được tạo một cách tỉ mỉ, cung cấp nền tảng cho kiến trúc dữ liệu của sơ đồ con. Tệp kê khai chỉ định các nguồn dữ liệu, trong khi lược đồ phác thảo cấu trúc dữ liệu, đảm bảo tính toàn vẹn và nhất quán của dữ liệu.

  3. Triển khai mã AssemblyScript: Mã AssemblyScript được viết, dịch dữ liệu chuỗi khối thô sang định dạng mà GraphQL có thể hiểu được. Nó xử lý việc lập chỉ mục, lưu trữ và truy xuất dữ liệu, cho phép truy cập hiệu quả vào dữ liệu được lập chỉ mục.

Triển khai và xuất bản đồ thị con

Sau khi đồ thị con được phát triển, nó sẽ trải qua quá trình triển khai để giới thiệu nó với thế giới:

  1. Tích hợp Subgraph Studio: Subgraph Studio đóng vai trò như một nền tảng tập trung để quản lý các sơ đồ con. Nó tạo điều kiện thuận lợi cho quá trình triển khai, cho phép các nhà phát triển xuất bản sơ đồ con của họ lên mạng phi tập trung.

  2. Lập chỉ mục và quản lý: Người lập chỉ mục, chịu trách nhiệm tìm nạp và lưu trữ dữ liệu blockchain, rất cần thiết để làm cho các đồ thị con có thể truy cập được đối với các nhà phát triển. Việc quản lý, thường được thực hiện thông qua mã thông báo GRT, khuyến khích người lập chỉ mục ưu tiên các sơ đồ con có nhu cầu cao.

  3. Truy vấn và sử dụng: Giờ đây, nhà phát triển có thể truy vấn sơ đồ con đã triển khai bằng truy vấn GraphQL, truy xuất dữ liệu cụ thể phù hợp với nhu cầu ứng dụng của họ. Sự tích hợp liền mạch này trao quyền cho các nhà phát triển khai thác dữ liệu blockchain để đổi mới.

Tương lai: Kỷ nguyên mới của đồ thị

Khi The Graph bắt đầu Kỷ nguyên mới của nó (Chúng ta sẽ khám phá nó trong Bài học 5), sự phát triển liên tục của các công nghệ cốt lõi này – sơ đồ con, Firehose và Substream – rất được mong đợi. Các thành phần này được thiết lập để mở rộng và phát triển, đóng vai trò quan trọng trong việc giới thiệu các dịch vụ dữ liệu mới và đảm bảo các luồng dữ liệu mô-đun nhanh hơn, nhanh hơn. Ví dụ, Firehose có thể xác minh được sẵn sàng trở thành một giải pháp đột phá để truy cập dữ liệu lịch sử Ethereum, giải quyết các thách thức trong việc phát triển các tiêu chuẩn blockchain.

Phân biệt đồ thị con với dòng con

Điều quan trọng là phải phân biệt giữa đồ thị con và Luồng con vì chúng phục vụ các mục đích khác nhau. Đồ thị con lý tưởng cho việc truy xuất và quản lý dữ liệu tiêu chuẩn, giúp dễ dàng thiết lập và sử dụng với lớp truy vấn GraphQL. Ngược lại, Dòng con được điều chỉnh cho các nhu cầu phân tích phức tạp hơn và dữ liệu lớn, cung cấp khả năng xử lý dữ liệu song song và tính linh hoạt cao hơn trong việc xử lý và lưu trữ dữ liệu. Dòng con cho phép các nhà phát triển chuyển đổi dữ liệu từ các định dạng tệp cơ bản thành các dạng dễ sử dụng hơn, đáp ứng các yêu cầu xử lý dữ liệu phức tạp.

Tổ chức dữ liệu ngoài chuỗi: Cách tiếp cận và tác động của biểu đồ đối với đường ống dữ liệu Web3

Graph, vốn được biết đến với khả năng tổ chức dữ liệu trên chuỗi, hiện đang mở rộng tầm nhìn của mình bằng cách dấn thân vào lĩnh vực dữ liệu ngoài chuỗi. Cách tiếp cận này phù hợp với sứ mệnh lâu dài của The Graph là cung cấp quyền truy cập dễ dàng vào kiến thức và thông tin công cộng của thế giới.

Web3 và sự đánh đổi trong quản lý dữ liệu

Trong kiến trúc Web3, mặc dù người dùng có thể tương tác trực tiếp với blockchain thông qua các dịch vụ phần mềm trung gian nhưng vẫn có sự đánh đổi, đặc biệt là khi nói đến chi phí. Chi phí giao dịch trên chuỗi, thường được gọi là phí gas, có thể cực kỳ cao đối với các tính toán phức tạp hoặc lưu trữ dữ liệu rộng rãi. Hạn chế này trong lịch sử đã làm giảm sự phức tạp của các ứng dụng hoặc khiến các nhà phát triển tạo ra các API ngoài chuỗi độc quyền, bắt nguồn từ các mô hình nguồn mở.

Giải pháp độc đáo của đồ thị cho dữ liệu ngoài chuỗi

Graph trình bày một giải pháp độc đáo cho thách thức này bằng cách cho phép tổ chức và cung cấp dữ liệu ngoài chuỗi thông qua mạng phi tập trung của nó. Phương pháp này bao gồm một quy trình làm việc trong đó dữ liệu ngoài chuỗi truyền thống được đăng lên IPFS (Hệ thống tệp liên hành tinh) và sau đó băm IPFS được ghi lại trên chuỗi. Sau đó, dữ liệu này có thể được lập chỉ mục bằng các biểu đồ con và có sẵn để truy vấn. Cách tiếp cận này cung cấp một cách tiết kiệm và có thể mở rộng để xuất bản và cung cấp dữ liệu động, phức tạp mà không cần tốn chi phí xây dựng và duy trì các API độc quyền.

Quy trình làm việc: Quy trình ba bước

Quy trình làm việc bao gồm ba thành phần chính:

  1. Công việc định kỳ để tính toán và đăng dữ liệu: Công việc định kỳ ngoài chuỗi thực hiện các tính toán phức tạp và đăng kết quả lên nguồn permaweb, như IPFS, có thể lập chỉ mục bởi The Graph. Công việc này cũng tạo ra một giao dịch trên chuỗi để đăng hàm băm tệp IPFS và mọi siêu dữ liệu có liên quan.

  2. Xuất bản biểu đồ con để lập chỉ mục: Bước tiếp theo liên quan đến việc xuất bản một biểu đồ con lập chỉ mục các tệp IPFS này dựa trên các hàm băm tệp được đăng trên chuỗi. Sau khi biểu đồ con được xuất bản, Người lập chỉ mục trong mạng của The Graph có thể chọn và phục vụ biểu đồ con đó, cho phép các nhà phát triển và người dùng bên thứ ba truy vấn dữ liệu.

  3. Truy cập dữ liệu mạnh mẽ và đáng tin cậy: Bằng cách tận dụng mạng lưới Người lập chỉ mục phân tán của The Graph, quyền truy cập dữ liệu vẫn mạnh mẽ và đáng tin cậy mà không cần nỗ lực thêm từ nhà xuất bản dữ liệu. Cấu trúc phi tập trung này tăng cường đáng kể tính sẵn có và tính toàn vẹn của dữ liệu.

Triển khai thực tế và hiệu quả chi phí

Một ví dụ thực tế trong hệ sinh thái The Graph là oracle do Edge & Node phát triển để xuất bản các số liệu về chi phí mạng và chất lượng dịch vụ. Oracle này đăng dữ liệu tổng hợp lên IPFS cứ năm phút một lần và ghi lại hàm băm tệp IPFS trên chuỗi Gnosis. Dữ liệu này sau đó được lập chỉ mục trong một biểu đồ con, có thể được các bên liên quan đến giao thức sử dụng. Chi phí liên quan đến quy trình làm việc này thấp đến mức đáng ngạc nhiên, khiến nó trở thành một lựa chọn hấp dẫn cho các nhà xuất bản dữ liệu.

Khả năng mới với dữ liệu động

Phương pháp sử dụng The Graph cho dữ liệu động này mở ra những khả năng mới thú vị cho các trang web cố định, bao gồm cả phần phụ trợ cho blog, quản lý nội dung bằng thuật toán và hệ thống giám sát thời gian thực. Nó thể hiện sự thay đổi đáng kể trong cách xuất bản, lập chỉ mục và truy cập dữ liệu, thúc đẩy hệ sinh thái web3 cộng tác và cởi mở hơn.

Tổ chức dữ liệu ngoài chuỗi: Cách tiếp cận sáng tạo của đồ thị

Việc mở rộng Graph sang quản lý dữ liệu ngoài chuỗi sẽ mở ra những con đường mới trong hệ sinh thái Web3, tạo ra cầu nối giữa lĩnh vực dữ liệu phi tập trung và truyền thống. Sáng kiến này phản ánh sứ mệnh của The Graph là giúp có thể truy cập được nhiều thông tin hơn theo cách phi tập trung, giải quyết những hạn chế cố hữu của việc tính toán và lưu trữ dữ liệu trên chuỗi.

Cân bằng nhu cầu dữ liệu trên chuỗi và ngoài chuỗi

Biểu đồ ghi nhận sự đánh đổi liên quan đến chi phí của việc tính toán và lưu trữ dữ liệu trên chuỗi trong kiến trúc Web3. Mặc dù tương tác trực tiếp với blockchain rất đơn giản nhưng các phép tính phức tạp và lưu trữ dữ liệu quy mô lớn có thể trở nên cực kỳ tốn kém. Để khắc phục những hạn chế này, The Graph giới thiệu một phương pháp kết hợp lưu trữ dữ liệu ngoài chuỗi với tham chiếu dữ liệu trên chuỗi, từ đó duy trì đặc tính phi tập trung đồng thời nâng cao chức năng.

Phương pháp của biểu đồ cho dữ liệu ngoài chuỗi

Cách tiếp cận này bao gồm một quy trình làm việc gồm ba bước:

  1. Tính toán ngoài chuỗi và đăng IPFS: Các tính toán phức tạp được thực hiện ngoài chuỗi và dữ liệu kết quả được đăng lên IPFS, một giải pháp lưu trữ phi tập trung. Bước này đảm bảo rằng dữ liệu, dù ở ngoài chuỗi, vẫn được lưu trữ theo cách có thể xác minh và phi tập trung.

  2. Liên kết trên chuỗi thông qua giao dịch: Bên cạnh việc lưu trữ dữ liệu trên IPFS, một giao dịch trên chuỗi tương ứng được thực hiện để ghi lại hàm băm IPFS và siêu dữ liệu có liên quan khác. Phương pháp này neo dữ liệu ngoài chuỗi vào blockchain, cung cấp một lớp tin cậy và truy xuất nguồn gốc.

  3. Lập chỉ mục đồ thị con cho khả năng truy cập: Bước cuối cùng liên quan đến việc lập chỉ mục dữ liệu được lưu trữ IPFS bằng cách sử dụng đồ thị con. Quá trình này làm cho dữ liệu ngoài chuỗi có thể dễ dàng truy vấn và truy cập được thông qua mạng phi tập trung của The Graph.
    Triển khai thực tế: Oracle của Edge & Node

Một ứng dụng thực tế của phương pháp này trong hệ sinh thái của The Graph là oracle do Edge & Node phát triển. Nhà tiên tri này xuất bản các số liệu về chi phí mạng và chất lượng dịch vụ cứ năm phút một lần theo cách sau:

  • Dữ liệu tổng hợp được đăng lên IPFS.

  • Sau đó, hàm băm tệp IPFS tương ứng được ghi lại trên chuỗi Gnosis thông qua hợp đồng DataEdge.

  • Các tệp IPFS này được lập chỉ mục trong biểu đồ con, cung cấp dữ liệu cho các bên liên quan theo cách phi tập trung.
    Việc triển khai này thể hiện cách tiếp cận hiệu quả, có thể mở rộng và chi phí thấp để xuất bản và cung cấp dữ liệu phức tạp mà không cần API độc quyền. Nó minh họa cách tận dụng phương pháp của Đồ thị để tạo nguồn dữ liệu động cho nhiều ứng dụng.

Hiệu quả chi phí và khả năng mở rộng

Chi phí liên quan đến quy trình làm việc này thấp đến mức đáng ngạc nhiên, khiến nó trở thành một giải pháp hấp dẫn đối với các nhà xuất bản dữ liệu. Ví dụ: việc triển khai oracle của Edge & Node sẽ phát sinh chi phí tối thiểu cho các giao dịch trên chuỗi và ghim nút IPFS, trong đó chi phí phân phối do người tiêu dùng dữ liệu chịu. Mô hình này giảm chi phí hoạt động cho nhà xuất bản dữ liệu một cách hiệu quả đồng thời đảm bảo khả năng truy cập dữ liệu mạnh mẽ và đáng tin cậy.

Kích hoạt các trường hợp sử dụng Web3 mới

Phương pháp này mở ra những khả năng mới cho các ứng dụng permaweb, chẳng hạn như back-end động cho blog, quản lý nội dung bằng thuật toán và hệ thống giám sát thời gian thực. Nó cho phép phân vùng các nhà xuất bản dữ liệu khỏi các nhà khai thác ứng dụng/giao diện người dùng, khuyến khích sự chuyên môn hóa và phân công lao động trong cộng đồng nguồn mở. Cách tiếp cận này hứa hẹn cho các ứng dụng và giao thức xã hội phi tập trung, đưa ra một hướng đi mới cho việc xuất bản và tiêu thụ dữ liệu phi tập trung.

Ngôn ngữ truy vấn và API trong biểu đồ: Sử dụng GraphQL

Việc tích hợp GraphQL làm ngôn ngữ truy vấn được lựa chọn. Quyết định này định hình đáng kể cách truy cập và tương tác với dữ liệu thông qua API của The Graph, cung cấp một phương pháp hợp lý và hiệu quả để truy vấn dữ liệu chuỗi khối.

Hiểu vai trò của GraphQL trong biểu đồ

GraphQL đi đầu trong thiết kế API hiện đại, cung cấp cách tiếp cận linh hoạt và hiệu quả để truy xuất dữ liệu. Trong bối cảnh blockchain, nơi cấu trúc dữ liệu phức tạp và không ngừng phát triển, khả năng tìm nạp chính xác những gì cần thiết của GraphQL trở nên vô giá.

  1. Truy vấn dữ liệu phù hợp: Điểm hấp dẫn cốt lõi của GraphQL là khả năng cho phép khách hàng xác định chính xác cấu trúc dữ liệu họ yêu cầu. Khả năng này là sự khởi đầu đáng kể so với các phản hồi có cấu trúc cố định truyền thống, cho phép tương tác dữ liệu tập trung và hiệu quả hơn.

  2. Tăng cường tương tác trong thời gian thực: Ngoài việc truy vấn, GraphQL trong The Graph còn hỗ trợ đăng ký dữ liệu theo thời gian thực. Tính năng này rất quan trọng đối với các ứng dụng blockchain, nơi cập nhật kịp thời và khả năng phản hồi là chìa khóa cho trải nghiệm người dùng.

  3. Truy cập dữ liệu phi tập trung và không cần tin cậy: Việc sử dụng GraphQL của Graph mở rộng triết lý phân cấp sang lĩnh vực truy cập dữ liệu. Bằng cách giao tiếp với mạng lưới các nút phi tập trung, các truy vấn GraphQL đảm bảo rằng dữ liệu luôn mở, minh bạch và chống kiểm duyệt.
    Sự hội tụ của API và GraphQL

Trong hệ sinh thái của The Graph, việc kết hợp các API với GraphQL sẽ tạo ra một hệ thống truy xuất dữ liệu hài hòa và mạnh mẽ:

  1. Định nghĩa lược đồ và ánh xạ dữ liệu: Các nhà phát triển xác định lược đồ GraphQL trong sơ đồ con của họ, phác thảo cấu trúc của dữ liệu có thể truy vấn. Lược đồ sau đó được ánh xạ phức tạp tới các sự kiện blockchain, chuyển các hoạt động trên chuỗi thành dữ liệu có cấu trúc.

  2. Thực thi truy vấn thông qua Trình lập chỉ mục: Khi một truy vấn GraphQL được gửi tới API đồ thị con, truy vấn đó sẽ được xử lý bởi mạng lưới Người lập chỉ mục phi tập trung của The Graph. Quá trình này minh họa cách các truy vấn được thực hiện theo cách phân tán, duy trì các nguyên tắc của công nghệ blockchain.

  3. Xử lý các mối quan hệ dữ liệu phức tạp: Với các mối quan hệ dữ liệu phức tạp đang trở nên phổ biến trong blockchain, khả năng xử lý các truy vấn phức tạp của GraphQL, bao gồm nhiều hình thức lọc và sắp xếp dữ liệu khác nhau, đặc biệt có lợi.

Lợi ích mang lại cho Nhà phát triển và Người dùng cuối

Việc tích hợp GraphQL trong The Graph mang lại nhiều lợi ích:

  • Tính linh hoạt dành cho nhà phát triển: Nhà phát triển có thể khai thác toàn bộ sức mạnh của GraphQL để tạo các truy vấn phù hợp chính xác với yêu cầu ứng dụng của họ.
  • Tìm nạp dữ liệu hiệu quả: Giảm thời gian tìm nạp dữ liệu giúp nâng cao hiệu suất ứng dụng, trực tiếp mang lại trải nghiệm tốt hơn cho người dùng cuối.
  • Tích hợp dữ liệu liền mạch: Bản chất tiêu chuẩn hóa của các truy vấn GraphQL đơn giản hóa quá trình tích hợp các nguồn dữ liệu blockchain đa dạng vào ứng dụng.
Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.