Theo dõi chuyển nhượng Fan Token
Theo dõi lịch sử chuyển nhượng Fan Token trên Chiliz Chain bằng subgraph với The Graph hoặc Goldsky: lập chỉ mục sự kiện, truy vấn GraphQL và xây dựng dashboard token.
Theo dõi sự di chuyển của Fan Token trên Chiliz Chain là một cách tuyệt vời để giám sát hoạt động của các token yêu thích của bạn. Bằng cách sử dụng nó như một thành phần cơ bản cho một dashboard tiềm năng, bạn có thể tổng hợp dữ liệu để cung cấp thông tin chi tiết về những gì đang được ưa chuộng và những gì không.
Khi theo dõi các giao dịch chuyển nhượng Fan Token™, bạn sẽ nhanh chóng gặp phải một thách thức: đọc dữ liệu trực tiếp từ blockchain rất hiệu quả cho trạng thái hiện tại ("Số dư của ví X là bao nhiêu?"), nhưng lại kém hiệu quả cho dữ liệu lịch sử ("Hiển thị cho tôi mọi giao dịch chuyển nhượng liên quan đến ví X trong năm qua").
Để giải quyết vấn đề này, chúng ta có thể sử dụng subgraph.
Về subgraph
Subgraph là một API tùy chỉnh trích xuất dữ liệu từ một blockchain, xử lý và lưu trữ nó để có thể dễ dàng truy vấn. Thay vì yêu cầu blockchain quét hàng triệu khối mỗi lần bạn cần dữ liệu, subgraph lập chỉ mục các sự kiện cụ thể khi chúng xảy ra và lưu trữ chúng vào cơ sở dữ liệu.
Chiliz Chain hỗ trợ các giao thức lập chỉ mục chuẩn công nghiệp. Bạn có thể chọn nhà cung cấp phù hợp nhất với nhu cầu dự án của mình:
The Graph: Tiêu chuẩn công nghiệp cho việc lập chỉ mục phi tập trung. Nó cho phép bạn triển khai subgraph của mình lên một mạng phi tập trung gồm các indexer.
Goldsky: Dịch vụ lập chỉ mục được lưu trữ, hiệu suất cao. Hoàn toàn tương thích với code của The Graph (bạn thường có thể dùng cùng một đoạn code) nhưng cung cấp tốc độ lập chỉ mục nhanh hơn và các tính năng truyền dữ liệu theo thời gian thực.
Cả hai công cụ đều sử dụng cùng một framework phát triển, vì vậy hầu hết các bước trên trang này có thể áp dụng cho cả hai.
Hãy xem ví dụ về cách chúng ta có thể theo dõi các giao dịch chuyển nhượng của PSG Fan Token...
0. Chọn công cụ
Bạn có thể triển khai subgraph trên Chiliz Chain bằng The Graph (mạng phi tập trung) hoặc Goldsky (indexer được lưu trữ). Cấu trúc code là giống nhau; chỉ các lệnh triển khai là khác nhau.
Tất nhiên, bạn có thể tham khảo tài liệu riêng của từng công cụ:
1. Khởi tạo dự án subgraph
Cả The Graph và Goldsky đều cung cấp các phương pháp dựa trên CLI để tạo graph của bạn.
The Graph có Subgraph Studio, nơi bạn có thể kết nối bằng ví Web3 của mình, sau đó tạo subgraph thông qua giao diện.
Goldsky cung cấp cho bạn một dashboard khi bạn tạo tài khoản, từ đó bạn có thể tạo subgraph.
Cài đặt Graph CLI
Trên máy tính của bạn, hãy chạy lệnh sau:
Bạn có thể tạo subgraph bằng công cụ CLI từ The Graph cho cả subgraph phi tập trung của The Graph, hoặc subgraph được lưu trữ bởi Goldsky.
Goldsky có công cụ CLI riêng, mà bạn sẽ cần nếu muốn triển khai trên Goldsky (xem bên dưới).
Khởi tạo subgraph của bạn
Bạn có thể sao chép trực tiếp từ trang subgraph của mình để bao gồm slug subgraph cụ thể của bạn:
Thẻ --studio là tùy chọn.
Trong ví dụ PSG Fan Token của chúng ta, có thể dùng:
Bạn sẽ được nhắc cung cấp một số thông tin về subgraph của mình, như sau:

Bạn cần có hợp đồng đã được xác minh trên block explorer, và CLI sẽ tự động lấy ABI và thiết lập subgraph của bạn. Các cài đặt mặc định sẽ tạo ra một entity cho mỗi sự kiện.
Lưu ý:
Nếu hợp đồng sử dụng proxy, như PSG Fan Token, thì hãy dùng địa chỉ hợp đồng implementation thay thế. Bạn sẽ thấy nó trong tab "Read/write contract" trên trang block explorer của hợp đồng. Ví dụ: xem tại đây cho hợp đồng PSG Fan Token trên Chiliz Block Explorer.
Nếu bạn phải nhập địa chỉ hợp đồng implementation của proxy, thì sau khi dự án được thiết lập, hãy vào tệp manifest (
subgraph.yaml) và thay đổi địa chỉ hợp đồng thành địa chỉ của proxy.
Nếu Start Block không được lấy tự động, bạn có thể nhập thủ công số khối nơi hợp đồng được tạo. Bạn có thể lấy thông tin này từ block explorer.
Khi thực hiện các thay đổi đối với subgraph, bạn sẽ chủ yếu làm việc với ba tệp:
Manifest (
subgraph.yaml): Xác định các nguồn dữ liệu mà subgraph của bạn sẽ lập chỉ mục.Schema (
schema.graphql): Xác định dữ liệu bạn muốn truy xuất từ subgraph.AssemblyScript Mappings (
mapping.ts): Dịch dữ liệu từ các nguồn dữ liệu của bạn sang các entity được định nghĩa trong schema.
Mở subgraph.yaml và đảm bảo tệp manifest của bạn trỏ đến đúng mạng:
Biên dịch subgraph của bạn
Cuối cùng, biên dịch subgraph của bạn để đảm bảo không có lỗi:
2. Triển khai & Xuất bản
Sau khi subgraph được xây dựng, hãy chọn nhà cung cấp để triển khai.
The Graph
Kết nối với Subgraph Studio, tạo subgraph và sao chép deploy key của bạn.
Xác thực qua CLI:
graph auth --studio <DEPLOY_KEY>Triển khai subgraph của bạn lên Subgraph Studio:
graph deploy --studio <SUBGRAPH_SLUG>Vào Studio, mở subgraph của bạn và nhấp "Publish" để đúc subgraph của bạn lên mạng phi tập trung. Thao tác này sẽ kích hoạt một giao dịch qua ví của bạn để xuất bản subgraph dưới dạng NFT trên mạng Arbitrum One.
Goldsky
Vào Goldsky, tạo API key trong "Project Settings" và đăng nhập qua CLI.
Cài đặt lệnh
goldsky:curl https://goldsky.com | shSau đó xác thực qua CLI:goldsky loginTải subgraph của bạn lên Goldsky:
goldsky subgraph deploy / --path
Subgraph trên Goldsky hoạt động ngay sau khi triển khai. Không cần bước xuất bản thêm.
Bạn sẽ được yêu cầu nhập nhãn phiên bản. Bạn có thể nhập thứ gì đó như v0.0.1, nhưng bạn tự do chọn định dạng. Sau khi hoàn tất, bạn sẽ thấy subgraph bắt đầu đồng bộ hóa trên trang Studio.
Các smart contract của The Graph đều trên Arbitrum One, mặc dù subgraph của bạn đang lập chỉ mục dữ liệu từ Chiliz Chain.
3. Truy vấn Subgraph của bạn
Xin chúc mừng! Bây giờ bạn có thể bắt đầu truy vấn nó bằng cách truyền truy vấn GraphQL vào URL truy vấn của subgraph, có thể tìm thấy trong dashboard của dịch vụ bạn đã chọn.
Ví dụ:
The Graph
https://gateway-arbitrum.network.thegraph.com/api/[APIKEY]/subgraphs/id/[ID]
Goldsky
https://api.goldsky.com/api/public/project_[KEY]/subgraphs/[SLUG]/1.0.0/gn
Bây giờ, bạn chỉ cần điền thông tin chi tiết của mình để bắt đầu gửi các truy vấn GraphQL đến endpoint này.
Phụ lục
Truy vấn mẫu
Truy vấn này hiển thị tất cả các giao dịch của PSG Fan Token.
Code mẫu
Truyền nội dung này vào URL truy vấn sẽ trả về kết quả sau:
Tài nguyên bổ sung
Để biết thêm thông tin về việc truy vấn dữ liệu từ subgraph của bạn với GraphQL:
Cập nhật lần cuối
Nội dung này có hữu ích không?