Substreams 101: Giới Thiệu Cho Người Mới Bắt Đầu

Substreams, Uncategorized By Jul 16, 2024 No Comments

Tìm hiểu những điều cơ bản về Substreams, một giải pháp lập chỉ mục dữ liệu blockchain mạnh mẽ.

Tóm tắt: Dành cho những ai mới biết đến Substreams, hãy tìm hiểu xem nó là gì và nó giúp các nhà phát triển dễ dàng truy cập dữ liệu blockchain hơn như thế nào.

Bạn đang tìm kiếm giải pháp lập chỉ mục dữ liệu blockchain tốt nhất? Bạn đang thắc mắc làm thế nào để trích xuất và quản lý dữ liệu blockchain một cách hiệu quả?

Khởi đầu với Substreams!

Đây là bài đầu tiên trong loạt bài viết sẽ dẫn bạn từ người mới bắt đầu trở thành bậc thầy về Substreams.

Vấn đề với việc truy cập dữ liệu blockchain

Các nhà phát triển thường gặp khó khăn khi xây dựng các ứng dụng tập trung vào dữ liệu, đặc biệt là phải đối mặt với dữ liệu blockchain. Trích xuất dữ liệu blockchain là một nhiệm vụ khó nhằn và phức tạp, và để làm điều này nhanh chóng và đáng tin cậy còn khó hơn do blockchain có tính chất tuyến tính và phân tán.

Substreams là giải pháp

Hiện tại, không có nhiều giải pháp nhằm giải quyết vấn đề này, tuy nhiên StreamingFast, một chuyên gia trong việc xây dựng các công cụ xử lý dữ liệu blockchain, đã quyết định đứng ra. Họ đang sử dụng công nghệ mới của mình được gọi là Substreams để giúp việc xử lý và lập chỉ mục dữ liệu blockchain trở nên nhanh chóng và đáng tin cậy hơn.

Hãy cùng tìm hiểu Substreams là gì và cách nó giúp dữ liệu blockchain trở nên dễ tiếp cận hơn.

Substreams là gì?

Substreams là một công nghệ lập chỉ mục dữ liệu blockchain mạnh mẽ, được xây dựng và phát triển cho The Graph Network bởi StreamingFast. Công nghệ này giúp các nhà phát triển trích xuất dữ liệu từ blockchain, áp dụng các chuyển đổi tùy chỉnh để đáp ứng nhu cầu đặc thù của ứng dụng, và dễ dàng chuyển dữ liệu đã xử lý đến nhiều điểm đích khác nhau như PostgresSQL, ClickHouse, MongoDB và nhiều hệ thống khác.

Substreams hoạt động như thế nào?

Substreams bao gồm hai thành phần chính: nhà cung cấp Substreamsgói Substreams. Hãy cùng tìm hiểu kỹ hơn về từng thành phần này:

  • Nhà cung cấp Substreams: Nhà cung cấp Substreams lưu trữ và cung cấp dữ liệu blockchain. Các nhà cung cấp này (như Pinax) sử dụng Firehose, một công cụ trích xuất dữ liệu hiệu suất cao, không phụ thuộc blockchain, được phát triển bởi StreamingFast, để trích xuất dữ liệu blockchain một cách hiệu quả.
  • Gói Substreams: Gói Substreams là một chương trình Rust nhỏ được biên dịch thành WebAssembly, định nghĩa các chuyển đổi mà nhà phát triển muốn áp dụng cho dữ liệu. Nhà phát triển gửi gói Substreams đến nhà cung cấp Substreams thông qua một yêu cầu gRPC, sau đó nhà cung cấp sẽ thực thi gói này và truyền lại dữ liệu đã được chuyển đổi. Ngoài ra, nhà phát triển có thể gửi dữ liệu đến các đích khác khi cần.
Hiện tại, Substreams chỉ có thể được xây dựng bằng Rust, nhưng đội ngũ của StreamingFast đang có kế hoạch cho phép các nhà phát triển xây dựng Substreams bằng GolangTypeScript trong tương lai gần.

Ba Cách Sử Dụng Substreams

Các nhà phát triển có nhiều lựa chọn khác nhau để làm việc với Substreams: họ có thể tiêu thụ các gói Substreams đã được xây dựng sẵn hoặc tự xây dựng:

  1. Tiêu thụ Substreams: Cách đơn giản nhất để tận dụng Substreams là sử dụng các gói Substreams được xây dựng sẵn có trên Substreams Registry, điểm đến duy nhất để khám phá và chia sẻ các gói Substreams. Bạn có thể lựa chọn gói phù hợp với nhu cầu của mình và dễ dàng truyền dữ liệu đến điểm đích mong muốn của bạn.
  2. Xây dựng Substreams: Nếu bạn không tìm thấy gói Substreams phù hợp trong Substreams Registry, bạn có thể tạo gói riêng cho mình. Khi đã phát triển, bạn có thể xuất bản các gói này lên registry, khiến chúng trở nên có sẵn cho người khác sử dụng.
  3. Mở rộng Substreams: Bạn cũng có thể tận dụng các mô đun Substreams hiện có từ registry và xây dựng các mô đun Substreams mới dựa trên chúng, tạo ra các bộ dữ liệu hoàn toàn mới. Phương pháp này cho phép tùy chỉnh và mở rộng chức năng của Substreams để phù hợp với các yêu cầu cụ thể.

Phương pháp hợp tác này tạo điều kiện cho một hệ sinh thái sôi động, nơi mà các nhà phát triển có thể đóng góp những giải pháp của họ và hưởng lợi từ kiến thức tổng hợp và sự đổi mới trong cộng đồng.

Lợi ích của việc sử dụng Substreams

Substreams mang lại nhiều lợi ích cho các nhà phát triển khi lập chỉ mục và truy vấn dữ liệu blockchain. Dưới đây là một vài điều trong số đó:

  • Tốc độ: Substreams ưu tiên tốc độ với kiến trúc song song và thiết kế dựa trên streaming, đảm bảo việc lập chỉ mục dữ liệu blockchain hiệu quả.
  • Khả năng hợp thành: Substreams cung cấp khả năng hợp thành, cho phép các nhà phát triển dễ dàng sử dụng mã hoặc mô đun của nhau để tạo ra các đường ống lập chỉ mục phức tạp.
  • Khả năng tái sử dụng: Substreams nhấn mạnh vào khả năng tái sử dụng, cho phép bạn sử dụng các Substreams được xây dựng sẵn có trên Substreams Registry cho các nhiệm vụ lập chỉ mục của mình.
  • Các điểm đến tùy chỉnh: Substreams hỗ trợ các điểm đến tùy chỉnh, cho phép tích hợp mượt mà với các giải pháp lưu trữ dữ liệu hoặc phân tích dữ liệu mà bạn ưa thích.
  • Chuyển trọng tâm của việc lập chỉ mục dữ liệu blockchain cho một nhà cung cấp: Substreams cho phép bạn chuyển phần nặng nề của việc lập chỉ mục blockchain cho một nhà cung cấp dịch vụ như Pinax. Một nhà cung cấp có thể mở rộng theo yêu cầu và hạ dữ liệu vào nhiều cơ sở dữ liệu khác nhau, giải phóng bạn khỏi việc phải chạy các nút lập chỉ mục đắt đỏ một cách độc lập.
  • Hỗ trợ cộng đồng mạnh mẽ: Mặc dù là một công nghệ mới, Substreams đã thu hút sự chú ý đáng kể từ phía các nhà phát triển, với số lượng người dùng không ngừng tăng. Tại Pinax, chúng tôi có một Cộng đồng Discord, bên cạnh Cộng đồng Discord của StreamingFast, để hỗ trợ bạn nếu bạn muốn làm việc với Substreams.

Học và khám phá thêm


Nếu bạn muốn tìm hiểu sâu hơn về Substreams, bạn có thể tham khảo các tài nguyên dưới đây:

💡 Bài viết này trả lời các câu hỏi sau:
- Substreams là gì?
- Substreams làm thế nào để dễ dàng trích xuất dữ liệu blockchain?
- Có những lợi ích gì khi sử dụng Substreams?
- Nhà phát triển có thể tìm hiểu thêm về Substreams ở đâu?

    No Comments

    Leave a comment

    Your email address will not be published. Required fields are marked *