وثائق نقطة نهاية Sui RPC | ERPC

وثائق نقطة نهاية Sui RPC

استخدم ERPC كنقطة نهاية Sui RPC الخاصة بك لطلبات gRPC-web من نوع unary. يُعد Sui RPC جزءًا من RPC APIs الخاصة بـERPC ضمن Global Edge Blockchain Infrastructure لدينا، ويمكن إدارة مفتاح API من ERPC Web Dashboard.
يمكنك استخدام نفس مفتاح RPC الذي تستخدمه مع Solana وEthereum وAvalanche.
أرسل مفتاح API الخاص بك بصيغة Authorization: Bearer <YOUR_API_KEY>. يُلحق Sui SDK مسار الخدمة بعنوان URL الأساسي، لذا يُرسَل المفتاح في الترويسة بدلًا من معامل الاستعلام api-key.

نقاط النهاية

استخدم أيًّا من عنوانَي URL الأساسيين التاليين كقيمة baseUrl في الـtransport الخاص بك من نوع gRPC-web:
text
https://edge.erpc.global/sui
text
https://sui.erpc.global
الطلبات هي طلبات POST من نوع gRPC-web الثنائي (application/grpc-web+proto) إلى /sui.rpc.v2.<Service>/<Method>، بإطار protobuf واحد غير مضغوط لكل استدعاء unary.

أمثلة

إليك مثالًا على ضبط الـ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 المُولَّد لـSui gRPC API.
يمكنك الحصول على مفتاح API الخاص بك والتحقق منه في ERPC Web Dashboard: ERPC Web Dashboard

الطلبات المجمّعة

لا تدعم Sui الطلبات المجمّعة. يحمل كل طلب HTTP استدعاء unary واحدًا ويُحتسب كاستدعاء واحد. يمكن أن يصل حجم جسم الطلب إلى 1 MiB.

قياس الاستخدام

يُقاس الاستخدام بالرموز، وقد يختلف معدل الرموز باختلاف الطريقة. يُحتسب كل استدعاء unary كاستدعاء واحد.

حدود خطة Free

في خطة Free، يمكن لحسابك إرسال طلب واحد كل 10 ثوانٍ. يُحتسب هذا الحد لكل حساب وليس لكل نقطة نهاية، لذا قد يُحتسب ضمنه أيضًا طلب موجَّه إلى سلسلة أخرى. يُقابَل الطلب المُرسَل قبل ذلك باستجابة HTTP 429، وتحدد ترويسة retry-after مدة الانتظار بالثواني.

الطرق المدعومة

تخدم نقطة النهاية طرق gRPC-web التالية من نوع unary وعددها 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
يُقابَل أي مسار غير مدرج في القائمة باستجابة HTTP 400. ولا تُدعم gRPC الأصلي ولا gRPC-web بالصيغة النصية ولا streaming ولا استدعاءات BatchGet*.

رموز حالة الاستجابة

HTTP statusالمعنى
200استدعاء unary ناجح. يكون الجسم بصيغة application/grpc-web+proto.
400مسار خارج قائمة الطرق المدعومة، أو جسم لا يمثّل إطار gRPC-web ثنائيًا واحدًا غير مضغوط، أو جسم يتجاوز 1 MiB.
401مفتاح API مفقود أو غير صالح، أو عدم استيفاء قيد IP أو Origin المفروض على المفتاح.
405طريقة طلب HTTP غير POST.
426طُلب WebSocket Upgrade. تعمل نقطة النهاية عبر HTTP فقط.
429تقييد المعدل، بما في ذلك حد خطة Free البالغ طلبًا واحدًا كل 10 ثوانٍ. إذا وُجدت ترويسة retry-after، فانتظر عدد الثواني المحدد فيها.
502تعذّر إكمال استدعاء upstream: فشل استجابة upstream، أو استجابة تتجاوز 8 MiB، أو عدم ورود رد خلال 30 ثانية، أو grpc-status بقيمة غير 0.
503الخدمة غير متاحة مؤقتًا.

طرق Sui RPC والوثائق

للقائمة الكاملة بالطرق القياسية والمعاملات والمواصفات، يُرجى الرجوع إلى الوثائق الرسمية.