بابان مختلفان من المدخل
كنت قد نظرت فقط من قبل إلى سير العمل الخاص بـ Newton عبر واجهة سطر الأوامر — لتوليد CIDs، ثم النشر، والتهيئة، والمحاكاة، والإرسال. بالعودة إلى الوثائق، توجد مسار ثانٍ منفصل: حزمة تطوير TypeScript، `@magicnewton/newton-protocol-sdk`، مقترنة بـ viem، وموجهة للمطورين الذين يفضلون كتابة الكود بدلًا من تشغيل أوامر CLI. جمهور مختلف، لكن نفس البروتوكول الأساسي.
يركز مسار الـ SDK على طريقة تُسمى `simulateTask()` — تجربة تشغيل تجريبية (dry run)، موثقة صراحةً على أنها لا تقوم بإرسال أي شيء على السلسلة (onchain)، ولا تتطلب أي Sepolia ETH ولا محفظة. أنت تزودها بنية (from, to, value, calldata, chain ID, function signature) وبكائن `policyTaskData` يصف أي سياسة يجب التحقق منها، وهي تُرجع نتيجة محليًا.
هذا أسلوب ميسّر للغاية لتجربة Newton — بدون محفظة ممولة، بدون نشر، وبدون ما يترتب عليه شيء. وهذا بالضبط سبب أن المثال المحدد الذي تقدمه لك صفحة البداية السريعة (quickstart) يستحق أن تنظر إليه بعناية.
سياسة العرض التوضيحي التي يحصل عليها الجميع
لا يطلب مثال `simulateTask()` في دليل البدء السريع منك كتابة سياسة. بل يشير إلى سياسة موجودة بالفعل: سياسة جاهزة ومُنشرَة مسبقًا لفحص عقوبات OFAC على Sepolia، مع عنوان سياسة محدد، ومعرّف سياسة محدد، وعنوان معرّف أوراكل لقائمة العقوبات المحدد، وكل ذلك مُعطى مباشرة في التوثيق كقيم قابلة للنسخ واللصق. وتقول الوثائق ذلك صراحة: "يمكنك استخدام هذا للاختبار".
إذن أسرع طريق من الصفر إلى "استخدمت Newton فقط" لا يتضمن كتابة أي منطق سياسة على الإطلاق. بل يتضمن استدعاء دالة تتحقق من عنوان مثال مُشفّر مسبقًا مقابل سياسة كتبها شخص آخر ونشرها ويُحافظ عليها.
لماذا يجدر الانتباه إلى ذلك، لا انتقاده
أريد أن أكون حذرًا بشأن النبرة هنا، لأنه لا يوجد ما هو خاطئ في عرض توضيحي منخفض الاحتكاك — فكل أداة جادة للمطورين لديها واحد، واشتراط أن يكتب المطور وينشر سياسة حقيقية قبل أن يتمكن من تقييم ما إذا كانت الأداة تستحق وقته سيكون تجربة إقلاع أسوأ، لا تجربة أكثر صرامة.
لكن هذا يعني وجود فجوة ذات مغزى بين ادعاءين مختلفين: "جرّبت البداية السريعة لـ Newton ونجحت" و"اختبرت منطق سياسة الخاص بي مقابل محرك تقييم Newton". الادعاء الأول، وبحكم التصميم، سيُمكّن عددًا كبيرًا جدًا من المطورين الذين يسلكون المسار نفسه الذي يستغرق خمس دقائق من قول ذلك باستخدام السياسة الجاهزة نفسها وعنوان المثال نفسه. أما الادعاء الثاني فيتطلب كتابة Rego الخاصة بك، ونشر عقد بيانات السياسة الخاص بك، والمحاكاة مقابل نواياك أنت — وهو رفع أكبر بكثير لا يتطلبه وصول quickstart إلى ما قبل إعلان النجاح.
أين يتباين مسار سطر الأوامر (CLI)
لهذا أعتقد أن مساري التكامل — باستخدام الـ SDK مع سياسة عرض توضيحي مشتركة مقابل باستخدام الـ CLI مع سياسة تم نشرها من قبلك — ليسا في الحقيقة بوابات قابلة للتبادل لتحقيق تجربة واحدة. مسار الـ CLI الذي نظرْتُ إليه سابقًا يجبرك على توليد CIDs الخاصة بك ونشر عقد سياسة الخاص بك قبل أن تصل إلى خطوة المحاكاة (simulate)؛ لا توجد اختصار مكافئ لسياسة موجودة مسبقًا مُضمّنة داخل هذا التدفق. أما مسار الـ SDK فيحسن الوضع في الاتجاه المعاكس: أسرع مسار ممكن إلى "أنه يعمل"، مقابل أن أول نجاح لا يمارس فعليًا أي منطق كتبته أنت بنفسك.
لا يوجد خطأ في أي من المسارين من حيث ما يسعى كل منهما إلى تحقيقه. لكن شخصًا يقيم Newton عبر محاولة بدء التشغيل السريع باستخدام الـ SDK، وشخصًا يقيمه عبر العمل عبر تسلسل النشر في سطر الأوامر (CLI) قد ينتهيان بمستويات مختلفة بشكل ملحوظ من التحقق العملي من الواقع، بينما كلاهما يستطيع بدقة أن يقول إنه "جرّبه".
الجزء الذي يستحق السؤال عنه مباشرة
لا أملك رؤية حول عدد عمليات التكامل الحية التي لا تزال فعليًا تمر عبر سياسة العرض التوضيحي المشتركة المحددة تلك مقابل سياسة مخصصة حقًا، أو ما إذا كانت Newton تتبع هذا التمييز داخليًا. سؤال معقول أن تطرحه مباشرة: من بين السياسات التي يجري تقييمها فعليًا على الشبكة، كم منها سياسات أصلية منطقها مكتوب من قِبل المطورين، وكم منها ما زال موجّهًا لأمثلة مرجعية من التوثيق. هذا الرقم سيخبرك بشيء لا يقوله إطار "تم شحن X عمليات تكامل" — مقدار ما أنجزه النظام البيئي فعليًا العمل الأصعب المتمثل في كتابة قواعده الخاصة ونشرها، مقابل مقدار ما يعمل على منطق عرض توضيحي مستعار لا يزال يؤدي وظيفته.
مكان وقوفي
مسار خالٍ من الاحتكاك يستغرق خمس دقائق للوصول إلى "استخدمت Newton" تصميم منتج جيد. فقط من المفيد أن تكون دقيقًا بشأن ما تحققته فعليًا تلك الدقائق الخمس — أن البنية التحتية للبروتوكول تعمل، باستخدام سياسة شخص آخر — بدلًا من التعامل معها كدليل على أن منطق الامتثال الخاص بك، أيًا ما ينتهي به الأمر لاحقًا، تم اختباره فعليًا بشكل ذي معنى.
