عقد إيثريوم الذكي - كيفية تنفيذ عقد ذكي؟



في هذا البرنامج التعليمي Ethereum Smart Contract ، ستتعلم كيفية إنشاء ونشر وتنفيذ عقد ذكي باستخدام شبكة Truffle و Ethereum الخاصة.

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

هل أنت مهتم بتطوير الإيثريوم؟ تحقق من هذا لايف .





مجموعة من الكائنات جافا

سننظر في الموضوعات التالية في هذا البرنامج التعليمي Ethereum Smart Contract:

  1. حالة الاستخدام: العقود الذكية في عملية التأمين
  2. فوائد العقود الذكية
  3. تركيب المتطلبات المسبقة
  4. تكوين كتلة التكوين
  5. تشغيل شبكة Ethereum الخاصة
  6. إنشاء حساب Ethereum
  7. إنشاء عقد إيثريوم الذكي
  8. تنفيذ عقد إيثريوم الذكي

حالة الاستخدام: العقود الذكية في عملية التأمين

'لا توجد سلطة مركزية' هو ما تتبعه Blockchain وهذا هو سبب طرح العقود الذكية. ولكن هل تساءلت يومًا كيف يمكن استخدام العقد الذكي؟ حسنًا ، في هذا القسم من Ethereum Smart Contract ، سأشرح حالة استخدام العقد الذكي في عملية التأمين.



لنأخذ مثالاً على تأمين تأخير الرحلات الجوية. لنفترض أنك تريد أخذ رحلة من المصدر أ إلى الوجهة ج ولكن ليس لديك رحلة مباشرة. لذلك ، قررت القيام برحلة متصلة (عبر B). الآن ، سيكون طريقك من A إلى B ثم من B إلى C ، حيث B هو المطار الذي ستقوم بتغيير الرحلات. لسوء الحظ ، ليس لديك فجوة زمنية كبيرة بين الرحلات من A إلى B ومن B إلى C. لذلك ، إذا تأخرت الرحلة من A إلى B ، فستفوت الرحلة من B إلى C. أدرك هذا ولمجرد أن تنقذ نفسك من الخسائر الفادحة ، فأنت تأخذ تأمين تأخير الرحلة.

تأمين تأخير الرحلة - Edureka

الآن ، إذا تأخرت رحلتك من A إلى B (مما سيجعلك تفوتك الرحلة من B إلى C) ، فسوف يتم دفع مبلغ التأمين إليك. الطريقة المعتادة هي أنه إذا تأخرت رحلتك ، فأنت تطالب بالتأمين. بعد ذلك ، سيقوم شخص ما هناك بالتحقق من التأمين والموافقة عليه ، وأخيراً ستحصل على مبلغ التأمين الخاص بك. لكن هذه عملية طويلة جدًا.



كيف يمكنك استخدام العقود الذكية لتحسين عملية التأمين؟

عندما يتعلق الأمر بالمعاملات المالية ، وخاصة عندما تحصل على المال ، 'كلما كان ذلك أسرع ، كان ذلك أفضل' ، أليس كذلك؟ لذلك ، دعونا نرى كيف يمكن للعقود الذكية أن تربط عملية التأمين. العقود الذكية هي عقود رقمية يتم تنفيذها تلقائيًا عند استيفاء شروط معينة. يمكن كتابة عقد ذكي لدفع مبلغ التأمين للأشخاص الذين اختاروا تأمين تأخير الرحلة إذا تأخرت الرحلة. لذلك ، عندما تتأخر الرحلة ويتم تسجيل هذا التأخير بواسطة النظام ، يتم دفع التأمين على الفور.

أولا! دفع مبلغ التأمين في ثوان قليلة. هذه هي الطريقة التي تجعل العقود الذكية بسيطة وسريعة عملية تحدث.

فوائد العقود الذكية

لقد رأيت في المثال أعلاه كيف يمكن للعقد الذكي ربط العمليات المالية. بصرف النظر عن المعاملات السريعة ، تتمتع العقود الذكية ببعض الفوائد الأخرى. هنا ، أقوم بإدراج بعض المزايا الأخرى لاستخدام العقد الذكي:

  • تلقائي: جميع الخطوات في العملية تتم تلقائيًا مع العقود الذكية
  • لا وسطاء: عند استخدام العقود الذكية ، لن تحتاج إلى وسيط لإنجاز المهمة حيث سيتم التعامل مع كل شيء بواسطة العقود الذكية
  • فعاله من حيث التكلفه: سيوفر لك استخدام العقود الذكية المال على رسوم المعاملات التي تتقاضاها البنوك ورسوم رسوم الخدمة من قبل الوسطاء (إن وجدت)

الآن ، بعد أن عرفنا كيف يمكن استخدام العقود الذكية لجعل العالم مكانًا أسرع ، دعنا ننتقل إلى الجزء العملي في هذا البرنامج التعليمي للعقد الذكي Ethereum.

تركيب المتطلبات المسبقة

بالنسبة لهذا البرنامج التعليمي Ethereum Smart Contract ، سنطلب 5 تطبيقات مهمة:

  • NodeJS
  • NPM
  • إيثيريوم
  • الكمأة
  • مترجم الصلابة

تثبيت NodeJS

NodeJS هو إطار عمل JavaScript يُستخدم لبناء تطبيقات الخادم. نظرًا لأننا نستخدم شبكة خاصة ، فإن NodeJS ستجعل من السهل إنشاء تطبيق الشبكة.

لتثبيت Nodejs ، قم بتشغيل الأمر التالي في جهازك الطرفي:

sudo apt-get install nodejs

تثبيت NPM

يرمز NPM إلى Node Package Manager ويستخدم لتشغيل تطبيقات Nodejs.

لتثبيت NPM ، قم بتشغيل الأمر التالي في جهازك الطرفي:

sudo apt-get install npm

تثبيت Ethereum

إيثيريوم هي عبارة عن منصة حوسبة موزعة مفتوحة المصدر وعامة تعتمد على blockchain لبناء تطبيقات لامركزية.

لتثبيت Ethereum ، قم بتشغيل الأمر التالي في جهازك الطرفي:

sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

تركيب الكمأة

الكمأة هي بيئة تطوير وإطار اختبار وخط أنابيب الأصول لـ Ethereum Blokchains.

لتثبيت Truffle ، قم بتشغيل الأمر التالي في جهازك:

$ npm install -g الكمأة

تركيب برنامج Solidity Compiler

Solidity هي لغة برمجة تستخدم لكتابة العقود الذكية. لتشغيل العقود الذكية على نظامنا ، يتعين علينا تثبيت Solidity Compiler.

لتثبيت Solidity Compiler ، قم بتشغيل الأمر التالي في جهازك الطرفي:

$ sudo npm install -g solc

تكوين كتلة التكوين

Genesis Block هي نقطة البداية لـ Blockchain ونحتاج إلى ملف genesis لبدء Blockchain. في هذا القسم من Ethereum Smart Contract ، سنكتب ملف Genesis ونقوم بتكوينه للسماح لنا بتشغيل العقود الذكية.

لنقم أولاً بإنشاء دليل جديد ثم في هذا الدليل سننشئ ملف ملف التكوين

$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

الآن ، أدخل الأسطر التالية في ملف genesis.json ملف:

{'config': {'chainId': 2019، 'homesteadBlock': 0، 'eip155Block': 0، 'eip158Block': 0}،'تخصيص': {}، 'صعوبة': '200' 'gasLimit': '99999999999999'}

احفظ هذا واخرج.

تشغيل شبكة Ethereum الخاصة

في هذا البرنامج التعليمي Etheruem Smart Contract ، سننشر عقد Ethereum Smart Contract على شبكة خاصة. لذلك ، لبدء هذه الشبكة ، سنستخدم الأمر التالي:

geth $ --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth، net، web3، personal، miner'

قبل المضي قدمًا ، دعني أوضح بعض العلامات المهمة المستخدمة في الأمر أعلاه:

داتادير: الدليل حيث يتم تخزين البيانات المتعلقة بـ Blockchain.

rpc: تمكن خادم HTTP-RPC.

rpcport و rpcaddr لتعيين منفذ وعنوان الشبكة على التوالي.

ربكابي: يسمح لنا بالتفاعل مع شبكة Ethereum باستخدام واجهات برمجة تطبيقات مختلفة.

ربط Geth بـ Ethereum Private Blockchain

Geth console هي وحدة التحكم حيث يمكننا التفاعل مع Ethereum Private Blockchain. لتوصيل Geth بـ Ethereum Private Blockchain ، افتح محطة طرفية جديدة وقم بتشغيل الأمر التالي:

geth $ أرفق http://127.0.0.1:8543

الآن ، نحن في Geth console حيث يمكننا تشغيل أوامر للتفاعل مع Blockchain.

إنشاء حساب Ethereum

لإجراء أي معاملة ، نحتاج إلى حساب. في هذا القسم من البرنامج التعليمي Ethereum Smart Contract ، سنرى كيفية إنشاء حساب Ethereum جديد من وحدة تحكم Geth.

باتباع الخطوات حتى الآن ، نحن موجودون بالفعل في Geth console. لإنشاء حساب جديد ، قم بتشغيل الأمر التالي في Geth console:

> personal.newAccount ('seedphrase')

استبدل 'البذور'بكلمة المرور التي تريد تعيينها لهذا الحساب.

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

> personal.unlockAccount (web3.eth.coinbase، 'seedphrase')> miner.start ()

مع استمرار التعدين ، البعضالاثيراتسوف تودع في هذا الحساب.

ملحوظة : هذه الاثيرات الإيثرات الوهمية وليس لها قيمة في العالم الحقيقي.

للتحقق من التوازنالاثيراتفي الحساب سنقوم بتشغيل الأمر التالي:

> web3.fromWei (eth.getBalance (eth.coinbase) ، 'ether')

عند تشغيل هذا الأمر على فترات منتظمة ، سترى أن ملفالاثيراتتزداد بسبب التعدين.

لإيقاف التعدين ، قم بتشغيل الأمر التالي:

> miner.stop ()

إنشاء عقد إيثريوم الذكي

إنشاء مشروع الكمأة

الآن بعد أن أصبح لدينا Blockchain الخاص جاهزًا بالكامل ، سنرى كيفية إنشاء عقد Ethereum Smart Contract باستخدام Truffle. في هذا البرنامج التعليمي ، سننشئ عقد Ethereum Smart 'Hello World' بسيطًا.

للبدء بهذا ، دعنا أولاً ننشئ دليلًا جديدًا لتخزين مشروع Truffle. ثم في هذا الدليل ، سننشئ مشروع Truffle جديدًا. افتح طرفية جديدة وقم بتشغيل الأوامر التالية:

$ mkdir truffle $ cd truffle $ truffle init

ال بداية الكمأة سيُنشئ الأمر جميع الملفات اللازمة لمشروع الكمأة.

الآن بعد أن أصبح لدينا كل شيء لنشر عقد إيثريوم الذكي جاهزًا ، دعنا نبدأ في كتابة عقد ذكي 'Hello World'.

كتابة عقد ذكي 'Hello World'

يجب كتابة جميع العقود في دليل 'العقود'. سننتقل إلى هذا الدليل وننشئ عقدًا باسم 'HelloWorld.sol' ونضيف الأسطر التالية في هذا الملف:

صلابة pragma ^ 0.4.15 عقد HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

هذه هي! لكن لا يمكن تنفيذ هذا العقد الذكي من تلقاء نفسه. سيتعين علينا إجراء بعض التكوينات لذلك.

تكوين ترحيل الكمأة

لترحيل العقد الذكي الخاص بنا ، سيتعين علينا إضافة ملف بتنسيق 'الهجرات' الدليل في 'الكمأة' الدليل. في هذا الدليل سنضيف ملفًا باسم '2_deploy_contracts.js' بالمحتويات التالية بداخلها:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = function (publisher) {publisher.deploy (HelloWorld)}

حفظ وخروج.

لتشغيل الكمأة على شبكتنا ، نحتاج إلى تعديل ' الكمأة. js ”في ملف 'الكمأة' الدليل . افتح هذا الملف وأدخل الإدخالات التالية:

module.exports = {rpc: {host: 'localhost'، port: 8543}، الشبكات: {development: {host: 'localhost'، port: 8543، network_id: '*'، from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a' ، غاز: 20000000}}}

ملحوظة: استبدل ملف 'من عند' عنوان مع عنوان الحساب الذي أنشأته في الخطوة السابقة.

تنفيذ عقد إيثريوم الذكي

في هذا القسم الأخير من البرنامج التعليمي Ethereum Smart Contract ، سنرى كيفية نشر عقدنا الذكي 'Hello World' على شبكتنا الخاصة في Ethereum.

تجميع ونشر العقد الذكي

قبل أن نتمكن من تنفيذ عقدنا الذكي ، يتعين علينا أولاً تجميعه ونشره على شبكتنا الخاصة في Ethereum. سنفعل ذلك باستخدام الأوامر التالية:

الكمأة $ compile

الآن ، علينا فتح حسابنا والبدء في التعدين. ارجع إلى الجهاز باستخدام وحدة تحكم Geth وقم بتشغيل الأمر التالي:

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

ثم عد إلى المحطة التي تحتوي على 'الكمأة' كدليل العمل الحالي ويركضالأمر التالي:

الكمأة $ تهاجر

انتظر حتى اكتمال النشر.

تنفيذ العقد الذكي على بلوكشين Ethereum الخاص

لتنفيذ العقد الذكي 'Hello World' ، سيتعين علينا الدخول في وحدة التحكم في الكمأة. قم بتشغيل الأمر التالي للقيام بذلك:

وحدة الكمأة $

سوف تكون الآن في وحدة التحكم في الكمأة. لتنفيذ العقد الذكي ، قم بتشغيل الأمر التالي:

مساحات الأسماء في c ++
> var first_contract> HelloWorld.deployed (). ثم (الوظيفة (مثيل) {first_contract = example})> dApp.message.call ()

تهانينا! لقد قمت بإنشاء أول عقد إيثريوم الذكي الخاص بك وقمت بتنفيذه. آمل أن يكون هذا البرنامج التعليمي Ethereum Smart Contract مفيدًا ويساعدك على فهم كيفية تنفيذ عقد Ethereum الذكي. الآن ، انطلق وحاول كتابة عقود ذكية أخرى وتنفيذها.

لديك سؤال لنا؟ الرجاء نشره على وسنعاود الاتصال بك.

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