يتعاون ناثان ويليامز ، أقصى اليسار ، مع زملائه في ArcTouch أثناء عملية اختراق للكتل الأخيرة. قام الفريق ببناء تصميمات مبتكرة للمفاتيح باستخدام Ethereum و Microsoft's Azure.

كيفية إعداد Blockere Ethereum الخاص في 20 دقيقة

كل عام ، يجمع ArcTouch موظفيه في لعبة hackathon لمدة ثلاثة أيام ، حيث بدأت المجموعات في إعداد نموذج أولي لفكرة باستخدام التقنيات الجديدة والناشئة. هذا العام ، كان لدينا العديد من مشاريع hackathon blockchain - ونعتقد أن هذا يتحدث عن كل من الاهتمام المتزايد في blockchain من قبل موظفينا وإمكانية أن تستفيد الشركات من ذلك.

اختارت مجموعتي تطبيق نظام التحقق من الهوية المبني على blockchain. كانت الفكرة هي تخزين إثبات عمر الشخص ، والذي يمكن أن يشير إليه نادل أو كاتب مبيعات بدلاً من بطاقة الهوية المادية مثل رخصة القيادة. نظرًا لأننا خططنا للاستفادة من العقود الذكية ، اخترنا سلسلة Blocker Ethereum ومع ذلك ، من أجل تطوير الجولة الأولى ، فإن استخدام blockchain العام أو حتى testnet ليس دائمًا مثاليًا نظرًا لوقت تأكيد المعاملة الطويل. بدلاً من ذلك ، نظرنا إلى العديد من الخيارات لتدور بسرعة blockchain الخاصة.

أسهل طريقة هي استخدام خدمة سحابية مثل Azure لاستضافة شبكة blockchain خاصة. يجعل Azure الإعداد سهلاً بشكل خاص من خلال توفير قالب Ethereum Blockchain Consortium ، والذي يتميز بعدد قابل للتكوين من كل من عقد التعدين والمعاملات. في ثلاث خطوات ، وحوالي 10 دقائق ، يمكنك إعداد blockchain خاص يعمل بالكامل في السحابة (إليك مشاركة رائعة أخرى توضح تفاصيل هذا الإعداد).

ومع ذلك ، يوفر هذا القالب الخاص بـ Azure سلسلة من قوالب إثبات العمل (PoW) والتي قد لا تكون الخيار الأفضل لسلسلة blockchain الخاصة ، بناءً على متطلباتك. على سبيل المثال ، اخترنا سلسلة مفاتيح (PoA) لإثبات السلطة باستخدام محرك إجماع Ethereum’s Clique الذي تم إصداره العام الماضي. يعمل إعداد التوافق هذا بشكل جيد في إعداد خاص لأن العقد لا تحتاج إلى التنافس ضد بعضها البعض من أجل امتياز كتل النعناع ، وبالتالي التخلص من المعالجة العامة واستخدام الطاقة الذي يأتي مع تعدين PoW block وخوارزمية ethhash.

لإنشاء شبكة PoA الخاصة بنا على Azure ، أنشأنا مثيلًا للخادم باستخدام قالب Ubuntu Server 16.04 LTS ليكون بمثابة عقدة التفويض الخاصة بنا. نظرًا لأن السلطات لا تتطلب موارد حوسبة ثقيلة ، فقد تمكنا من استخدام حجم جهاز ظاهري أصغر (B1S) مع الخيارات الافتراضية:

بمجرد توفير الجهاز الظاهري ، قمنا بإعداد عقدة صلاحيتنا باستخدام الخطوات التالية:

الخطوة 1: تثبيت Ethereum و geth

sudo - الحصول على تثبيت البرامج المشتركة الخصائص
sudo add-apt-repository -y ppa: ethereum / ethereum
sudo الحصول على التحديث
sudo apt-get install ethereum

الخطوة 2: إنشاء حساب المرجع وحساب المعاملة

ستنشئ حسابين - أولهما سيكون حساب التفويض ، والثاني سيكون حساب مُمَول مسبقًا ويمكن استخدامه لإرسال المعاملات إلى الشبكة:

geth - datadir .ethereum / حساب جديد
> العنوان: {6203bb870bfb79438b827de3d6b0070d4d2a5f7b}
geth - datadir .ethereum / حساب جديد
> العنوان: {1808adc011f6e970943d3f28f4d285053d9140ac}

تأكد من تتبع كلمة المرور المستخدمة لإنشاء كل حساب!

الخطوة 3: إنشاء كتلة التكوين

باستخدام puppeth ، أداة CLI تم إصدارها مع geth 1.6 ، قم بإنشاء وتصدير تعريف كتلة التكوين:

puppeth
...
يرجى تحديد اسم الشبكة لإدارة (لا مسافات ، من فضلك)
> الزمرة
...
ماذا تريد ان تفعل؟ (الافتراضي = احصائيات)
 1. عرض احصائيات الشبكة
 2. تكوين سفر التكوين الجديد
 3. تتبع الخادم البعيد الجديد
 4. نشر مكونات الشبكة
> 2
أي محرك توافق في الآراء للاستخدام؟ (الافتراضي = زمرة)
 1. إيثاش - إثبات العمل
 2. زمرة - إثبات السلطة
> 2
كم ثانية يجب أن تأخذ الكتل؟ (افتراضي = 15)
> 15
ما الحسابات المسموح بإغلاقها؟ (إلزامي واحد على الأقل)
> 0x6203bb870bfb79438b827de3d6b0070d4d2a5f7b
> 0x
ما الحسابات التي يجب تمويلها مسبقًا؟ (مستحسن واحد على الأقل)
> 0x1808adc011f6e970943d3f28f4d285053d9140ac
> 0x
حدد معرف السلسلة / الشبكة إذا كنت تريد معرفًا صريحًا (افتراضي = عشوائي)
> 42
INFO [02-15 | 18: 24: 03] تم تكوين كتلة تكوين جديدة
ماذا تريد ان تفعل؟ (الافتراضي = احصائيات)
 1. عرض احصائيات الشبكة
 2. إدارة التكوين الحالي
 3. تتبع الخادم البعيد الجديد
 4. نشر مكونات الشبكة
> 2
 1. تعديل قواعد الشوكة الحالية
 2. تصدير التكوين التكوين
 3. إزالة التكوين التكوين
> 2
أي ملف لحفظ سفر التكوين إلى؟ (افتراضي = clique.json)
> genesis.json
INFO [02-15 | 18: 24: 22] تصدير كتلة التكوين الموجودة

استخدم أول حساب تم إنشاؤه ، والسلطة ، وحساب "السداد" ، والحساب الثاني كحساب تم تمويله مسبقًا. بالنسبة لمعرف الشبكة / السلسلة ، أوصي باختيار قيمة أقل من 1000. يتم استخدام القيمة 1337 بواسطة سلاسل التطوير ، وقد وجدنا أن القيم الأعلى (مثل تلك التي تم إنشاؤها عند اختيار "عشوائي") قد تؤدي إلى مشكلات لاحقًا.

الخطوة 4: بدء مثيل Ethereum الخاص

تهيئة وبدء مثيل geth السلطة الخاصة بك:

geth - datadir .ethereum / init genesis.json
geth -nodiscover --networkid 42 -datadir .ethereum / --unlock 0x6203bb870bfb79438b827de3d6b0070d4d2a5f7b --mine --rpc --rpcapi eth، net، web3 --rpcaddr

قم بتمرير عنوان المرجع إلى معلمة إلغاء القفل ، وبالنسبة إلى rpcaddr ، استخدم عنوان IP الخاص بالجهاز الظاهري كما هو معروض في إعدادات شبكة وحدة تحكم Azure:

تأكد من إنشاء قاعدة أمان Inbound للمنفذ 8545 في مجموعة أمان الشبكة الخاصة بك للسماح لك بالاتصال بالعقدة المرجعية الخاصة بك باستخدام مكتبة web3.js القياسية ، أو في حالتنا ، Nethereum للاستخدام مع Xamarin:

النتيجة: A وظيفية blockchain

تستغرق العملية الموضحة أعلاه حوالي 20 دقيقة ، وتؤدي إلى وجود سلسلة مفاتيح PoA Ethereum تعمل بكامل طاقتها في السحابة. تعتبر هذه البيئة مثالية لتطوير تطبيق مفهوم اللامركزية (DApp) ، وتوفر معاملات سريعة ومجانية.

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

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

هنا في ArcTouch ، نحن متحمسون لأن نكون شركة تطوير DApp ، ونعتقد أن blockchain سيكون مكونًا مهمًا لتطبيقات الغد لكل من المؤسسات والمستهلكين على حد سواء.

كتب هذا المقال ناثان ويليامز ، كبير مهندسي ArcTouch. تم نشره في الأصل على arctouch.com في 28 فبراير 2018.

أتساءل كيف blockchain يمكن أن تساعد عملك؟

يساعد تطوير BlockFirst blockchain من ArcTouch الشركات على تحويل عملياتها التجارية من خلال التطبيقات اللامركزية وتقنية دفتر الأستاذ. نحن نقدم استشارات مجانية - فقط اتصل بنا.