Laboratoriya ishi no tizimda bir nechta tugun kerak bo'lsa, Consensus algoritmidan foydalaning Vazifa


Download 58.44 Kb.
Pdf ko'rish
bet1/4
Sana18.06.2023
Hajmi58.44 Kb.
#1591506
  1   2   3   4
Bog'liq
5-lab 2 blokchain



4 LABORATORIYA ISHI No 4
tizimda bir nechta tugun kerak bo'lsa, Consensus algoritmidan foydalaning
Vazifa: Asosiy konsensus algoritmini amalga oshiring, meni yarating
yana bir nechta so'nggi nuqtalar kerak:
- URL ko'rinishidagi yangi tugunlar ro'yxatini qabul qilish uchun /tugunlar/register;
- /tugunlar/resolve hal qiluvchi Consensus algoritmini amalga oshirish uchun
tod tarmoqdagi markazlashtirilmagan tugunlarni ro'yxatdan o'tkazish uchun.
blokcheyn tomoni tarmog'i.
tugunning joylashganligini tasdiqlash bilan bog'liq har qanday nizolar
Amaliy misol 1
4.1 Nazariy ma’lumotlar
sizning zanjiringizda.
Bundan tashqari, Blockchain sinf konstruktorini o'zgartirishingiz va qo'shishingiz kerak bo'ladi
Shunday qilib, o'tgan ishlarda asosiy blokcheyn ishlab chiqildi, bu
Yangi tugunlarni ro'yxatdan o'tkazish
tranzaktsiyalarga ega va yangi bloklarni qazib olish imkoniyatini beradi. Ammo hamma narsa blokda
Konsensus algoritmini amalga oshirish uchun siz berish yo'lini topishingiz kerak
tugunlarni ro'yxatdan o'tkazish usuli:
tarmoqdagi qo'shni tugunlarning mavjudligi haqida bilish uchun ma'lum bir tugun. Har bir tugun
zanjiri shundaki, ular markazlashtirilmagan bo'lishi kerak. Va agar ular qaerda bo'lsa
Mavzu: Blockchain prototipida konsensus tashkil etish
bir xil zanjir?
markazlashtirilgan, keyin ularning barchasi aks etishini qanday ta'minlash kerak
Maqsad: Konsensus algoritmi bilan tanishish.
Bu konsensus muammosi deb ataladi va endi biz uni amalga oshirishimiz kerak
ishchi zanjirda zanjirning boshqa tugunlari registrini o'z ichiga olishi kerak. Shunday qilib,


"""
8
9 10
3
1 2 ta import soÿrovi
...
...
Tugunlar ro'yxatiga yangi tugun qo'shing
4
:param manzili: tugun manzili, boshqacha aytganda: 'http://192.168.0.5:5000'
...
5-sinf blokcheyn (ob'ekt)
...
:qaytish: Yo'q
6
7
self.nodes = set()
"""
urllib.parse import urlparse dan 1 2
parsed_url = urlparse(manzil)
...
3 4 5 6 sinf blokcheyn(ob'ekt):
12 def register_tugun (o'zini, manzili):
...
11
7 def __init__ (o'z-o'zidan):
13
14
15
16
17
18
19
20
21
self.nodes.add(parsed_url.netloc)
ro'yxatga ma'lum bir tugun kiritilgan bo'lsa, u faqat bir marta sodir bo'ladi.
bo'yin va joriy zanjir vakolatli. Boshqacha aytganda, eng uzun lan
tugunlarning soni idempotent - bu necha marta bo'lishidan qat'iy nazar, degan ma'noni anglatadi
boshqa tugun bilan bog'langan. Buni hal qilish uchun, topilgan joyda qoidani kiritamiz
tugunlar ro'yxati. Bu yangilarini kiritishga ishonch hosil qilishning oson yo'li
Ma'lumki, ziddiyat shundaki, bitta tugun zanjirga ega, po
Esda tutingki, saqlash uchun set() usuli qo'llaniladi
Ishchi tarmoq tugunlari o'rtasida konsensus.

Download 58.44 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling