تثبيت الحل وتكوينه ونشره

لتنفيذ هذا الحل، هناك ثلاثة مجالات رئيسية للعمل عليها كما هو موضح في القسم التالي.

  1. إعداد البنية الأساسية لتقنية البلوك تشين.
  2. تطوير ونشر العقد الذكي.
  3. إنشاء التطبيق (التطبيقات) الذي سيستخدم عقدنا الذكي.


oracle-blockchain-cms-plan-oracle.zip

قم بإنشاء شبكة Hyperledger Fabric، والتي ستتألف في البداية من مؤسسة واحدة، ولكن يمكن توسيعها بسهولة إلى أكبر عدد تحتاجه من الأعضاء.

بعد ذلك، سنشرع في إنشاء العقد الذكي للتعامل مع المنطق اللازم للاستمرار والإدارة في blockchain الكيانات المطلوبة في حالة استخدام أعمالنا.

بمجرد إنشاء مشروع العقد الذكي، سنقوم بتثبيته ونشره في شبكة blockchain التي أنشأناها من قبل، ثم سنقوم بتكوين الحسابات والتسجيلات، وأخيراً سنقوم بتنفيذ بدء العقد الذكي و NFTs الخاصة به.

عند هذه النقطة، تم بالفعل نشر طرق العقد الذكي من خلال بوابة واجهة برمجة التطبيقات (API) لمثيل Oracle Blockchain الخاص بنا، والمعروف أيضًا باسم RESTPROXY، لذا فهي جاهزة للاستخدام بواسطة تطبيقات العميل، وفي حالتنا تطبيق الويب الذي أنشأناه بالفعل باستخدام VBCS، وسنقدمه في القسم الأخير.

بجانب الخطوة الأخيرة، يتم تكوين حزمة تخزين OCI حيث سيتم تخزين المستندات، وأخيرًا، تتمثل الخطوة الأخيرة في إعادة تكوين تطبيق عينة VBCS للإشارة إلى شبكة البلوك تشين التي تم تكوينها حديثًا والرزمة الجديدة التي تم تكوينها في مثيل قاعدة البيانات المؤجر الخاص بنا. بمجرد الانتهاء من جميع عمليات إعادة التكوين، سيتم نشر التطبيق في مثيل قاعدة البيانات المؤجر الخاص بنا.

تكوين شبكة Oracle Blockchain

لإنشاء شبكة Hyperledger Fabric (HLF) مقرها في Oracle Blockchain، نستخدم Oracle Blockchain Cloud Service.

سنقوم بإنشاء شبكة HLF مثيل واحد، وفقًا لحالة الاستخدام، يمكننا عرض الوظائف داخل مؤسسة واحدة تنتمي إلى الشبكة. يمكن للمؤسسات الجديدة الانضمام إلى الشبكة من خلال دمج مثيل Blockchain الخاص بها، مما يسمح للمستخدمين الجدد من هذه المؤسسات بامتلاك مجلداتهم، أو مراجعة المحتوى من المجلدات الموجودة المملوكة لأعضاء آخرين.

تكوين طبعة المؤسس

  1. في قائمة خدمات OCI، حدد خدمات المطور وانقر على النظام الأساسي لتقنية البلوك تشين.
  2. من محدد مجموعة الوعاء الموجود على الجانب الأيسر من وحدة تحكم OCI، تأكد من تحديد الوعاء الذي تريد تكوين المثيل فيه.
  3. انقر على إنشاء نظام أساسي لتقنية البلوك تشين.
  4. امنح النظام الأساسي اسم العرض (على سبيل المثال، org1)، واختياريًا أضف وصفًا، واحتفظ بالاختيارات الافتراضية المتبقية لأنها الإعدادات اللازمة لتكوين مثيل مؤسس، الذي سيكون مؤسس شبكة Hyperledger Fabric جديدة، واستخدام الشكل القياسي، الذي لديه بالضبط نفس وظيفة شكل المؤسسة ولكن بتكلفة أقل، ولكنه صالح لأعمال التطوير. انقر تكوين.
    تم تقديم تكوين طبعة لهذه المنظمة (org1)، وستكون جاهزة في بضع دقائق.
عند إنشاء مثيل المؤسس، ستتمكن من الوصول إلى وحدة تحكم Oracle Blockchain لهذا المثيل بالنقر على وحدة تحكم الخدمة.

تكوين قناة

نحن بحاجة إلى الانضمام إلى المنظمات على مستوى القناة للسماح بالتواصل بين المؤسس والمشارك. سيتم تنفيذ هذا الإجراء باستخدام وحدة تحكم خدمة البلوك تشين.

  1. من وحدة تحكم خدمة البلوك تشين في مثيل المؤسس (org1)، حدد علامة تبويب القنوات وانقر على إنشاء قناة جديدة.
  2. أكمل إدخال القيم في الحقول المطلوبة.
    • قم بتعيين wedocms ليكون اسم القناة أو أي اسم بناءً على تفضيلاتك.
    • حدد الخيارين (peer0 وpeer1) لقسم الأقران للانضمام إلى قناة.
  3. قم بتأكيد التكوين بالنقر على نعم في النافذة المنبثقة للتأكيد.
    تحقق من عرض جدول القناة للقناة الجديدة. انقر على اسم القناة (wedocms) لعرض تفاصيل القناة. يمكنك الاطلاع على جميع التفاصيل المتعلقة بالقناة، مثل المعاملات المحفوظة في كتل دفتر الأستاذ، ورموز السلسلة المنشورة في القناة، والطلبات والنظراء الذين تم تكوينهم، والتنظيمات التي تنتمي إلى القناة، وما إلى ذلك.

تكوين حسابات المستخدم

سوف نستخدم Oracle Identity Cloud Service لتكوين مستخدم واحد على الأقل لكل قسم من الأقسام بين المجلدات التي يمكن ربطها. لكل من هؤلاء المستخدمين، سيتم إنشاء حساب للاحتفاظ به المجلدات المختلفة التي يمتلكونها.

سنقوم بإنشاء المستخدم cmsrsk001 الذي ينتمي إلى قسم المخاطر والمستخدم cmsfin001 الذي ينتمي إلى القسم المالي والمستخدم cmsleg001 الذي ينتمي إلى القسم القانوني.
  1. من قائمة التنقل في وحدة تحكم OCI في الزاوية اليسرى العلوية، انقر على الهوية والأمان، وحدد خيار التحرير من قسم الهوية.
  2. انقر على ارتباط اسم موفر خدمة الهوية.
  3. انقر فوق تكوين مستخدم.
  4. قم بتعيين القيمة التي تريد استخدامها لتسجيل الدخول إلى وحدة التحكم أو كاسم مستخدم اعتماد لتنفيذ واجهات برمجة تطبيقات REST للعقد الذكي الخاص بنا كاسم مستخدم. في حقل البريد الإلكتروني، قم بتعيين البريد الإلكتروني لحساب OCI الخاص بك، بحيث تتلقى البريد الإلكتروني لإعادة تعيين كلمة السر لهذا المستخدم، وانقر على تكوين.
  5. انقر على تعيين أدوار.
  6. بالنسبة لخدمة AUTOBLOCKCHAIN، انقر على الحذف الموجود على اليمين وحدد إدارة الوصول إلى المثيل.
  7. اعتمادًا على المستخدم الذي قمت بتكوينه، قم بتعيين المنح بناءً على الجدول التالي، وبعد تعيين الأدوار الصحيحة، انقر على تحديث إعدادات المثيل. يجب أن ترى الأدوار معينة بشكل صحيح.

    الجدول - تخصيص الدور

    اسم المستخدم الطبعة الأدوار
    cmsrsk001 org1 المسؤول، REST_CLIENT
    cmsfin001 org1 المسؤول، REST_CLIENT
    cmsleg001 org1 المسؤول، REST_CLIENT
  8. (اختياري) سيُطلب منك إرسال بريد إلكتروني إلى عنوان البريد الإلكتروني الخاص بالمستخدم لإعلامه بالأدوار التي تم منحها.
  9. أثناء عملية تكوين المستخدم، ستتلقى رسالة بريد إلكتروني في حساب البريد الإلكتروني المقترن بالمستخدم الذي تم إنشاؤه مؤخرًا، لإعادة تعيين كلمة المرور لهذا المستخدم. استخدم الارتباط المقدم لتعيين كلمة مرور المستخدم التي تم إنشاؤها للتو.

تكوين عمليات تسجيل في نقاط توصيل وكيل REST

يدعم Oracle Blockchain Platform عمليات التسجيل في وكيل REST. يتم استخدام عمليات التسجيل هذه في رموز السلسلة حيث توجد مقاطع المعاملة المالية أو NFT، لربط هوية المتصل بالدور الذي يقوم بتنفيذ المعاملة. للقيام بذلك، يجب عليك إنشاء علاقة المستخدم بالدور المحدد في blockchain، وللبساطة يمكنك تسمية الدور كمستخدم.

يجب إنشاء كل تسجيل في الطبعة التي يُسمح فيها للمستخدم بهذا الدور بتنفيذ المعاملات من خلال وكيل REST في طبعة البلوك تشين هذه. لذلك، يجب إنشاء التسجيل cmsrsk001 المعين للمستخدم cmsrsk001 في نقطة توصيل بروكسي REST الخاصة بطبعة المؤسس (org1)، وكذلك للمستخدمين الآخرين كما هو موضح في الجدول التالي.
اسم المستخدم التسجيل الطبعة
cmsrsk001 cmsrsk001 org1
cmsfin001 cmsfin001 org1
cmsleg001 cmsleg001 org1
  1. من وحدة تحكم خدمة البلوك تشين الخاصة بمثيل المؤسس (org1)، انتقل إلى علامة تبويب نقاط التوصيل.
  2. انقر على قائمة الخطوط الأفقية بجانب restproxy وحدد عرض أو إدارة التسجيلات.
  3. حدد تكوين تسجيل جديد.
  4. قم بتعيين معرف التسجيل على cmsrsk001 ومعرف المستخدم على cmsrsk001، وانقر على تسجيل.
كرر الخطوة 4 لتكوين عمليات تسجيل لمستخدمين آخرين: cmsfin001 وcmsleg001. في حالة تكوين مستخدمين من مؤسسة أخرى، يجب تكوين عمليات تسجيل هؤلاء المستخدمين في وكيل REST لطبعة البلوك تشين التي ينتمون إليها.

إعداد بيئة تطوير Oracle Blockchain App Builder

يتطلب إنشاء عقد ذكي Hyperledger Fabric (HLF) معرفة جوهرية حول HLF، وكيفية كتابة التعليمات البرمجية في Java أو Typescript أو GoLang، وكيفية نشر دورة حياة مشروع العقد الذكي بالكامل وإدارتها.

تم إنشاء منشئ تطبيقات Oracle Blockchain لتبسيط إنشاء مشروع عقد ذكي، في الواقع Oracle Blockchain App Builder هو أداة منخفضة التعليمات البرمجية قادرة على إنشاء مشروع رمز السلسلة بأكمله من البداية، باستثناء أي تعليمات برمجية مخصصة مطلوبة في حالة عملك. سيساعدك Oracle Blockchain App Builder أيضًا في مراحل الاختبار، وتعبئة المشروع، وكذلك في نشر رمز السلسلة محليًا في جهاز الكمبيوتر الخاص بك للاختبار الموحد، أو عن بعد في شبكة Hyperledger Fabric حقيقية.

oracle-app-builder-oracle.zip

تم إنشاء Oracle Blockchain App Builder بنموذجين، يمكنك استخدامه كأداة سطر أوامر تهدف إلى أتمتة خطوات الإنشاء والنشر في عمليات CI/CD، أو يمكنك استخدامه كبرنامج Microsoft Visual Code Plugin. سيسمح لك كل منهما بتنفيذ نفس الوظيفة بالضبط، ما عليك سوى تحديد الوظيفة التي تفضلها وفقًا لتفضيلاتك. يتميز Oracle Blockchain App Builder بالميزات التالية:

  • التطوير: سيقوم Oracle Blockchain App Builder بإنشاء مشروع chaincode بأكمله فقط لإنشاء ما يعرف بملف مواصفات مخصص. سيشمل المشروع جميع الكيانات المشفرة، وجميع عناصر الوصول الخاصة بها مع جميع أساليب CRUD لإدارة هذه الكيانات، وكذلك توقيع أي أسلوب مخصص مطلوب لأي منطق أعمال غير قياسي أو معقد يتطلبه التطبيق، والذي سيصبح الرمز الوحيد المطلوب تنفيذه يدويًا.
  • النشر: بمجرد أن يكون مشروع رمز السلسلة جاهزًا للاختبار، يمكنك نشره محليًا في شبكة Hyperledger Fabric المكونة مسبقًا، أو عن بُعد لأي مثيل موجود في السحابة أو في Oracle Blockchain Platform المحلي. يتمثل خيار آخر في حزم المشروع المطلوب نشره يدويًا من خلال وحدة تحكم Oracle Blockchain.
  • الاختبار: بمجرد نشر المشروع، يمكنك اختبار أي من الطرق المكونة تلقائيًا أو الطرق المخصصة لمشروع رمز السلسلة.
  • تصحيح الأخطاء: في حالة استخدام امتداد رمز Visual Studio، ستتمكن أيضًا من إجراء تصحيح أخطاء سطرًا برمز السلسلة.

يمكنك تثبيت أي من إصداري Oracle Blockchain App Builder المتوفرين التاليين:

إذا لم تكن مرتاحًا لتثبيت هذا النوع من أدوات التطوير وجميع تبعياتها، ولكن لديك حق الوصول إلى Oracle Cloud، فيمكنك اختيار إنشاء مربع تطوير مخصص مع جميع هذه المنتجات المثبتة بالفعل والمستعدة للاستخدام في السحابة، والوصول إليها عن بُعد. هذه الأجهزة منخفضة التكلفة بسبب شكل الحوسبة المطلوب، وتتم فوترتها فقط أثناء تشغيلها.

يحتوي Oracle LiveLabs على مختبر يمكنك من خلاله نشر جهاز بعيد في دقائق، استنادًا إلى صورة جهاز ظاهري تم تكوينها مسبقًا بالفعل بواسطة فريق تطوير Oracle Blockchain. لمزيد من المعلومات، اطلع على تطوير تطبيقات البلوك تشين منخفضة التعليمات البرمجية باستخدام Apex وBlockchain App Builder.

ملاحظة:

في التمرين المعملي، لإعداد جهاز سحابي باستخدام Visual Code Studio والبرنامج الإضافي منخفض التعليمات البرمجية لمنشئ تطبيقات Oracle Blockchain المثبت عليه، ستحتاج فقط إلى تنفيذ خطوات إعداد الإعداد وإعداد البيئة.

تكوين حزمة تخزين OCI Object Storage وتكوينها

سنقوم بتكوين حزمة تخزين OCI Object Storage التي تتيح لك تخزين المستندات واسترجاعها من تطبيق ويب Oracle Visual Builder.

يتم تنفيذ الإجراءات بواسطة تطبيق الويب بالتزامن مع تكوين شفرة هاش للمستند الذي سيتم تخزينه في Blockchain أثناء تحميل المستند إلى المستودع، والتحقق من صحة شفرة هاش عند تنزيل المستند.

ملاحظة:

لمزيد من التفاصيل حول كيفية إنشاء تعليمات برمجية لتطبيق Oracle Visual Builder لتحميل الملفات أو تنزيلها من OCI Object Storage، راجع: تحميل / تنزيل الملفات من OCI Storage في تطبيق Visual Builder.

لتمكين استخدام الرزم من خلال واجهة برمجة تطبيقات REST التي تقدمها رزم OCI Object Storage، يجب تكوين مفتاح واجهة برمجة تطبيقات OCI مرتبط بالمستخدم المسموح له بتنفيذ واجهة برمجة تطبيقات REST. قم بتنفيذ مهمتي التكوين التاليتين لاستخدام حزم تخزين كائنات OCI في تطبيق ويب VBCS الخاص بنا.

لتمكين استخدام رزم OCI Object Storage من تطبيق Oracle Visual Builder الخاص بك، يجب تكوين مفتاح OCI API للوصول إلى خدمات OCI عبر واجهة برمجة تطبيقات REST.

  1. سجل الدخول إلى وحدة تحكم OCI وانقر على أيقونة ملف التعريف أعلى يمين وحدة التحكم للوصول إلى إعدادات المستخدم.
  2. قم بالتمرير لأسفل وانقر على مفاتيح API في قائمة الموارد.
  3. انقر على إضافة مفتاح API لإضافة مفتاح API جديد.
  4. حدد إنشاء زوج مفاتيح واجهة API.

    ملاحظة:

    يمكنك استخدام المفاتيح العامة والخاصة الخاصة بك بتنسيق pem، ولكن في دليل الحلول هذا، سنستخدم المفاتيح التي يتم إنشاؤها تلقائيًا.
  5. تنزيل المفاتيح الخاصة والعامة ووضع علامة عام على ملف .pem.
  6. انقر على إضافة.
  7. انقر على ارتباط النسخ لنسخ بيانات اعتماد OCI API إلى ملف نصي على الكمبيوتر المحلي لديك حيث ستحتاجها للخطوات اللاحقة.
  8. انقر على إغلاق.
    يجب تكوين مفتاح API جديد وسترى مفتاح بصمة الإصبع في وحدة تحكم ويب OCI. يمكنك الوصول إلى ملف التكوين الذي نسخته من قبل إلى سطح المكتب بالنقر على علامات القطع في صف بصمة الإصبع وتحديد عرض ملف التكوين.

    ملاحظة:

    احفظ التفاصيل حيث ستحتاج إلى بعضها مع المفتاح الخاص للخطوات التالية.
  9. قم بإنشاء حزمة تخزين حيث سيتم تخزين الكائنات. انتقل إلى التخزين، ثم انقر على الرزم.
    للبساطة، يمكن إنشاؤها كعامة، بحيث لا تتطلب المصادقة، ولكن يمكنك تحقيق الشيء نفسه مع رزم الرؤية الخاصة أيضًا.
  10. حدد وعاءًا تريد تكوين حزمة التخزين فيه، وانقر على تكوين حزمة تخزين.
  11. في شاشة تكوين حزمة تخزين، أدخل اسمًا لحزمة التخزين، واترك معلمات التكوين الأخرى كإعداد افتراضي، وانقر على تكوين لإنهاء تكوين حزمة التخزين.
    سيتم عرض حزمة التخزين الجديدة في الوعاء المحدد. تحديد اسم حزمة التخزين لعرض التفاصيل. انقر على الكائنات في القائمة اليسرى لعرض الكائنات التي تم تحميلها إلى حزمة التخزين هذه.