يحتوي هذا المستودع على مثال تراكمي يتكامل مع Espresso Sequencer. يمثل المثال التراكمي مخزن حساب بسيط للمفتاح/القيمة يتلقى المعاملات المطلوبة من Espresso، وينفذها في الجهاز الظاهري التراكمي، وينشر إثباتات حالة وهمية لعقد ذكي L1 (Ethereum). تحتوي المجموعة المجمعة على واجهة برمجة تطبيقات بسيطة لإرسال المعاملات والاستعلام عن أرصدة الحسابات.
تم بناء Espresso على HotShot، وهي شبكة تحقق الإجماع على دفعات من المعاملات المجمعة. على مستوى عالٍ، يعد التجميع عبارة عن حل قياس L1 يقوم بإجراء عمليات حسابية باهظة الثمن خارج السلسلة. في حالة zkRollups، يقوم المُثبت بشكل دوري بإرسال نقاط فحص حالة التجميع مع إثباتات دفعة من صحة المعاملة إلى L1. المثال الموضح هنا هو نموذج zkRollup وهمي. لمعرفة المزيد حول مجموعات Espresso، اقرأ مستنداتنا
تأكد من تثبيت docker
على نظامك.
بالنسبة لتوزيعات Linux، اتبع التعليمات الرسمية لتوزيع Linux الخاص بك أو راجع تعليمات عامل الإرساء الرسمية.
نحتاج أولاً إلى بدء شبكة Espresso Sequencer المحلية.
git clone https://github.com/EspressoSystems/espresso-sequencer
cd espresso-sequencer
docker compose pull
docker compose up -d --wait
بمجرد الانتهاء من نشر المثال التراكمي، يمكن تشغيله محليًا.
للتشغيل محليًا، يلزم وجود سلسلة أدوات الصدأ. نحن نقدم shell nix لتثبيت كافة التبعيات. يمكن تثبيت Nix عبر مثبت nix. بمجرد التثبيت، قم بتشغيل ما يلي من جذر المشروع:
nix develop
just dev-demo
بعد تشغيل just dev-demo
، ستتمكن من رؤية سجلات new state event
بعد بضع دقائق.
submit
الخاصة بواجهة برمجة التطبيقات المجمعة. إذا كانت أليس قلقة بشأن الرقابة، فيمكنها إرسال معاملتها مباشرة إلى جهاز التسلسل.Light Client
على L1، والذي يتحقق من التوصل إلى الإجماع بشأن الحالة الجديدة.حالة التجميع
تتكون حالة المثال التراكمي من:
المنفذ
المنفذ هو خدمة مسؤولة عن الاشتراك في الحالة الجديدة المنشورة في عقد العميل الخفيف L1، وتطبيق المعاملات على حالة القيمة المحتسبة، وتقديم إثباتات وهمية لعقد القيمة المحتسبة. غالبًا ما تفصل المجموعات المجمعة بين أدوار المنفذ والإثبات إلى خدمتين متميزتين، ولكن هذا المثال يجمعهما من أجل البساطة.
واجهة برمجة التطبيقات المجمعة
واجهة برمجة التطبيقات المجمعة هي واجهة برمجة تطبيقات REST تتضمن نقطة نهاية submit
query
.
عقد التراكمي
يخزن عقد القيمة المحتسبة أحدث التزام بحالة القيمة المحتسبة. يقوم العقد بتحديث التزام الدولة عندما يتلقى إثباتًا صالحًا لانتقال الحالة من المنفذ.
في هذا المثال، استخدمنا بعض مكونات الإسبريسو كما هو موضح أدناه. يمكن العثور على مزيد من المعلومات في المستندات
العميل الخفيف هو عقد ذكي يتحقق من سلامة حالة القيمة المحتسبة. يمكن العثور على رمز العقد هنا
قمنا بتشغيل شبكة إسبرسو باستخدام صور عامل إرساء تسلسل الإسبريسو. تستخدم الشبكة نقطة فعالة لتحقيق الإجماع على حالة القيمة المجمعة. الهندسة المعمارية يمكن العثور عليها هنا
تستخدم Espresso Network HotShot لتحقيق الإجماع على حالة القيمة المحتسبة.