Bài viết được dịch từ Blog của Berachain: https://blog.berachain.com/blog/your-berachain-rpc-guide Phát hành vào 27/9/2024 bởi Manny Bera.
Các dịch vụ RPC nào có sẵn trên Berachain & Câu hỏi thường gặp về RPC
Tại Berachain, chúng tôi thường nhận được nhiều câu hỏi về dịch vụ RPC và những gì mà nền tảng cung cấp. Chúng tôi sẽ đi sâu vào các chi tiết về dịch vụ RPC mà các nhà phát triển có thể tận dụng với bArtio Testnet V2 hiện tại của Berachain.
Berachain V1 Artio có còn hoạt động không?
Từ tháng 6 năm 2024, Berachain V1 Artio đã ngừng hoạt động và được thay thế bằng phiên bản mới là Berachain V2 bArtio. Nếu bạn muốn tìm hiểu thêm về cách hoạt động của phiên bản mới, hãy đọc bài viết của Dev Bear, CTO của Berachain.
Có những nhà cung cấp RPC miễn phí nào?
Để sử dụng RPC chính của Berachain, bạn có thể truy cập vào https://bartio.rpc.berachain.com.
Thông tin cấu hình mạng Berachain bArtio:
- Network: Berachain bArtio
- RPC URL: https://bartio.rpc.berachain.com/
- Chain ID: 80084
- Currency Symbol: BERA
- Block Explorer URL: https://bartio.beratrail.io/
Hiện có nhiều nhà cung cấp RPC miễn phí được liệt kê trên ChainList, nhưng lưu ý rằng Berachain chưa xác nhận các dịch vụ này.
Ngoài ra, các nền tảng như QuickNode, Nirvana Labs và Alchemy cũng có các kết nối RPC riêng với các gói miễn phí rất hấp dẫn.
Giới hạn sử dụng dịch vụ RPC công khai
Với https://bartio.rpc.berachain.com, bạn có thể gửi tối đa:
- 50 yêu cầu mỗi giây
- 2000 yêu cầu mỗi phút
- 100000 yêu cầu mỗi ngày
(Lưu ý: Các giới hạn này có thể thay đổi.)
Berachain có cung cấp WebSocket không?
Berachain có hỗ trợ WebSocket thông qua các nhà cung cấp như QuickNode, Nirvana Labs và Alchemy. Đây là các kết nối riêng, bạn cần đăng ký tài khoản để sử dụng.
Berachain có cung cấp WebSocket công khai không?
Hiện tại, Berachain chưa cung cấp dịch vụ WebSocket công khai.
Bạn có cần dùng WebSocket không?
Nếu nhóm của bạn không cần cập nhật dữ liệu theo thời gian thực hoặc giao dịch tần suất cao, bạn có thể dùng phương pháp polling để lấy dữ liệu.
- Polling: là cách mà client sẽ gửi yêu cầu đến server đều đặn để kiểm tra xem có cập nhật mới không.
Các yêu cầu phương thức RPC debug có sẵn không?
Vì các phương thức RPC debug không phổ biến, nên RPC công khai của Berachain không cung cấp dịch vụ này. Tuy nhiên, bạn có thể sử dụng qua các nhà cung cấp RPC khác.
Nirvana Labs
Nirvana có cung cấp các phương thức debug trong gói miễn phí của họ.
Ví dụ yêu cầu Debug:
curl –location ‘https://berachain.nirvanalabs.xyz/YOUR-NODE-NAME?apikey=YOUR-NIRVANA-API-KEY’ \
–header ‘Content-Type: application/json’ \
–data ‘{
“jsonrpc”: “2.0”,
“method”: “debug_traceTransaction”,
“params”: [
“0xead913400b737358b6d6ad909fcc43b697c63ecd9895cc2fe4a41efd572bf12a”
],
“id”: 86
}’
QuickNode
QuickNode cung cấp các tính năng theo dõi (trace) và gỡ lỗi (debug) trong các gói dịch vụ Scale và Build.
Các lựa chọn khác
Một lựa chọn khác là tự chạy một full node của riêng bạn — xem chi tiết bên dưới.
Các nhà cung cấp RPC có hỗ trợ giao dịch không bảo vệ (không ký theo EIP155) không?
Đây là yêu cầu đặc biệt, đôi khi các nhà phát triển cần, nhưng RPC công khai của Berachain và các nhà cung cấp khác không hỗ trợ.
Nếu cần, bạn có thể tự chạy một full node (bằng Geth, Reth, v.v.) để thực hiện giao dịch không bảo vệ.
Chi tiết cách tự chạy node nằm ở phần dưới.
Berachain có cung cấp API dữ liệu cho NFT không?
Hiện tại, các dịch vụ RPC của Berachain chưa có API hoặc phương thức RPC dành riêng cho NFT. Tuy nhiên, điều này có thể thay đổi trong tương lai.
Giải pháp thay thế: Một số nhà cung cấp khác đã có API cho NFT.
Routescan (Trình khám phá khối Beratail)
Routescan là trình khám phá khối chính của Berachain, cung cấp API để tra cứu tài sản trong ví, bao gồm cả NFT.
Ví dụ Curl Request
curl –location ‘https://api.routescan.io/v2/network/testnet/evm/80084/address/0xb7AE5De3e843a26Ca764605f6Bec916701f88556/erc721-holdings’;
Reservoir
Reservoir là một nền tảng tích hợp tất cả các dịch vụ liên quan đến dữ liệu và giao dịch NFT.
Nền tảng này có endpoint cho phép lấy tất cả các NFT liên quan đến một địa chỉ ví trên Berachain V2 bArtio Testnet.
Ví dụ cách sử dụng lệnh Curl:
# BASE API URL: https://api-berachain-testnet.reservoir.tools/
curl –location ‘https://api-berachain-testnet.reservoir.tools/users/0xWALLE_ADDRESS/tokens/v6’ \
–header ‘x-api-key: <YOUR-RESERVOIR-API-KEY>’
Để biết thêm chi tiết về endpoint này, hãy xem phần tài liệu của họ về getUsersUserTokens.
Chạy Node & Có Nên Tự Chạy Full Node Không?
Có hai yếu tố quan trọng khi tự chạy node là kiến thức bảo trì và chi phí.
Yếu tố chuyên môn Berachain có hướng dẫn đơn giản để giúp bạn bắt đầu và hiểu cách chạy full node: https://docs.berachain.com/nodes/quickstart.
Nếu bạn cảm thấy việc này phức tạp, bao gồm cập nhật và bảo trì server, thì nên cân nhắc sử dụng dịch vụ từ các nhà cung cấp RPC như QuickNode, Alchemy hoặc Nirvana.
Yếu tố chi phí Chi phí cũng là điều cần cân nhắc khi tự chạy full node, đặc biệt nếu bạn muốn chạy archive node, loại này yêu cầu nhiều dung lượng lưu trữ hơn.
Để chạy BeaconKit (phần mềm đồng thuận) và một client thực thi (như Reth hoặc Geth), bạn cần chuẩn bị hệ thống đáp ứng yêu cầu này (các thông số cần gấp đôi).
- OS: Linux / MacOS
- CPU Architecture: AMD64 or ARM64 / ARM64 Darwin
- CPU: 4 Physical Cores
- RAM: 24GB
- Storage: 500GB
Lưu ý: Dung lượng ổ cứng có thể tăng lên khi mạng mở rộng.
Ví dụ, một máy chủ AWS c5ad.8xlarge (32 vCPU, 64GB RAM, 2 ổ NVMe SSD 600GB) tại khu vực us-east-2 có giá khoảng 486,18 USD/tháng (xem AWS Pricing Calculator).
Nếu bạn biết cách tự cấu hình máy chủ, có thể chọn Hetzner để tiết kiệm chi phí hơn.
Vẫn muốn chạy full node? Nếu chi phí và kỹ thuật không là vấn đề, hãy truy cập Berachain Docs Quickstart để bắt đầu.
Tôi có thể chạy node xác thực không?
Do nhu cầu sử dụng Berachain V2 bArtio Testnet quá cao, chúng tôi hiện đã ngừng nhận đăng ký cho Testnet.
Nếu bạn quan tâm, hãy chờ đến khi Berachain Mainnet ra mắt để có thể chạy node xác thực.
Dịch vụ RPC có bị gián đoạn không?
Nếu bạn thấy các khối không hiển thị trên Beratrail Block Explorer, có thể vấn đề nằm ở Block Explorer chứ không phải RPC.Bạn có thể thử chạy lệnh cURL dưới đây. Nếu số khối thay đổi, nghĩa là dịch vụ RPC vẫn hoạt động.
curl –location ‘https://bartio.rpc.berachain.com’ \
–header ‘Content-Type: application/json’ \
–data ‘{
“jsonrpc”:”2.0″,
“method”:”eth_blockNumber”,
“params”:[],
“id”:84
}’
# [Expected Similar Output]:
# {
# “jsonrpc”: “2.0”,
# “id”: 84,
# “result”: “0x1ce748” // <—– THIS WILL CHANGE
# }
Nếu bạn không thấy kết quả đúng như mong đợi, hãy thử dùng VPN để chuyển sang khu vực khác. Điều này giúp kiểm tra xem có phải sự cố mạng ở khu vực bạn đang dùng không.
Làm sao để báo lỗi hoặc sự cố?
Nếu bạn gặp lỗi với dịch vụ RPC của Berachain, hãy cung cấp các thông tin sau để chúng tôi dễ dàng hỗ trợ:
- Khu vực bạn gửi yêu cầu RPC và đã thử dùng VPN ở khu vực khác chưa?
- Số lượng yêu cầu bạn thực hiện trong thời gian bao lâu và có nằm trong giới hạn của RPC công khai không? (xem giới hạn ở trên)
- Cấu trúc yêu cầu HTTP của bạn và lỗi này có lặp lại không? (Ví dụ: phương thức RPC, tham số, URL, API key, v.v.)
- Yêu cầu của bạn có phải là debug hoặc không tuân theo EIP-155 không? (xem chi tiết ở trên)
- Bạn mong đợi kết quả gì và kết quả thực tế ra sao? (Ví dụ: thông báo lỗi, log, v.v.)
- Bạn gửi yêu cầu bằng cách nào? (cURL, SDK, HTTP Client, dịch vụ backend, dịch vụ frontend, extension Chrome, v.v.) Bạn đã thử các cách khác để loại trừ lỗi do SDK chưa?
- Nếu có thể, hãy chia sẻ mã hợp đồng của bạn qua GitHub Gist hoặc tương tự.
- Ảnh chụp màn hình cũng hữu ích, nhưng vui lòng dán thêm mã ví hoặc mã giao dịch để dễ sao chép và kiểm tra.
Khi đã có các thông tin trên, hãy nhắn tin cho chúng tôi qua Discord hoặc Telegram.
Tiếp theo nên làm gì?
Nhận một ít token $BERA trên Testnet từ Berachain Faucet và bắt đầu xây dựng dự án của bạn.
❤️ Đừng quên ủng hộ bài viết này nhé! 👏🏼