
Mọi điều bạn cần biết về Solana RPCs (2023)
Giới thiệu
Là một phần thiết yếu trong cách các ứng dụng phi tập trung tương tác với mạng blockchain, RPCs là kiến thức bắt buộc đối với bất kỳ ai đang tìm hiểu lĩnh vực phát triển nhanh chóng này. Dù tập trung vào Solana hay các nền tảng blockchain khác, hướng dẫn này sẽ cung cấp cho bạn những kiến thức thiết yếu về vai trò của RPCs trong cả môi trường truyền thống lẫn blockchain.
Ý nghĩa của RPC: RPC là viết tắt của gì?
Trong lĩnh vực tiền mã hóa, mọi dữ liệu bạn cần đều nằm trên chuỗi. Dữ liệu hoàn toàn không cần cấp quyền và bất kỳ ai cũng có thể xem cũng như sử dụng. Vậy làm thế nào để truy xuất dữ liệu? Bằng RPCs.
RPCs — dù về mặt kỹ thuật là viết tắt của Remote Procedure Calls (lời gọi thủ tục từ xa) — thường được dùng như cách gọi tắt của các nút RPC. Đây là những nút tham gia mạng blockchain và cung cấp các phương thức (được gọi là lời gọi thủ tục từ xa) để nhà phát triển có thể gọi.
RPCs và APIs
Trong phát triển phần mềm truyền thống (web2), bạn thường truy xuất dữ liệu cần thiết bằng cách làm việc với APIs. Bạn có thể dùng Stripe APIs để xử lý dữ liệu thanh toán, Twilio cho dữ liệu SMS, Bloomberg cho dữ liệu tài chính, Plaid cho dữ liệu ngân hàng, v.v.
Điểm đáng chú ý ở đây là dữ liệu bạn cần thường bị các tổ chức tập trung nắm giữ hoặc kiểm soát.
Đây là lúc RPCs phát huy vai trò. Chúng cung cấp dữ liệu không cần cấp quyền cho bạn một cách hiệu quả mà không cần đến nhà cung cấp bên ngoài. Đây là dữ liệu được lấy trực tiếp bằng cách gọi sổ cái.
RPCs truyền thống và RPCs blockchain & tiền mã hóa
Trong cả môi trường truyền thống lẫn blockchain, RPCs đều là phương thức truy xuất dữ liệu, nhưng điểm tương đồng thường chỉ dừng lại ở đó. RPCs truyền thống hoạt động qua nhiều giao thức và tương tác với cơ sở dữ liệu tập trung, vì vậy bạn phải tin tưởng một thực thể duy nhất về tính toàn vẹn của dữ liệu. Ngược lại, RPCs blockchain thường sử dụng HTTP với JSON-RPC, lấy dữ liệu từ các mạng phi tập trung và mang lại tính bảo mật cao hơn nhờ xác minh dữ liệu trên nhiều nút. Trong khi RPCs truyền thống có thể hạn chế quyền truy cập dữ liệu, RPCs blockchain thường cung cấp dữ liệu công khai, mở. Ngoài ra, RPCs blockchain, đặc biệt trên các mạng như Solana, được tối ưu hóa về tốc độ và thông lượng để đáp ứng nhu cầu thời gian thực của các ứng dụng phi tập trung. Việc hiểu những khác biệt chính này sẽ giúp bạn làm việc hiệu quả hơn với RPCs trong hệ sinh thái blockchain.
Solana RPCs
Solana Mainnet RPCs
Để lấy dữ liệu từ cụm Mainnet Beta của blockchain Solana, bạn phải gửi một yêu cầu JSON-RPC đến một nút RPC đang tham gia mạng.
Một yêu cầu JSON-RPC điển hình có thể có dạng như sau:
curl -X POST -H "Content-Type: application/json" -d ' { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }Yêu cầu này đề nghị nút RPC tại https://api.mainnet-beta.solana.com thực thi phương thức RPC getBlock. Nút biết cần làm gì khi nhận được yêu cầu này vì nó đang chạy phần mềm máy khách cho blockchain Solana.
Trên thực tế, hầu như không ai làm việc trực tiếp với các yêu cầu JSON-RPC như thế này (dù bạn hoàn toàn có thể!). Hầu hết nhà phát triển thích làm việc với các máy khách RPC hơn. Lựa chọn phổ biến nhất là thư viện Solana Web3 JS, có tại đây. Để xem danh sách đầy đủ các phương thức JSON RPC hiện có trên Solana, hãy tham khảo tài liệu chính thức.
Solana Devnet RPCs
Ngoài ra, bạn có thể truy cập cụm Devnet của Solana bằng Devnet RPC. Solana cung cấp một RPC dành cho mục đích thử nghiệm tại https://api.devnet.solana.com.
Khi đó, yêu cầu RPC sẽ có dạng:
curl [<https://api.devnet.solana.com>](<https://api.devnet.solana.com/>) -X POST -H "Content-Type: application/json" -d ' { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }Điểm duy nhất thay đổi là cụm mà yêu cầu được gửi đến. Tài khoản chúng ta đang truy vấn có thể phải thay đổi nếu tài khoản đó không có giao dịch hoặc thông tin trên Devnet. Nguyên nhân là cụm Devnet không dùng chung lịch sử với Mainnet Beta
Ethereum RPCs và Solana RPCs
Để Solana hoạt động, hệ thống cần một mạng lưới nút phân tán chạy phần mềm máy khách của mình.
Có thể chia các nút này thành hai loại: trình xác thực và RPCs.
Cả hai loại nút đều có một điểm chung quan trọng: chúng liên tục theo dõi blockchain và lưu trữ dữ liệu (hoặc trạng thái) mới nhất của chuỗi.
Tuy nhiên, giữa chúng có một khác biệt quan trọng.
Trình xác thực là các nút bỏ phiếu (ví dụ: "có, khối này hợp lệ") và tham gia vào cơ chế đồng thuận.
RPCs là các nút không bỏ phiếu — nhưng xử lý yêu cầu làm việc với dữ liệu trên chuỗi. Lưu ý rằng cấu hình này không phổ biến ở các blockchain khác như Ethereum, nơi nút xác thực và nút RPC thường là một.
Khi thực hiện một lệnh gọi RPC, bạn đang gọi một thủ tục/hàm trên nút tham gia blockchain. Vì tham gia mạng, nút đó biết dữ liệu mới nhất là gì và có thể cung cấp dữ liệu cho bạn theo yêu cầu.
Helius: Công ty Solana RPC
Helius cung cấp quyền truy cập RPC cao cấp với nhiều lợi ích cho các nhà phát triển trên Solana.
Helius RPCs vận hành trên phần cứng cao cấp nhất, đảm bảo ứng dụng của bạn luôn đạt hiệu suất tối ưu, ổn định và không gặp rắc rối. Chúng tôi tự hào cung cấp dịch vụ hỗ trợ nhà phát triển 24/7 tốt nhất trong hệ sinh thái. Khi hệ thống gặp sự cố ngoài dự kiến hoặc bạn có câu hỏi về một tính năng sắp ra mắt, chúng tôi sẽ hỗ trợ ngay lập tức.
Solana RPCs: Cách bắt đầu với Helius
RPCs cực kỳ quan trọng — nếu không có chúng, bạn hoàn toàn không thể làm việc với blockchain. Vì vậy, có những công ty chuyên hoàn thiện trải nghiệm RPC. Những máy này được sử dụng với cường độ rất cao, nên khả năng vận hành tốt khi chịu tải lớn là vô cùng quan trọng. Một nhà cung cấp RPC tốt phải đáng tin cậy, duy trì hiệu suất ổn định và cung cấp các chỉ số để người dùng cuối theo dõi xu hướng sử dụng theo thời gian.
Tại Helius, chúng tôi là những kỹ sư chuyên sâu về Solana với sứ mệnh mang đến trải nghiệm RPC tốt nhất có thể cho mọi nhà phát triển. Bạn có thể bắt đầu miễn phí chỉ với hai cú nhấp chuột mà không cần đăng ký bằng email hay cung cấp thẻ tín dụng.
Đây là phần giới thiệu rất ngắn gọn và thân thiện với người mới bắt đầu về Solana RPCs. Có lẽ bạn đã biết khá nhiều thông tin trong số này. Tiếp theo, chúng ta sẽ thảo luận về cách tối ưu hóa RPC, những điểm cần lưu ý và một số chủ đề nâng cao hơn — cảm ơn bạn đã đọc!
Bài viết liên quan
Đăng ký nhận tin từ Helius
Luôn cập nhật những thông tin mới nhất về phát triển Solana và nhận thông báo khi chúng tôi đăng bài


