Các bước đầu tiên của trong việc tạo Subgraph của riêng bạn dành cho người mới bắt đầu

in #thegraph3 years ago

Bước đầu tiên khi học những điều mới là tìm ra một hướng dẫn tốt để giúp bạn đẩy nhanh cuộc hành trình của mình.

Theo tôi, một khởi đầu tốt là sử dụng 3 tài nguyên sau:

  1. https://thegraph.com/docs
  2. https://www.youtube.com/watch?v=e5OwjDao3MA
  3. https://youtu.be/coa0Vw47qNc

Tuy nhiên, nếu bạn không rành tiếng Anh hoặc thích cảm thụ thông tin từng bước qua văn bản và hình ảnh thì có lẽ bài viết của tôi có thể hữu ích với bạn.

Sau khi đọc phần giới thiệu (https://thegraph.com/docs/introduction), bạn sẽ hiểu cơ bản về Graph là gì và nó hoạt động như thế nào.

Trong phần tiếp theo (https://thegraph.com/docs/quick-start), bạn được lựa chọn cách tạo một Subgraph: bằng cách tự tạo môi trường cục bộ (phù hợp hơn cho các đồ thị con lớn và các lập trình viên chuyên nghiệp) hoặc bằng cách sử dụng dịch vụ Lưu trữ từ nhóm The Graph nằm trong bộ nhớ đám mây (con đường này dễ dàng hơn nhiều cho người mới bắt đầu và David Kajpust trong video này khuyên bạn nên sử dụng nó)
Trong bài viết này, chúng tôi sẽ phân tích chính xác phương pháp thứ hai.

Để sử dụng dịch vụ lưu trữ từ nhóm The Graph, bạn cần phải thông qua ủy quyền trên trang web của họ (ủy quyền có thể thông qua tài khoản Github của bạn, vì vậy nếu bạn chưa có, trước tiên hãy tạo nó)

Sau khi ủy quyền, bạn sẽ có thể thêm các Đồ thị con mới

hình ảnh sử dụng một ví dụ từ video: ETHOnline 🛠️ Đồ thị: Xây dựng đồ thị con trên đồ thị

Khi bạn nhấp vào nút được đánh dấu, bạn sẽ nhận được một cửa sổ để thêm một Biểu đồ con với danh sách các tham số

Sau khi điền vào các trường bắt buộc và nhấp vào nút Tạo Đồ thị con, bạn có thể chuyển đến trang của đồthị con đã tạo nhưng chưa được mở rộng của mình

Dưới các hộp được đánh số 1,2,3 là các lệnh ẩn cần được thực hiện trong thiết bị đầu cuối trên máy tính của bạn để

1. Tải về Graph CLI
2. Tạo trang con
3. Mở rộng Subgraph trên Node The Graph

Các thiết bị đầu cuối khác nhau có thể được sử dụng cho các công việc tiếp theo.

Các đại diện của nhóm Graph trên macOS sử dụng iTerm2: https://iterm2.com/

Đối với chủ sở hữu Windows, về nguyên tắc, phiên bản Windows PowerShell cơ bản có thể là đủ (tốt, hoặc bạn có thể chọn một trong các phiên bản tương tự iTerm được cung cấp: https://alternativeto.net/software/iterm2/?platform=windows)

Bên dưới hộp 1, bạn sẽ thấy một thông báo gợi ý rằng bạn cài đặt Graph CLI bằng cách sử dụng npm hoặc yarn trực tiếp từ cửa sổ đầu cuối của bạn:

$ npm install -g @graphprotocol/graph-cli$ yarn global add @graphprotocol/graph-cli
 

Nhưng trước tiên, bạn có thể cần phải cài đặt chính Yarn để tiếp tục làm việc với nó.

Nếu bạn đang sử dụng Mac OS, bạn có thể sử dụng liên kết sau: https://gist.github.com/rcugut/46904124d198a9dbd430abe88ebf849b

Nếu bạn là người dùng Windows, bạn có thể xem tại đây: https://classic.yarnpkg.com/en/docs/install/#windows-stable

LƯU ý QUAN TRỌNG CHO NGƯỜI SỬ DỤNG WINDOWS
Tôi nhận được rất nhiều câu hỏi từ người dùng Windows. thiết bị đầu cuối của họ đưa ra nhiều loại lỗi khác nhau. Tôi khuyên bạn nên thử TẤT CẢ các bước trong sách hướng dẫn này trước khi thực hiện các lệnh khác. Lưu ý quan trọng khi thực hiện theo các hướng dẫn sau: đừng quên chạy trình cài đặt thay mặt cho Quản trị viên, đừng quên chọn hộp về việc thiết lập các thuộc tính bổ sung cho Node.js

Nhật ký dòng lệnh của lệnh này trong terminal được hiển thị bên dưới:

Sau khi cài đặt thành công Graph CLI, chúng ta tiến hành tạo chính Subgraph. Một lần nữa, hoạt động này có thể được thực hiện theo 2 cách: 1) từ hợp đồng Ethereum hiện có 2) từ một ví dụ hiện có từ nhóm The Graph

Trong bài viết này, chúng ta sẽ xem xét phương pháp thứ 2. Đây là một cách đơn giản để tạo một trang con Gravatar, nhưng nó cũng sẽ hữu ích cho việc tạo một Trang con của riêng bạn bằng cách lấy mã chương trình soạn sẵn, bạn sẽ chỉnh sửa đơn giản sau.

Lưu ý: Chúng tôi đã đề cập đến phương pháp thứ nhất trong một bài viết riêng. Tuy nhiên, tôi thực sự khuyên bạn nên đọc trước và cố gắng đi qua tất cả các bước của bài viết này, trước khi đọc phần thứ hai.

Bằng cách nhấp vào hộp 2 trên trang của Trang con đã tạo nhưng chưa được mở rộng, bạn sẽ thấy cửa sổ sau

Bạn cần sao chép lệnh

$ graph init --from-example <GITHUB_USERNAME>/<SUBGRAPH_NAME> <DIRECTORY>

và dán nó vào cửa sổ đầu cuối của bạn thay thế các biến sau:

<GITHUB_USERNAME> thay đổi tên người dùng của bạn
<SUBGRAPH_NAME> thay đổi tên của Đồ thị con bạn đã chỉ định
<DIRECTORY> Là tùy chọn. Nói chung, đây là tên của thư mục mà đồ thị con của bạn được tạo. Theo mặc định, bạn phải đăng ký lại Tên của Đoạn con của mình.

Việc thực hiện chức năng trên trong terminal sẽ như thế này (terminal sẽ yêu cầu bạn xác nhận lại tên của Subgraph và thư mục mà bạn muốn cài đặt nó:

Ví dụ từ video: ETHOnline 🛠️ The Graph: Building Subgraphs on The Graph

Sau khi tạo thành công Subgraph, bạn cần triển khai nó lên máy chủ lưu trữ The Graph. Điều này có thể được thực hiện bằng cách sử dụng các lệnh được ẩn trong hộp 3 trên trang của Đồ thị con đã tạo nhưng chưa mở rộng của bạn

Để thực hiện lệnh đầu tiên

graph auth https://api.thegraph.com/deploy/ <ACCESS_TOKEN>
 

Bạn cần thay thế <access-token> bằng mã thông báo truy cập của Subgraph, được phản ánh trong cùng một trang ở trên

Khi thực hiện chức năng trên trong terminal, bạn sẽ nhận được cửa sổ sau:

Lệnh được triển khai đã tạo một thư mục có tên giống hệt với Subgraph của bạn. Để vào một thư mục, hãy thực hiện lệnh “cd <tên thư mục>” và sau đó sử dụng lệnh: “ls”. Kết quả là bạn sẽ thấy nội dung trong thư mục của mình:

Bên trong thư mục, bạn có thể thấy các tệp khác nhau (Giấy phép, abis, readme, v.v.), nhưng để hiểu rõ hơn về mã, bạn có thể mở thư mục này trong Visual Studio. Để thực hiện việc này, bạn cần triển khai lệnh: “code.”, Lệnh này sẽ khởi chạy chương trình trên với thư mục Subgraph của bạn đã được mở trong đó (lưu ý, bạn phải cài đặt Visual Studio trước. Nếu bạn chưa cài đặt chương trình này khi cài đặt Node.js, bạn có thể tải xuống cô ấy từ trang web chính thức)

Bước tiếp theo là thực hiện lệnh “yarn codegen“ hoặc là “npm run codegen”, mà ở chế độ TỰ ĐỘNG sẽ tạo các tệp cần thiết cho Mục con của chúng tôi

Lệnh này làm gì và tại sao nó lại hữu ích? Nó lấy dữ liệu từ hợp đồng thông minh abis trên mạng Ethereum, trông giống như sau:

và tạo mã dễ đọc hơn nhiều, cài đặt Setters và Getters , tạo tệp và thực hiện các thay đổi đối với Mapping, Schema và Subgraph.yaml (Tệp kê khai), giúp làm việc với Subgraph dễ dàng hơn

Bước cuối cùng của việc triển khai Subgraph của chúng tôi trên Graph Hosting sẽ là hoạt động triển khai chính nó:

graph deploy \
--debug \
--node https://api.thegraph.com/deploy/ \
--ipfs https://api.thegraph.com/ipfs/ \
<SUBGRAPH_NAME>
 

Đừng quên thay thế <SUBGRAPH_NAME> bằng tên của Chuyên mục con của chúng ta

Lưu ý: Trong Discord, 1 trong những người quản lý đã đề xuất chạy lệnh trước đó cùng với mã thông báo truy cập và điều này đã giải quyết được vấn đề của những người dùng khác
graph deploy - access-token <Ваш Access token>\
- debug \
- node https://api.thegraph.com/deploy/ \
- ipfs https://api.thegraph.com/ipfs/ \
<github/subgraph_name>
 

Vì nhiều người mắc phải 1 và cùng một lỗi khi thực hiện các lệnh trên, tôi khuyên bạn nên viết đoạn mã trước đó thành 1 dòng. Dấu “\” cần được loại bỏ (nó chỉ có nghĩa là tính liên tục của mã). Tổng cộng, mã của bạn sẽ trông như thế này

chụp màn hình từ video

Như chúng ta có thể thấy, sau khi hoàn thành việc triển khai lệnh, chúng tôi nhận được một liên kết đến trang của Subgraph mà chúng tôi đã tạo, được triển khai cho dịch vụ Lưu trữ The Graph và hiện tại có lẽ đã được lập chỉ mục bởi nó. Bằng cách nhấp vào liên kết, chúng ta sẽ thấy trang đã quen thuộc với chúng ta:

Vì vậy, khi quá trình đồng bộ hóa hoàn tất, chúng tôi sẽ có PlayGround GraphQL trong bảng điều khiển của chúng tôi trong Graph Explorer, sẵn sàng thực hiện các truy vấn bằng cách sử dụng Subgraph mới mà chúng tôi vừa tạo

Các bước tiếp theo

 

Cần hiểu rằng cho đến nay chúng ta mới chỉ học cách tạo và đặt một Subgraph mẫu đơn giản. Để kết thúc với một Đoạn con thực hiện các chức năng mà chúng ta quan tâm cụ thể, chúng ta sẽ phải sửa đổi mã của Đoạn con này, suy nghĩ xem chính xác những gì chúng ta muốn lấy trong SchemaQL của Đoạn con của chúng ta và thực hiện các thay đổi đối với Mapping, Manifest, v.v. Chức năng “yarn codegen”, đã được chúng tôi nghiên cứu và ứng dụng thành công, sẽ trở thành một trợ giúp quan trọng ở đây.

Ngoài ra, thay vì sửa chữa Subgraph thử nghiệm đã tạo, bạn có thể để nó như cũ và với kinh nghiệm của mình, tạo một Subgraph mới trực tiếp từ hợp đồng Ethereum. Bạn có thể đọc về việc tạo Đồ thị con trực tiếp từ hợp đồng Ethereum tại đây. Nếu bạn vẫn muốn sửa đổi Subgraph đã được tạo và không tạo mới, thì bạn có thể tiếp tục đọc bài viết này.

Hãy tưởng tượng một cách có điều kiện rằng chúng ta muốn sử dụng dữ liệu từ Uniswap trên các cặp được giao dịch ở đó. Chúng ta có thể truy cập trang của họ trên GitHub, tải xuống tệp ABI của họ từ đó hoặc chỉ cần sao chép tất cả mã từ trang này

>

Sau đó, thay thế tệp abi Gravity.json bằng tệp abi đã tải xuống (hoặc chỉ cần xóa tất cả mã và dán mã đã sao chép từ GitHub) vào Visual Studio trong Subgraph của chúng ta

Lưu ý: Nếu bạn chỉ đang thay đổi mã, bạn cần đổi tên tệp abi. Thay vì Gravity.json, hãy viết Pair.json

Sau đó, chúng ta cần thay đổi Nguồn dữ liệu trong đồ thị con của chúng ta thành tên ABI mới

Sau đó, chúng tôi chạy lệnh “yarn codegen”, lệnh này sẽ tự động viết lại các Mapping, Manifest và các tệp khác của đồ thị con của chúng tôi, có tính đến dữ liệu đầu vào mới

Mặc dù “yarn codegen” là một chức năng hữu ích, nó không phải là cây đũa thần và nó sẽ không hoàn toàn làm tất cả công việc cho bạn. Để tạo một Subgraph thực sự tốt và hữu ích từ mẫu hiện tại, bạn sẽ phải dành thời gian nghiên cứu GraphQL, hợp đồng Ethereum mà bạn quan tâm và làm quen sâu hơn với tài liệu Graph (https://thegraph.com/docs). Nhưng nếu bạn đã đối phó thành công với việc tạo và triển khai Đồ thị con thử nghiệm này, thì bạn đã sẵn sàng để thực hiện những Subgraph phức tạp hơn!

Nguồn

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63815.31
ETH 3124.40
USDT 1.00
SBD 3.99