0 0
Read Time:11 Minute, 27 Second

Các subgraph của Ethereum tiếp tục chuyển đổi sang mạng lưới phi tập trung của The Graph. Khi việc áp dụng web3 phát triển, nhu cầu về quy mô và hiệu suất cũng tăng theo. Các nhà phát triển phải đối mặt với một quyết định lớn: tiếp tục dựa vào công nghệ tập trung hoặc chuyển sang cơ sở hạ tầng phi tập trung.

Đối với sự lâu dài và độ tin cậy, không có gì đánh bại được sự phân quyền. Bằng cách tránh các điểm lỗi tập trung, bạn đang cung cấp cho người dùng của mình một ứng dụng web3 mà họ có thể truy cập nhất quán. Nhiều dự án đã xác thực mạng trong quá trình sản xuất và bây giờ là thời điểm hoàn hảo để dự án của bạn chuyển sang sử dụng. Để giúp bạn chuyển đổi, đây là hướng dẫn từng bước.

Giả định

  • Bạn đã triển khai một subgraph trên hosted service
  • Subgraph đang lập chỉ mục Ethereum mainnet
  • Subgraph không có IPFS hoặc các phụ thuộc full-text search (những phụ thuộc này hiện không được hỗ trợ trên mạng lưới phi tập trung)

Tài nguyên

Bạn cũng nên tự làm quen với Mạng lưới The Graph và các tài nguyên của nó:

1 . Xem xét vai trò của từng thành viên trong mạng lưới.

  • Indexers – Các nhà khai thác node trong Mạng lưới The Graph có stake Graph Token (GRT) để lập chỉ mục các đồ thị con và phục vụ truy vấn cho người tiêu dùng
  • Curators – Curators sử dụng kiến ​​thức của họ về hệ sinh thái web3 để đánh giá và báo hiệu trên các subgraphs cần được Indexers lập chỉ mục trong Mạng lưới The Graph
  • Delegators – Người tham gia mạng lưới delegate (ví dụ: “stake”) GRT cho một hoặc nhiều Indexers, do đó tăng số lượng truy vấn mà họ có thể phục vụ
    Lưu ý – Indexers chọn các subgraph để lập chỉ mục dựa trên tín hiệu curation của subgraph vì nó là tốt nhất cho các khuyến khích của họ. Đọc thêm về nó ở đây . Do đó, bạn nên tự curate ít nhất 10k GRT để có đủ số lượng Indexers để lập chỉ mục cho subgraph. Là một nhà phát triển dapp curating trên subgraph của bạn, bạn nên để số tiền này được báo hiệu trong ít nhất 1 – 2 năm trở lên để tuổi thọ của subgraph trên mạng lưới. Bạn cũng có thể cân nhắc curating tại thời điểm triển khai subgraph để tránh rủi ro chạy trước.

2Subgraph Studio – Đây là một launchpad cho phép bạn tạo các subgraph, thêm siêu dữ liệu, triển khai và kiểm tra chúng trước khi xuất bản chúng lên Mạng lưới phi tập trung. Tìm hiểu thêm về Subgraph Studio tại đây.

3Graph Explorer – Đây là một cái nhìn có tổ chức vào thế giới của các subgraph mạng lưới phi tập trung và dữ liệu người tham gia mạng lưới. Nó cũng cho phép bạn tương tác với giao thức. Với Graph Explorer, bạn có thể khám phá mạng lưới, các subgraph của nó, báo hiệu trên subgraph, xem Curator của subgraph, xem các Indexers của từng subgraph, delegate cho Indexer và hơn thế nữa. Tìm hiểu thêm về Graph Explorer tại đây .

Cách chuyển đổi subgraph của bạn từ Hosted Service sang Mạng lưới phi tập trung

Mở một terminal (CLI) và điều hướng đến thư mục chứa mã nguồn cho subgraph mà bạn đang cố gắng triển khai và làm theo các bước sau:

  • Chạy yarn install để cài đặt tất cả các phụ thuộc của subgraph
  • Đảm bảo rằng bạn đã cài đặt phiên bản mới nhất của graph-cli và graph-ts. Tại thời điểm viết bài, nó là @graphprotocol/[email protected] và @graphprotocol/[email protected]
  • Đảm bảo apiVersion trong subgraph.yaml của bạn lớn hơn hoặc bằng 0.0.5. Phiên bản mới nhất là 0.0.6.
  • Chạy graph codegenvới những thay đổi mà bạn có thể phải thực hiện với phiên bản mới
  • Chạy graph build để kiểm tra xem subgraph của bạn có còn xây dựng hay không. Nếu có build errors, vui lòng tham khảo Hướng dẫn chuyển đổi AssemblyScript
  • Sau đó, đăng nhập vào Subgraph Studio bằng Wallet của bạn (ví dụ: MetaMask) hoặc Gnosis Safe Multisig, theo sau là một trong các EOA (địa chỉ thuộc sở hữu bên ngoài) của multisig
  • Tạo một subgraph. Chọn “Ethereum Mainnet” làm mạng lưới được lập chỉ mục và đặt cho nó một cái tên có ý nghĩa. Một ví dụ về tên là “Yearn Vaults” – tốt hơn là sử dụng các từ đơn giản, mang tính mô tả.
Tiêu chuẩn
  • Điền thông tin chi tiết sau khi tạo subgraph, bao gồm mô tả, tên hiển thị và hình ảnh dự án của subgraph. Mô tả đầy đủ thông tin sẽ cung cấp cho Curators nhiều ngữ cảnh hơn và có khả năng thu hút nhiều tín hiệu hơn trên subgraph của bạn.
Tiêu chuẩn
  • Trong cột bên phải trong subgraph studio như trong hình trên, có hướng dẫn về cách tạo một subgraph mới. Vì chúng ta đang chuyển đổi một subgraph hiện có, chúng ta chỉ quan tâm đến hai lệnh: Auth và deploy. Bạn có thể sao chép / dán chúng bằng cách nhấp vào biểu tượng .
  • Quay lại terminal của bạn và dán các lệnh sau:
graph auth --studio <deploy-key>
graph deploy --studio <subgraph-slug>
  • Nhập nhãn phiên bản subgraph ban đầu. Ví dụ: v0.0.1

Tại thời điểm này, subgraph của bạn hiện đã được triển khai trên Subgraph Studio, nhưng chưa được xuất bản lên mạng lưới phi tập trung. Bây giờ bạn có thể kiểm tra subgraph để đảm bảo rằng nó đang hoạt động như dự định bằng cách sử dụng URL truy vấn tạm thời như đã thấy ở đầu cột bên phải ở trên. Như tên này đã gợi ý, đây là một temporary query URL (URL tạm thời) và không nên được sử dụng trong sản xuất.

Tiêu chuẩn

Khi bạn đã sẵn sàng để subgraph của mình có thể được khám phá trong Graph Explorer bởi Curators và Indexers, bạn có thể làm như vậy bằng cách sử dụng nút Publish.

Bạn cũng sẽ có tùy chọn kết hợp báo hiệu và xuất bản subgraph của mình lên mạng lưới – điều này được khuyến nghị để thu hút Indexers và trở thành Curator đầu tiên trên Subgraph của bạn.

Đối với các nhà phát triển cần hỗ trợ trong việc chuyển đổi các subgraph của họ, các đơn xin tài trợ chuyển đổi đang được chấp nhận ở đây trong một thời gian giới hạn. Lưu ý: Curation tax 1% được phát sinh khi có tín hiệu curation ban đầu của một subgraph. Ví dụ: Nếu bạn báo hiệu 10.000 GRT trên subgraph của mình, subgraph của bạn sẽ có tín hiệu 9,900 GRT. 100 GRT bị đốt.

Sau khi một subgraph được xuất bản lên mạng lưới phi tập trung và có đủ tín hiệu curation, những Indexer sẽ bắt đầu lập chỉ mục subgraph của bạn. Tùy thuộc vào mức độ phức tạp và hiệu quả của subgraph của bạn, quá trình này có thể mất một lúc. Trong thời gian chờ đợi, bạn có thể tạo khóa API của mình.

Tạo một API Key

Bạn có thể tạo API key trong Subgraph Studio tại đây .

Tiêu chuẩn

Vào cuối mỗi tuần, một hóa đơn sẽ được tạo dựa trên phí truy vấn đã phát sinh trong khoảng thời gian này. Hóa đơn này sẽ được thanh toán tự động bằng GRT có sẵn trong số dư của bạn. Số dư của bạn sẽ được cập nhật sau khi chi phí truy vấn của bạn được rút. Phí truy vấn được thanh toán bằng GRT thông qua mạng lưới Polygon. Bạn được khuyến khích có GRT trên Polygon để nạp vào số dư thanh toán hoặc chuyển GRT từ ví Ethereum qua các bước sau:

  • Mua GRT trên một sàn giao dịch do bạn lựa chọn
  • Gửi GRT vào ví của bạn
  • Chuyển GRT sang Polygon bằng Subgraph Studio
  • Bạn cũng sẽ nhận được một lượng nhỏ MATIC trong quá trình này
  • Thêm GRT vào số dư thanh toán của bạn

Lưu ý: Quá trình này hơi khác nếu bạn đang sử dụng multisig vì bạn không thể bắc cầu GRT thành Polygon bằng multisig. Bạn sẽ cần gửi GRT tới EOA (địa chỉ thuộc sở hữu bên ngoài) và chuyển GRT từ đó tới Polygon. Khi ở trên Polygon, bạn có thể tải địa chỉ multisig. Chúng tôi đã tạo một công cụ đặc biệt để giúp bạn thực hiện các bước sau: https://multisig-billing.thegraph.com/

Chúng tôi khuyên bạn nên khóa API bằng cách giới hạn việc sử dụng nó theo hai cách:

1. Authorized Subgraphs (Subgraphs được ủy quyền)
2. Authorized Domain (Domain được ủy quyền)

Tiêu chuẩn

Truy vấn subgraph của bạn trên mạng lưới phi tập trung

Bây giờ bạn có thể kiểm tra trạng thái lập chỉ mục của các indexers trên mạng lưới trong Graph Explorer (ví dụ ở đây). Dòng màu xanh lá cây ở trên cùng cho biết rằng tại thời điểm đăng, 8 Indexers đã lập chỉ mục thành công subgraph đó. Cũng trong tab Indexer, bạn có thể xem những indexers nào đã chọn subgraph của bạn.

Tiêu chuẩn

Ngay sau khi indexers đầu tiên đã lập chỉ mục đầy đủ subgraph của bạn, bạn có thể bắt đầu truy vấn subgraph trên mạng lưới phi tập trung. Để truy xuất query URL (URL truy vấn) cho subgraph của bạn, bạn có thể sao chép/dán nó bằng cách nhấp vào biểu tượng  bên cạnh query URL. Bạn sẽ thấy một cái gì đó như thế này:

https://gateway.thegraph.com/api/[api-key]/subgraphs/id/S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo

Quan trọng: Đảm bảo thay thế [api-key] bằng một API key thực được tạo trong phần trên.

Bây giờ bạn có thể sử dụng Query URL đó trong dapp của mình để gửi các yêu cầu GraphQL của bạn tới.

Xin chúc mừng! Bạn hiện là người đi tiên phong trong phân quyền!

Lưu ý: Do tính chất phân tán của mạng lưới, có thể xảy ra trường hợp các Indexer khác nhau đã lập chỉ mục cho các block khác nhau. Để chỉ nhận dữ liệu mới, bạn có thể chỉ định block tối thiểu mà Indexer phải lập chỉ mục để phục vụ truy vấn của bạn với block: { number_gte: $minBlock } field argument được hiển thị trong ví dụ bên dưới:

{ stakers(block: { number_gte: 14486109 }) { id } }

Thông tin thêm về bản chất của mạng lưới và cách xử lý các tổ chức lại được mô tả trong bài viết tài liệu Hệ thống phân tán .

Cập nhật subgraph của bạn trên mạng lứoi phi tập trung

Thực hiện cập nhật mã như bình thường và sau đó triển khai subgraph mới cho studio bằng lệnh tương tự như đã thảo luận ở trên:

graph deploy --studio <subgraph-slug>

Nó sẽ yêu cầu nhãn phiên bản cho phiên bản mới này. Nó phải tuần tự với phiên bản trước. Ví dụ: v0.0.2

Khi subgraph được cập nhật được triển khai cho studio, bạn có thể kiểm tra nó bằng cách sử dụng temporary query UR như đã thảo luận ở trên.

Tiêu chuẩn

Bạn có thể muốn triển khai một phiên bản mới cho studio mà không cần xuất bản lên mạng trong khi phát triển subgraph của mình và sử dụng temporary query URL để kiểm tra nó. Khi phiên bản mới của bạn đã sẵn sàng để sản xuất, bạn chỉ có thể xuất bản mạng lưới phiên bản đó.

Xin lưu ý rằng tổng cộng 0,5% số lượng curation được tính như thuế cập nhật khi phiên bản mới được xuất bản. Thuế này được chia đều giữa các nhà phát triển subgraph và Curators. Vì vậy, bạn cung cấp 0,25% tổng số trong khi xuất bản một phiên bản mới.

Ví dụ tính toán:

Một subgraph có tín hiệu 10.000 GRT và một phiên bản mới được xuất bản.

  • Bạn cần có 25 GRT trong ví của mình, số tiền này sẽ được đốt trong giao dịch đó như phí curation
  • 25 GRT khác sẽ bị trừ khỏi tín hiệu: Subgraph sẽ chỉ có 9,975 GRT tín hiệu sau khi cập nhật.

Hầu hết Indexers sẽ lập chỉ mục phiên bản mới nhất của một subgraph và phiên bản trước đó để cung cấp sự ổn định. Hầu hết những Curators đã đặt tín hiệu của họ để tự động chuyển sang phiên bản mới nhất.

Cảm ơn bạn đã chuyển đổi subgraph của bạn sang mạng lưới phi tập trung! Bạn đang tham gia cộng đồng những người tiên phong cùng chí hướng làm việc để phân phối quyền lực từ các cơ quan quản lý tập trung. Chúng tôi hy vọng bạn tận hưởng độ tin cậy tốt hơn và hiệu suất nhanh hơn từ mạng lưới. Đừng ngần ngại liên hệ nếu bạn cần hỗ trợ – gửi email tới [email protected] để được hỗ trợ chuyển đổi, cho dù bạn đang gặp sự cố kỹ thuật, quan tâm đến các khoản tài trợ để trang trải chi phí chuyển đổi (có sẵn trong thời gian giới hạn) hoặc bất cứ điều gì khác liên quan đến chuyển đổi subgraph.

Link bài viết gốc

THEGRAPHVN – Tham gia các cộng đồng The Graph Việt Nam tại:

Website tin tức

Telegram tin tức

Cộng đồng Telegram

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Leave a Reply

Your email address will not be published.