Sui RPC Endpoint Documentation | ERPC

เอกสาร Sui RPC Endpoint

ใช้ ERPC เป็น Sui RPC endpoint ของคุณสำหรับ unary gRPC-web requests. Sui RPC เป็นส่วนหนึ่งของ RPC APIs ของ ERPC ภายใน Global Edge Blockchain Infrastructure ของเรา และสามารถจัดการ API key ได้จาก ERPC Web Dashboard.
คุณสามารถใช้ RPC key เดียวกับ Solana, Ethereum และ Avalanche ได้.
ส่ง API key ของคุณเป็น Authorization: Bearer <YOUR_API_KEY>. Sui SDK จะต่อ path ของ service ท้าย base URL จึงต้องใส่ key ใน header แทน query parameter api-key.

Endpoint

ใช้ base URL ใดก็ได้ต่อไปนี้เป็น baseUrl ของ gRPC-web transport:
text
https://edge.erpc.global/sui
text
https://sui.erpc.global
request เป็น POST แบบ binary gRPC-web (application/grpc-web+proto) ไปที่ /sui.rpc.v2.<Service>/<Method> โดยหนึ่ง unary call ใช้ protobuf frame ที่ไม่บีบอัดหนึ่ง frame.

ตัวอย่าง

นี่คือตัวอย่างการตั้งค่า transport.
typescript
import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport'

const transport = new GrpcWebFetchTransport({
  baseUrl: 'https://sui.erpc.global', // or https://edge.erpc.global/sui
  format: 'binary',
  meta: { Authorization: 'Bearer <YOUR_API_KEY>' },
})
ส่ง transport นี้ให้กับ unary service client ที่สร้างขึ้นสำหรับ Sui gRPC API.
คุณสามารถสร้างและตรวจสอบ API key ได้ใน ERPC Web Dashboard: ERPC Web Dashboard

Batch Requests

Sui ไม่มี batch request. แต่ละ HTTP request มีหนึ่ง unary call และจะถูกวัดเป็นหนึ่งคำสั่งเรียก. request body มีขนาดได้สูงสุด 1 MiB.

การวัดผลการใช้งาน

การใช้งานจะถูกวัดเป็น token และอัตรา token อาจแตกต่างกันไปตาม method. แต่ละ unary call จะถูกวัดเป็นหนึ่งคำสั่งเรียก.

ข้อจำกัดของแพ็กเกจ Free

ในแพ็กเกจ Free บัญชีของคุณส่งได้หนึ่ง request ต่อ 10 วินาที. ขีดจำกัดนี้นับต่อบัญชี ไม่ใช่ต่อ endpoint ดังนั้น request ที่ส่งไปยัง chain อื่นก็อาจถูกนับรวมในขีดจำกัดนี้ด้วย. request ที่ส่งเร็วกว่านั้นจะได้รับการตอบกลับด้วย HTTP 429 และ header retry-after จะระบุเวลาที่ต้องรอเป็นวินาที.

เมธอดที่รองรับ

Endpoint นี้ให้บริการ unary gRPC-web method ต่อไปนี้ 19 รายการ. แต่ละรายการเรียกที่ /sui.rpc.v2.<Service>/<Method> และตัวพิมพ์ใหญ่-เล็กต้องตรงกันทุกตัว.
  • LedgerService (5): GetServiceInfo, GetCheckpoint, GetObject, GetTransaction, GetEpoch
  • MovePackageService (4): GetPackage, GetDatatype, GetFunction, ListPackageVersions
  • NameService (2): LookupName, ReverseLookupName
  • SignatureVerificationService (1): VerifySignature
  • StateService (5): GetCoinInfo, GetBalance, ListBalances, ListDynamicFields, ListOwnedObjects
  • TransactionExecutionService (2): ExecuteTransaction, SimulateTransaction
path ที่ไม่อยู่ในรายการจะได้รับการตอบกลับด้วย HTTP 400. ไม่รองรับ native gRPC, gRPC-web แบบ text, streaming และการเรียก BatchGet*.

รหัสสถานะการตอบกลับ

HTTP statusความหมาย
200unary call สำเร็จ. body เป็น application/grpc-web+proto.
400path ที่ไม่อยู่ในรายการเมธอดที่รองรับ, body ที่ไม่ใช่ binary gRPC-web frame ที่ไม่บีบอัดเพียงหนึ่ง frame หรือ body ที่เกิน 1 MiB.
401ไม่มี API key หรือ API key ไม่ถูกต้อง หรือไม่เป็นไปตามข้อจำกัด IP หรือ Origin ที่ตั้งไว้สำหรับ key.
405ใช้ request method อื่นที่ไม่ใช่ POST.
426มีการร้องขอ WebSocket Upgrade. endpoint นี้รองรับเฉพาะ HTTP.
429ถูกจำกัดอัตรา รวมถึงข้อจำกัดของแพ็กเกจ Free ที่ให้หนึ่ง request ต่อ 10 วินาที. หากมี header retry-after ให้รอตามจำนวนวินาทีที่ระบุ.
502ไม่สามารถดำเนินการ upstream call ให้เสร็จสมบูรณ์ได้: upstream ตอบกลับล้มเหลว, การตอบกลับเกิน 8 MiB, ไม่มีการตอบกลับภายใน 30 วินาที หรือ grpc-status ไม่ใช่ 0.
503บริการไม่พร้อมใช้งานชั่วคราว.

Sui RPC Methods และ Documentation

สำหรับรายการ method มาตรฐาน พารามิเตอร์ และข้อกำหนดทั้งหมด โปรดดูเอกสารทางการ.