بلوق اليومية | بيثون باستخدام البيانات على سلسلة كتلة ارتفع إلى قاعدة بيانات محلية

الصين تشعر بالقلق إزاء مفتوحة المصدر عدد OSC عنوان، الحصول على أحدث المعلومات التقنية

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

لأول مرة مجموعة

أولا، تحتاج إلى تثبيت web3py. Web3py لتوصيل إيثرنت هي مكتبة بيثون مربع سلسلة كتلة. عليك أن تعرف مقدما أنه لا يوجد نظام الإدارة المركزية يمكن تحميل البيانات. نسخ من البيانات المخزنة ضمن عقدة أخرى متصلة الموارد المشتركة ( "الأقران") والتحقق من صحة (أو جزء منه). تنفيذ بروتوكول شبكة إيثرنت مربع، عقد ذكي على قواعد التفاعل بين العقدة المعرفة من قبل بروتوكول والتواصل مع بعضهم البعض.

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

يمكنك استخدام نوعين أساسيين من العقد في عملية الاتصال الأول في الأثير ساحة: المحلي أو المستضافة. العقدة المحلية يمكن تشغيلها على جهاز الكمبيوتر الخاص بك، مما يعني أنك تحتاج أولا إلى تحميل العميل مثل geth، فإنه سيتم منع تزامن سلسلة لجهازك، لتأخذ مساحة التخزين وتنفق الكثير من الوقت لإكمال. للدراسة الأولى، وعقدة تمكن هو الخيار الأفضل - يتم السيطرة عليها من قبل أشخاص آخرين، ولكن يمكنك الاتصال بسهولة إلى أنه ولعب سلسلة كتلة الخاص بك.

Infura الذهاب وإنشاء حساب مجاني الخاصة بك للوصول إلى هذه العقد المدارة. قبل عند الانتهاء من ذلك، يمكنك ان ترى الشبكة الرئيسية mainnet (أي ساحة إيثرنت سلسلة كتلة) وحفنة من شبكة testnets اختبار، وأنها في الأساس يمكن اختبار العقد الذكي الخاص بك، حتى تتمكن من نشر لmainnet تكلفة في التعليمات البرمجية الأخطاء وتصحيحها.

وهذه هي المرة الأولى التي نقوم الأول الكائن Web3 استيراد ويؤسس اتصال HTTP.

من web3 Web3 استيراد web3 = Web3 (Web3.HTTPProvider ( "https://mainnet.infura.io/your-own-personal-number"))

والآن بعد أن كنت قد فعلت! يمكنك استخدام web3 API استعراض للاستعلام عن هيكل بيانات.

الاستعلامات المعلومات كتلة معينة

عدد كتلة #current > > >  web3.eth.blockNumber 5658173 #get مضمون كتلة الأكثر الملغومة مؤخرا > > >  web3.eth.getBlock ( 'آخر')

هذا الأمر بإرجاع بنية بيانات AttributeDict هذا هو المفتاح إلى القاموس المفتاح القيمة، على النحو التالي:

AttributeDict ({ 'صعوبة': 3297284143124448، "ExtraData ': HexBytes (' 0x65746865726d696e652d6177732d61736961312d34 ')، "GasLimit ': 7999992، "GasUsed ': 7990111، "تجزئة": HexBytes ( '0x8c09ba67123601c08ef5d292acaffd36798ca178b7d6fecd5e1144ce8e3b9e50')، "LogsBloom ': HexBytes (' 0x348000240b40620836308460180004415000c8ccb260021402420721c22801ca847c625c0a89030482044001523a4d100050100250d100858381260a186312088006c154010000491216446840888200c1812088c12b06000809a808530014160000812c2ac20008a201c83380314d02242338400c0500c2a028005010988c44b0608a020400201032e10e16142b931115469824248066100b082224200222140a41a20aa2006224d608210f1a22811d03969423e8c08058100388c0800402002a000802130c40d289201900c38142a1cc0380a4010f0201040d4022200022018c5801346c168502841906940485ea1d9864044060a00000a00616004d006090 ')، "مينر ':' 0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8، "MixHash ': HexBytes (' 0x84320fd71345778b48e437f3403e9021575520ba23aaac48dd7a352c9ce31f75 ')، 'حالية': HexBytes ( '0x98a0b1e00bfabac6')، 'عدد': 5658173، "ParentHash ': HexBytes (' 0x01eda8a47a0151533d1afacf9b9108606d4d89a86e269dddaac9698b6fb12930 ')، "ReceiptsRoot ': HexBytes (' 0xc40f774ad10ad443457c3a5a0db96b539af3007f8d351b198ca7bf2ef196b7e0 ')، "Sha3Uncles ': HexBytes (' 0x55725ec296c6c64257ed6a88d7d8c66160abe7b672f5d89bbad5487779b1d5fe ')، 'الحجم': 27161، "StateRoot ': HexBytes (' 0x5bfc7a9a87fb9991f2760807d56319154f1dab91d3cfc9530a597b6c5d064aba ')، "الطابع الزمني ': 1527002893، "TotalDifficulty ': 4339832462578780814928، 'المعاملات': ، "TransactionsRoot ': HexBytes (' 0x67e1e1f2f4b1d33791a0fba2d5ebf039bd6c331c665cb8020ff41d0e0eade46e ')، "الأعمام ': })

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

وباختصار، فإن كتلة تحتوي على معلومات رأس كتلة، وكتابة قائمة المعاملات التي تم التحقق منها وقائمة كتلة معرف (عمال المناجم غير مؤكدة، كتلة من هو بطيئة جدا، لا يمكن أن يدخل سلسلة كتلة الرئيسية ولكن لا يزال بسبب عبء العمل الحسابي وتحصل على مكافأة إيثرنت). أدناه تستطيع أن ترى معنى كل متغير، وتقسيمه إلى فئات فرعية.

البيانات الروتينية العام

كتلة variableMeaning قيمة الترجمة numberscalar مساو لعدد من سلف كتل (سفر التكوين كتلة = 0) قيمة العددية من العدد النسبي للكتل المؤسسين، كتلة نشأة = 0sizesize كتلة في بايت حجم الكتلة، في الوقت بايت timestampUnix ل() في يتم جمع إنشائها يونكس الوقت عنوان miner160 بت هذه الكتلة للرسوم في بداية هذه الكتلة بنجاح من التعدين التعدين الناجح اتهم عنوان Ethernet من 160 النفقات الغاز gasLimitmaximum المسموح بها في هذه الكتلة لهذه الكتلة للسماح للاستهلاك أقصى الغاز gasUsedtotal الغاز المستخدمة من قبل جميع المعاملات في هذه الكتلة هذه الكتلة جميع المعاملات باستخدام transactionslist الغاز قائمة التجزئة الإجمالية للصفقات الصفقة تجزئات المدرجة في كتلة المدرجة في كتلة parentHashKeccak256 تجزئة رأس رأس قطعة كتلة الأم من الوالد Keccak 256 قيمة التجزئة تجزئة كتلة hashcurrent من التيار قيمة التجزئة من كتلة البيانات extraDataextra في صفيف بايت بيانات إضافية بايت مجموعة

ذات الصلة التعدين

كتلة variableMeaning الترجمة قيمة difficultyscalar المقابلة لمستوى الصعوبة من كتلة إلى كتلة المقابلة لمستوى الصعوبة من totalDifficultyinteger القيمة العددية لصعوبة الإجمالية للسلسلة حتى هذه الكتلة حتى مجموع صعوبة قيمة noncehash هذه الكتلة سلسلة من proof- ولدت من العمل؛ لاغية عند معلقة كتلة قيمة التجزئة التي ولدت عبء إثبات، وعندما يتم تعليق كتلة التجزئة nullmixHash256 بت الذي جنبا إلى جنب مع حالية واستخدامها لإثبات وقد تم تنفيذ هذا المبلغ كاف من حساب خارجا على هذا الشيء حالية block256 استخدامها جنبا إلى جنب مع تجزئة لإثبات هذه الكتلة تم تنفيذ كمية كافية من حساب

عم ذات الصلة

قيمة كتلة variableMeaning SHA3 uncleslist عمه hashesuncle الترجمة تجزئة قائمة القيم sha3UnclesSHA3 البيانات الأعمام في الأعمام كتل كتلة البيانات

المتصلة بتكنولوجيا

كتلة variableMeaning الترجمة receiptsRootKeccak 256 بت تجزئة العقدة الجذرية للبنية شجرة بالسكان مع إيصالات لجميع المعاملات في 256 بت عقدة التجزئة الجذرية للبنية شجرة من هذا blockKeccak ملأت هذا الإيصال كتلة من تجزئة جميع المعاملات stateRootKeccak256 من عقدة الجذر إذا تم تنفيذ TRIE الدولة بعد كل المعاملات وfinalisations تطبق بعد تنفيذ جميع المعاملات وينهي التطبيق، مثل دولة TRIE الجذر keccak256 تجزئة القيمة transactionsRootKeccak256 تجزئة عقدة جذر هيكل TRIE بالسكان مع إيصالات كل معاملة في جذر المعاملات listtrie هيكل keccak256 التجزئة مليئة إيصالات logsBloomthe بلوم مرشح من قائمة المعلومات فهرسة المعاملات في كل معاملة (عنوان مسجل وتسجيل الموضوعات) الواردة في كل تسجيل الدخول من استلام كل معاملة في قائمة المعاملات تداول قد يكون المعلومات مؤشر (سجل عنوان تسجيل والموضوع) للمرشح بلوم يتلقى إدخالات سجل في القائمة المدرجة في كل معاملة

المعاملات والإيصالات

الآن، يمكن أن نجد أيضا كتلة تداول واحد عن طريق معرف فريد (أي تجزئة الصفقة) لها.

> > >  web3.eth.getTransaction ( '0x1ce6bca99701c4e8acae986b10e7649d628d70ec62b7a8314bbb13726a312225') AttributeDict ({ 'blockHash': HexBytes ( '0x8c09ba67123601c08ef5d292acaffd36798ca178b7d6fecd5e1144ce8e3b9e50')، "BlockNumber ': 5658173، 'من': '0x390dE26d772D2e2005C6d1d24afC902bae37a4bB، 'الغاز': 45000، "GasPrice ': 123400000000، "تجزئة": HexBytes ( '0x1ce6bca99701c4e8acae986b10e7649d628d70ec62b7a8314bbb13726a312225')، "الإدخال ':' 0X، 'حالية': 415710، 'R': HexBytes ( '0x1bb901ad0a3add517504cc459fdb1545d193020ec5c63a566e440ee39dbfe131')، 'S': HexBytes ( '0x4b7ac95eb321b5947948ecb624e1d80b19d9cc876668c69cc2b32670f52b061a')، 'إلى': '0xBbA2D99C9B3aF394B0d6417b1D58815eE495029D، "TransactionIndex ': 0، 'V': 37، 'القيمة': 1000000000000000000})

كما كان من قبل، والملكية web3py بإرجاع القاموس. ويلخص الجدول التالي معنى كل مفتاح.

ترجمة عملية variableMeaning blockHashhash كتلة المعاملة تنتمي إلى قيمة تجزئة الصفقة، التي تمنع blockNumbernumber hashtransaction تجزئة هذا العدد كتلة من كتلة (معرف فريد) عنوان تجزئة الصفقة (معرف فريد) عنوان from160 بت من مرسل عندما الصفقة 160 بت toaddress عنوان التجزئة من مرسل المعاملة للمتلقي أو لاغية لعنوان الصفقة إنشاء عقد للمتلقي أو لإنشاء عقد صفقة لnullvaluenumber من وي إلى أن نقل إلى المتلقي أو تم إنشاؤها حديثا حساب (حالة إنشاء العقد) على أن يتم تحويلها إلى المستلم أو لإنشاء رقم حساب جديد وي (خلق حالة العقد) gasgas استهلكت gasPricenumber الغاز الطبيعي من استهلاك المعاملة معاملة وي أن تدفع لكل وحدة من الغاز لجميع التكاليف computatioon هذه الصفقة الصفقة جميع تكاليف محسوبة لكل وحدة من عدد من الغاز الطبيعي noncenumber المعاملات / الإبداعات عقد أرسلت من قبل المرسل قبل هذا مرسل واحد قبل المعاملات إرسال الخامس عدد من العقود وإنشاء / ص / ق TransactionIndexindex البيانات inputthe بيانات مؤشر قيمة توقيع أرسلت على طول القيم التوقيع على الصفقة لتحديد المرسل الصفقة مع الصفقة مع المعاملة التي تنتقل معا من الصفقة في كتلة في الصفقة كتلة، وتستخدم لتحديد المرسل

وأخيرا، يمكننا أيضا عرض إيصال المعاملة:

> > >  web3.eth.getTransactionReceipt ( '0x68c70c5ffe54a42ebf7118e7e931aeac018cee4656a816ffe6a01388da50c851') AttributeDict ({ 'blockHash': HexBytes ( '0x44338e1f80302037c7213e8f56dd35d8a473b000319bc200f76e910e62d12f98')، "BlockNumber ': 5617795، "ContractAddress ': لا، "CumulativeGasUsed ': 21004، 'من': '0xea6e3e41ebaa09d550d3c3f0d72971b3c5ccc261، "GasUsed ': 21004، "سجلات": ، "LogsBloom ': HexBytes (' 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ')، "الحالة": 1، 'إلى': '0xd96a6e75d099ce529bbd257cbcb403224cceaebf، "TransactionHash ': HexBytes (' 0x68c70c5ffe54a42ebf7118e7e931aeac018cee4656a816ffe6a01388da50c851 ')، "TransactionIndex ': 0})

يحتوي على إيصال المعاملة إدخالات مكررة والجديدة، وأوضح إدخالات جديدة أدناه.

استلام variableMeaning statusboolean الترجمة سواء كانت المعاملة النجاح، كاذبة إذا كان EVM (Ethereum آلة افتراضية) عاد ما إذا كانت الصفقة صفقة ناجحة، إذا EVM (إيثرنت ساحة VM) الحد من المعاملات falsecontractAddressthe عوائد عنوان عقد إنشاء إذا كانت المعاملة خلق العقد وإلا لاغية إذا تم إنشاء المعاملات العقد، وإنشاء عناوين العقد، وإلا من الغاز المستخدم عندما المبلغ الإجمالي من الغاز cumulativeGasUsedthe تلخيص هذه الصفقة عندما تم تنفيذ الصفقة في كتلة التنفيذ في استخدام كتلة من gasUsed هذا هو nullgasUsedthe المبلغ الإجمالي الصفقة gasUse وجميع المعاملات السابقة في نفس الكتلة وهذا الكائن سجل المعاملات باستخدام مجموعة مع مجموع كل logsarray في معاملة مسبقة من الأجسام السجل الذي ولدت المعاملة المعاملات ولدت

كمرجع، بالإضافة إلى الكتاب الأصفر، وتشمل أيضا مجموعة متنوعة من موارد إضافية لإعداد هذه الجداول 2،3،4،5.

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

أنظمة إدارة قواعد البيانات

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

  • ما هو الحجم المتوقع من قاعدة البيانات (أي يمكن معالجتها على نظام جهاز واحد)؟
  • وغالبا ما يتم تحريرها هذه الإدخالات أو تبقى نفسها؟
  • إذا كانت قاعدة البيانات يجب أن يكون الوصول إليها وتحريرها من قبل الطرف متعددة / التطبيقات في نفس الوقت؟

مع مرور الوقت، وميدان إيثرنت سلسلة كتلة تنمو باطراد، اعتبارا من يونيو 2018 ما يقرب من 1TB، وهذا هو صغير جدا، وذلك لمثل Hadoop توزيع نظام معالجة ليس الخيار الافضل. وسوف تكون مكتوبة قاعدة بيانات سلسلة كتلة واحدة، وبعد ذلك يتم توسيع فقط إدخال جديد للحفاظ على الإدخال القديم دون تغيير. ومن المتوقع قاعدة البيانات هذه أن تكون مكتوبة من قبل مثال على القناة من القنوات الأخرى الوصول للقراءة فقط، لذلك نحن لسنا بحاجة حقا لتشغيله على الخادم. على جهازك المحلي لحفظ قاعدة البيانات سوف يؤدي إلى القراءة السريعة، والتي أمر مرغوب فيه وتحقيقه لمثل نظم إدارة الخادم سكليتي. لديها الثعبان المدمج في sqlite3 المكتبة، لذلك نحن حتى لا تحتاج إلى تثبيت حزمة جديدة.

تصميم قاعدة بيانات

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

أنا مصمم على قاعدة بيانات تحتوي على ثلاثة جداول:

  • خيارات: معلومات الصفقة الأكثر أهمية للوصول السريع والتحليل.
  • TX: جميع المعلومات المعاملات المتبقية،
  • كتلة: كتلة المعلومات المحددة.

اصطلاحات التسمية متغير فيما يتعلق web3py الأصلي تغيرت قليلا لإزالة الغموض، مثل الصفقة كتلة التجزئة والتجزئة يسمى "تجزئة"، أو "من" / "إلى" كاسم عمود، والتي في SQL لها معان مختلفة، وستجعل تحطم.

قيمة الصفقة، والتوازن وغيرها من الاحتياجات الرقمية الكبيرة كسلسلة تخزينها في قاعدة البيانات. والسبب هو أن سكليتي يمكن التعامل مع ما يصل إلى 8 بايت صحيحا موقعة يتم تخزين، الحد الأقصى للقوة 63 -12 إلى حوالي 9223372036854775807. هذا عادة ما يكون أقل بكثير من قيمة الصفقة في وي (على سبيل المثال، 1ETH = 10 * 18 وي) .

بناء مصغرة قاعدة البيانات الخاصة بك

يتوفر رمز كاملة على جيثب. سوف العمارة الأنسجة الطبقة العليا تحجب المعلومات السلسلة، وإخراج عدد المحدد من قبل الكتل التي تحتوي على ملف blockchain.db البيانات. لاختبار ذلك، انتقل إلى ملف واختر database.py الرقم معقول لعدد من الكتل لتكون مكتوبة، على سبيل المثال:

Nblocks = 10000

افتراضيا، يجب أن web3 الأجسام تشير Infura نقطة النهاية. إذا كان لديك مقدمي IPC (أي عقدة المحلية)، يمكنك التبديل إلى مقدمي IPC، فقط حرر السطر:

# أو الاتصال عبر عقدة على VM # Web3 = Web3 (Web3.IPCProvider ( '/ الطريق إلى geth.ipc /'))

تعديل المسار، وبعد ذلك فقط بيثون database.py المدى من سطر الأوامر. ستتم كتابة أي كتلة الإغراق من التعليمات البرمجية في ملف lastblock.txt النهائي، في حال كنت بحاجة إلى إعادة تشغيل الكمبيوتر.

كيفية استخدام قاعدة البيانات

وبمجرد دخول أول في قاعدة البيانات، ويبدأ التواصل معها من خلال قذيفة ipython. على سبيل المثال، لطباعة الجدول "خيارات" في 5 صفوف الأولى، يمكنك تشغيل التعليمات البرمجية التالية.

sqlite3 استيراد كما sq3 كون = sq3.connect ( "blockchain.db") لئيم = conn.cursor () # بعض كود SQL، على سبيل المثال اختيار أول خمسة مداخل الجدول السريع cur.execute ( "SELECT * FROM السريع LIMIT 5") و= cur.fetchall () #list من المجموعات التي تحتوي على جميع عناصر الصف طباعة (أ) conn.close ()

العقدة المحلية وInfura

إذا كنت بناء قاعدة بيانات كبيرة، يجب تحميل geth ومزامنة العقد. تزامن يمكن أن يتحقق في ثلاثة أنماط أساسية:

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

ويظهر الرسم البياني التالي سرعة قانون مكتوب إلى قاعدة البيانات، في اتصال مع عنوان Infura (Infura) مع العقدة المحلية (IPC) متزامنة تماما. كما ترون، يتم تشغيل هذا الرمز على العقدة المحلية يستحق كل هذا العناء، لأنك يمكن أن يحسن من سرعة ما يقرب من اثنين من حيث الحجم (أي 100X)!

ملخص

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

الثعبان تطوير مكتبة مع web3.py إيثرنت ساحة هو أن مريحة للغاية، مستخدمين المهتمين متابعة لدينا الثعبان تعليمي ساحة إيثرنت، ويتم أساسا من استخدام web3.py مفصلة سلسلة كتلة ساحة إيثرنت وضعت للمهندس الثعبان.

بالإضافة لغات أخرى يمكن استخلاصها ساحة إيثرنت التعليمي أدناه:

  • دروس web3j، قام أساسا من web3j تفصيلية سلسلة كتلة تطوير ساحة إيثرنت لجافا والروبوت مبرمج.
  • ساحة إيثرنت تعليمي يقدم عقد تطوير التطبيقات الذكية مع DAPP للدخول.
  • إيثرنت تطوير ميدان، هو إدخال استخدام نود.جي إس، mongodb، سلسلة كتلة، التي اعتمدها الفريق الحكومي تحققان مركزية المورد الكهرباء DAPP القتالية للمتقدمين.
  • فب إيثرنت ساحة، هو أن أعرض استخدام عقد ذكي التفاعل فب التنمية، إنشاء حساب المحتوى، والمعاملات، ونقل وتطوير والرموز الفلاتر والأحداث.
  • C # ساحة إيثرنت، أساسا على كيفية استخدام وضع C # .NET استنادا إلى تطبيقات ساحة إيثرنت، بما في ذلك إدارة الحساب، وحالة المعاملة، وتطوير العقد وتفاعل ذكي والفلاتر والأحداث.

بلوق الكاتب: geek12345

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

تقديم الاستشارة وظيفة هو في الحقيقة "اقتراح الحر"؟

وقال Jizhongshengzhi الهند الطيارين العدو وجدت بعد مطار الهبوط شيء يسلي الحشد

فيجي أخبار تجربة مأخذ ذكاء كل يوم: التكلفة العالية للمنافذ السوق

مكلارين: 720S العنكبوت رسميا

الحب لمسة من اللون الأزرق - مواطن الإيكولوجية AO9000-06B والولايات المتحدة ويبدأ تجوب تجربة البحر الأدرياتيكي

وي لES6 أحدث صور تجسس، سيصدر رسميا في 15 يوم NIO

صفقة منغ هو من وجهك، أعطى النساء كان التصويت على جمع الرقمية جيد

يوميا بو شو "صنع عجلات" --cicada (إطار WEB خفيفة الوزن)

الشركات شركة التبغ المدرجة، وكيفية كسب المال؟

الاستثمار في مجال الإحصاء: استغرق ربع القطاع الزراعي تمويل VC / PE الصين يغرق

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

الاستثمار في مجال الإحصاء: ربع الاستهلاك وقطاع الخدمات تمويل الاكتتاب الحارة سرعة ثابتة