Brale تم مؤخرًا إطلاق نسخة محدثة من واجهات برمجة تطبيقات «stablecoin». بدأ المشروع بمرحلة التصميم الجماعي في الربع الأول، ثم انتقل إلى مرحلة التطوير في الربع الثاني، وبدأ التشغيل الفعلي مع عملاء حقيقيين بعد ذلك بوقت قصير.
تقدم «API» العديد من الميزات. لا يهدف هذا المنشور إلى تفصيل كل تلك الوظائف، بل هو مجرد سجل لكيفية قيامي باختبار هذه الميزات، في الغالب من أجل المتعة، وجزئيًا لفهم الطريقة التي قد يتبعها الآخرون عند استخدامها لأول مرة.
استخدام نماذج اللغة الكبيرة (LLMs) للعمل مع «API»
في المرة الأخيرة التي كنت أعمل فيها على شيء من هذا القبيل، لم تكن نماذج اللغة الكبيرة جزءًا فعليًّا من سير العمل. لكن الوضع تغير الآن. باستخدام Cursor وبعض التوجيهات الجيدة، أصبح من السهل الآن تجميع نماذج أولية فعالة واختبار الافتراضات في الوقت الفعلي.
ما زلت أحب استخدام Postman لاستكشاف واجهات برمجة التطبيقات (APIs)، لكنني أردت أن أرى كيف سيكون الشعور عند استخدام «Brale» API ضمن بيئة أقرب قليلاً إلى واجهة حقيقية.
الاختبار الأول: المصادقة
بدأت بتدفق مصادقة أساسي – باستخدام client_id و client_secret للحصول على رمز حامل (bearer token). لا شيء معقد. فقط ما يكفي لإثبات أن بيانات الاعتماد تعمل وأن نطاقها محدد بشكل صحيح.
هذا الاختبار الصغير موجود هنا: github.com/superduperdot/auth-app
الاختبار الثاني: الأرصدة
اتضح أن هذا الأمر كان أكثر تعقيدًا بعض الشيء. يدعم Brale API أنواعًا متعددة من القيم (يمثل كل منها أصلًا مميزًا) وأنواعًا متعددة من التحويلات (يمثل كل منها سلسلة أو شبكة). لذا سارت عملية استرداد الأرصدة على النحو التالي:
احصل على معرّف الحساب (account_id) المرتبط ببيانات اعتمادك
استخدام هذا المعرف لسحب قائمة العناوين
تصفية النتائج حسب النوع: «internal» لعزل المحافظ الوديعة
التكرار عبر كل تركيبة معروفة من أنواع القيم وأنواع التحويل
الاستعلام عن الأرصدة وتسجيل النتائج
التطبيق متوفر هنا: github.com/superduperdot/balance-app
البحث عن الأنواع المدعومة
أنواع التحويل (TransferTypes) موثقة جيدًا. أما أنواع القيم (ValueTypes) فلم يتم عرضها مباشرةً في الوثائق بعد، لذا قمت باستخراجها من التطبيق الفعلي ووضعت كلا القائمتين على GitHub للرجوع إليهما مستقبلاً:
قائمة أنواع التحويل (Brale)
قائمة أنواع القيم (ValueTypes) لـ Brale
كما نجحت عملية الحصول على الأسعار من نقطة نهاية البيانات بشكل جيد.
ملاحظات أخرى
إذا كنت تعمل محليًّا، فتوقع حدوث مشكلات تتعلق بـ CORS، واستخدم وكيلًا.
تتم المصادقة على auth.brale.xyz؛ أما كل شيء آخر فيتم على api.brale.xyz.
لا يزال التمييز بين account_id و address_id يسبب لي أخطاء بسيطة إذا لم أكن حريصًا.
تخزن تطبيقات الاختبار هذه بيانات الاعتماد محليًا وليست آمنة للاستخدام في بيئة الإنتاج. وهذا أمر مقصود
لا شيء هنا نهائي. كانت هذه الاختبارات تركز في الغالب على السرعة وسهولة الاستخدام. كان الهدف هو معرفة مدى السرعة التي يمكنك بها الانتقال من بيانات الاعتماد إلى شيء حقيقي، دون الاعتماد على أدوات داخلية أو معرفة عميقة بالمنصة.
إذا كنت تستكشف «Brale» API، فربما يقصر هذا المسار. وإن لم يكن الأمر كذلك، فقد كان الأمر يستحق الوقت الذي قضيته في رؤية كيف تتصرف الطبقة الجديدة في بيئة حقيقية. يمكن أن تكون واجهة سطر الأوامر (CLI) مفيدة أيضًا في اختبار الأداء.