افتح ملف blockchain.py
في محرر التعليمات البرمجية الخاص بك.
تعريف فئة Blockchain
: ستمثل هذه الفئة blockchain وتحتفظ بالطرق اللازمة لإدارة الكتل والسلسلة نفسها.
الثعبان
كود بيثونكوبي
فئة بلوكشين:
ديف __init__(الذات):
السلسلة الذاتية = []
يحدد هذا الرمز فئة Blockchain
بقائمة فارغة تسمى السلسلة
لتخزين الكتل.
تنفيذ طريقة add_block
: سيتم استخدام هذه الطريقة لإضافة كتل إلى blockchain. سيأخذ كائن الكتلة كمعامل ويلحقه بالسلسلة.
الثعبان
كود بيثونكوبي
فئة بلوكشين:
ديف __init__(الذات):
السلسلة الذاتية = []
ديف add_block (ذاتي، حظر):
ملحق السلسلة الذاتية (حظر)
يضيف هذا الرمز طريقة add_block
إلى فئة Blockchain
.
اختبار إضافة كتل إلى بلوكتشين: في الجزء الرئيسي من التعليمات البرمجية الخاصة بك، وبعد تعريف الفئة، قم بإنشاء مثيل جديد لفئة بلوكتشين
. بعد ذلك، قم بإنشاء كائن كتلة جديد وإضافته إلى سلسلة الكتل باستخدام طريقة add_block
.
```كود بايثون كوبي للبلوكشين =
بلوكشين ()
new_block = الكتلة (1، datetime.datetime.now ()، «نموذج البيانات»، «brevious_hash»، 0)
بلوكشين. add_block (نيو_بلوك)
تقوم هذه الشفرة بإنشاء مثيل جديد لفئة «بلوكتشين»، وإنشاء كائن كتلة جديد مع بعض البيانات النموذجية، وإضافته إلى بلوكتشين باستخدام طريقة «add_block".
## 2.3 التحقق من بلوكشين
1.
تنفيذ طريقة `is_valid`: سيتم استخدام هذه الطريقة للتحقق من سلامة بلوكتشين. سيتم التكرار من خلال كل كتلة في السلسلة والتحقق من أن تجزئة كل كتلة تتطابق مع تجزئة الكتلة السابقة.
فئة كود بيثون كوبي لبيثون كوبي بلوكشين:
ديف إنيت(ذاتي):
self.chain = []
ديف add_block (ذاتي، حظر):
ملحق السلسلة الذاتية (حظر)
def is_valid (ذاتي):
بالنسبة لها في النطاق (1، العدسة (السلسلة الذاتية)):
current_block = السلسلة الذاتية [i]
previous_block = السلسلة الذاتية [i - 1]
إذا كان الحال_block.hash_السابق! = ملف_block.hash السابق ():
إرجاع خاطئ (صحيح)
وتضيف هذه الشفرة طريقة «is_valid» إلى فئة «بلوكتشين».
1.
اختبار التحقق من صحة بلوكشين: بعد إضافة الكتل إلى بلوكشين، اتصل بالطريقة `is_valid` للتحقق مما إذا كانت بلوكشين صالحة.
كود
بايثون كوبي
طباعة ("بلوكشين صالح). ")
وإلا:
الطباعة («بلوكشين غير صالح».)
يقوم هذا الرمز بالتحقق من صحة سلسلة الكتل عن طريق استدعاء طريقة `is_valid` وطباعة رسالة مناسبة بناءً على النتيجة.
## 2.4 اختبار بلوكشين
1.
إضافة المزيد من الكتل إلى بلوكتشين: إنشاء كتل إضافية باستخدام بيانات مختلفة وتجزئات سابقة وإضافتها إلى بلوكتشين باستخدام طريقة «add_block".
الثعبان
كود بيثونكوبي
#Create المزيد من الكتل
الكتلة 2 = الكتلة (2، datetime.datetime.now ()، "المزيد من البيانات"، new_block.hash ()، 0)
الكتلة 3 = الكتلة (3، datetime.datetime.now ()، "المزيد من البيانات"، block2.hash ()، 0)
#Add الكتل التي تحول دون بلوكشين
بلوكشين. add_block (الكتلة 2)
بلوكشين. add_block (الكتلة 3)
يقوم هذا الرمز بإنشاء كتلتين إضافيتين وإضافتهما إلى البلوكشين.
1.
اختبر التحقق من صحة البلوك تشين مرة أخرى: بعد إضافة الكتل الجديدة، اتصل بالطريقة `is_valid` للتحقق من صلاحية البلوكشين.
الثعبان
كود بيثونكوبي
# تحقق من صحة بلوكتشين إذا كانت بلوكتشين. is_valid ():
طباعة ("بلوكشين صالح). ")
وإلا:
طباعة ("بلوكشين غير صالح). ")
``
يقوم هذا الرمز بالتحقق من صحة سلسلة الكتل وطباعة النتيجة.
في هذا الدرس، قمنا ببناء هيكل بلوكشين الخاص بنا. لقد أنشأنا فئة Blockchain
وقمنا بتنفيذ طرق لإضافة كتل إلى السلسلة والتحقق من سلامتها. قمنا أيضًا باختبار blockchain عن طريق إضافة كتل والتحقق من صلاحيتها.
افتح ملف blockchain.py
في محرر التعليمات البرمجية الخاص بك.
تعريف فئة Blockchain
: ستمثل هذه الفئة blockchain وتحتفظ بالطرق اللازمة لإدارة الكتل والسلسلة نفسها.
الثعبان
كود بيثونكوبي
فئة بلوكشين:
ديف __init__(الذات):
السلسلة الذاتية = []
يحدد هذا الرمز فئة Blockchain
بقائمة فارغة تسمى السلسلة
لتخزين الكتل.
تنفيذ طريقة add_block
: سيتم استخدام هذه الطريقة لإضافة كتل إلى blockchain. سيأخذ كائن الكتلة كمعامل ويلحقه بالسلسلة.
الثعبان
كود بيثونكوبي
فئة بلوكشين:
ديف __init__(الذات):
السلسلة الذاتية = []
ديف add_block (ذاتي، حظر):
ملحق السلسلة الذاتية (حظر)
يضيف هذا الرمز طريقة add_block
إلى فئة Blockchain
.
اختبار إضافة كتل إلى بلوكتشين: في الجزء الرئيسي من التعليمات البرمجية الخاصة بك، وبعد تعريف الفئة، قم بإنشاء مثيل جديد لفئة بلوكتشين
. بعد ذلك، قم بإنشاء كائن كتلة جديد وإضافته إلى سلسلة الكتل باستخدام طريقة add_block
.
```كود بايثون كوبي للبلوكشين =
بلوكشين ()
new_block = الكتلة (1، datetime.datetime.now ()، «نموذج البيانات»، «brevious_hash»، 0)
بلوكشين. add_block (نيو_بلوك)
تقوم هذه الشفرة بإنشاء مثيل جديد لفئة «بلوكتشين»، وإنشاء كائن كتلة جديد مع بعض البيانات النموذجية، وإضافته إلى بلوكتشين باستخدام طريقة «add_block".
## 2.3 التحقق من بلوكشين
1.
تنفيذ طريقة `is_valid`: سيتم استخدام هذه الطريقة للتحقق من سلامة بلوكتشين. سيتم التكرار من خلال كل كتلة في السلسلة والتحقق من أن تجزئة كل كتلة تتطابق مع تجزئة الكتلة السابقة.
فئة كود بيثون كوبي لبيثون كوبي بلوكشين:
ديف إنيت(ذاتي):
self.chain = []
ديف add_block (ذاتي، حظر):
ملحق السلسلة الذاتية (حظر)
def is_valid (ذاتي):
بالنسبة لها في النطاق (1، العدسة (السلسلة الذاتية)):
current_block = السلسلة الذاتية [i]
previous_block = السلسلة الذاتية [i - 1]
إذا كان الحال_block.hash_السابق! = ملف_block.hash السابق ():
إرجاع خاطئ (صحيح)
وتضيف هذه الشفرة طريقة «is_valid» إلى فئة «بلوكتشين».
1.
اختبار التحقق من صحة بلوكشين: بعد إضافة الكتل إلى بلوكشين، اتصل بالطريقة `is_valid` للتحقق مما إذا كانت بلوكشين صالحة.
كود
بايثون كوبي
طباعة ("بلوكشين صالح). ")
وإلا:
الطباعة («بلوكشين غير صالح».)
يقوم هذا الرمز بالتحقق من صحة سلسلة الكتل عن طريق استدعاء طريقة `is_valid` وطباعة رسالة مناسبة بناءً على النتيجة.
## 2.4 اختبار بلوكشين
1.
إضافة المزيد من الكتل إلى بلوكتشين: إنشاء كتل إضافية باستخدام بيانات مختلفة وتجزئات سابقة وإضافتها إلى بلوكتشين باستخدام طريقة «add_block".
الثعبان
كود بيثونكوبي
#Create المزيد من الكتل
الكتلة 2 = الكتلة (2، datetime.datetime.now ()، "المزيد من البيانات"، new_block.hash ()، 0)
الكتلة 3 = الكتلة (3، datetime.datetime.now ()، "المزيد من البيانات"، block2.hash ()، 0)
#Add الكتل التي تحول دون بلوكشين
بلوكشين. add_block (الكتلة 2)
بلوكشين. add_block (الكتلة 3)
يقوم هذا الرمز بإنشاء كتلتين إضافيتين وإضافتهما إلى البلوكشين.
1.
اختبر التحقق من صحة البلوك تشين مرة أخرى: بعد إضافة الكتل الجديدة، اتصل بالطريقة `is_valid` للتحقق من صلاحية البلوكشين.
الثعبان
كود بيثونكوبي
# تحقق من صحة بلوكتشين إذا كانت بلوكتشين. is_valid ():
طباعة ("بلوكشين صالح). ")
وإلا:
طباعة ("بلوكشين غير صالح). ")
``
يقوم هذا الرمز بالتحقق من صحة سلسلة الكتل وطباعة النتيجة.
في هذا الدرس، قمنا ببناء هيكل بلوكشين الخاص بنا. لقد أنشأنا فئة Blockchain
وقمنا بتنفيذ طرق لإضافة كتل إلى السلسلة والتحقق من سلامتها. قمنا أيضًا باختبار blockchain عن طريق إضافة كتل والتحقق من صلاحيتها.