لقطة لرصيد حسابات Ethereum في أقل من دقيقة

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

كنت في مكتب Google في سنغافورة s في اليوم للتدريب على Google Cloud Platform Fundamentals: Big Data & amp؛ التعلم الالي. أثناء التدريب ، تعرفت على مجموعة كبيرة من المنتجات في مجموعة GCP المصممة للبيانات الضخمة. طوال التدريب ، تفاخر مدربي Eefy Lin مرارًا وتكرارًا بمدى سرعة وقوة BigTable و BigQuery. من الصعب تصديق أن الجدول يمكن أن يحتوي على ملايين الأعمدة ومليارات الصفوف ، ومعالجة طلبات البحث بهذا الحجم في بضع دقائق. بطبيعة الحال ، اعتقدت أن أفضل طريقة للاقتناع هي إثبات ذلك لنفسي.

مجموعة بيانات معاملات Ethereum على Google BigQuery كمجموعة بيانات عامة

بدأت في البحث عن مجموعة بيانات عامة على BigQuery لألعب بها. عند تصفح مجموعة البيانات المتوفرة على BigQuery ، قمت بالتبديل إلى Ethereum Blockchain Dataset (البيانات التي تمت مزامنتها بواسطة Google Cloud ، مع عقدة Parity) وفكرت لماذا لا يحدث هذا؟

ارتداء القبعة السوداء

عرفت فورًا ما أحتاجه للاستعلام أولاً. إذا كنت من ذوي القبعة السوداء وأبحث في كسر العقود من أجل الربح ، فسأبحث بالتأكيد عن العقود ذات القيمة ولكن لا يوجد بها الكثير من التوازن. على نحو مفضل ، أقل من 700 إيثر بحيث لا يكون موجودًا بالفعل في أكبر 10000 حساب في Etherscan – للتأكد من أن عددًا أقل من أصحاب القبعات السوداء ينظرون إليهم. لكن أولاً ، نحتاج إلى معرفة رصيد كل حساب…

لقطة لرصيد جميع الحسابات

اتضح أن إنشاء لقطة لجميع الأرصدة على Ethereum blockchain ليس بالأمر الصعب! تحتوي مجموعة البيانات العامة على قاعدة بيانات لجميع المعاملات. هذا يعني أن تلخيص كل تحويلات القيمة الواردة والصادرة سيوفر لك الرصيد النهائي في الحسابات.

نتائج الاستعلام عن الرصيد

من خلال التحسس حول استعلامات SQL ، تمكنت من تجميع واحد يحسب الحقول التالية والتي ستكون مفيدة للتحليل لاحقًا:

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

عيوب الطريقة أعلاه

بالنظر إلى البيانات ، وجدت بعض الشذوذ في النتائج. كانت هناك بعض الصفوف برصيد نهائي سلبي!

لمزيد من الاستقصاء ، ومقارنة المعاملات مع المعاملات التي تمت على etherscan ، كان الخطأ ناتجًا عن عدة عوامل:

حاشية سفلية

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

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

حتى المرة القادمة

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

نُشرت في الأصل على geek.sg.