پایتون فارسی(PyCore)
228 subscribers
205 photos
105 videos
57 files
243 links
🐉پایتون فارسی
🚀آموزش و اخبار دنیای تکنولوژی
Download Telegram
CodeCrafters
سلام🥸همونطور که از پست قبلی متوجه شدیم با زبان های بسیاری میتونیم بلاکچین رو طراحی کنیم و خب تو این پست قراره بلاکچینی رو برای زنجیره تامینی با استفاده از پایتون پیاده کنیم زنجیر تامین یکی دیگه از کاربرد های بلاکچین در کنار ارز دیجیتیال و قرار داد های هوشمند…
ساخت بلاک های اولیه و تراکنش
خب در نهایت به این میرسیم که چطوری میتونیم از کلس هامون استفاده کنیم
blockchain = Blockchain()

#A: ایجاد تراکنش‌
blockchain.add_transaction(Transaction('Farm', 'Warehouse', 'Tomatoes', 70))
blockchain.add_transaction(Transaction('Warehouse', 'Distributor', 'Tomatoes', 90))
blockchain.add_transaction(Transaction('Distributor', 'Retailer', 'Tomatoes', 80))

#B: ماین کردن تراکنش‌های معلق
blockchain.mine_pending_transactions()

#C: بررسی اعتبار زنجیره
print(f"Blockchain valid: {blockchain.is_chain_valid()}")

#D: نمایش بلاک‌ها و تراکنش‌ها
for block in blockchain.chain:
    print(block)
    for tx in block.transactions:
        print(f"txt = {tx}")

این تیکه کد، یک نمونه ساده از استفاده از کلاس بلاکچین و متود  های اون را نشان می‌ده. در اینجا، یک ابجکت از کلاس Blockchain ایجاد می‌شود و  سه تراکنش برای ردیابی محصولات غذایی  اضافه می‌شه. بعد از اون تراکنش‌های معلق ماین شده و یک بلاک جدید به زنجیره اضافه می‌شود و  اعتبار زنجیره چک می‌شه و در نهایت بلاک‌ها و تراکنش‌ها نمایش داده می‌شود.


پ ن: توضیح عمقی تر درمورد کلاس Blockchain
مورد اول difficulty: این متغییر نشان می‌دهه که برای ماین کردن یک بلاک جدید چه تعداد صفر در ابتدای هش باید وجود داشته باشد.فرض کنید که مقدار difficulty در بلاکچین  برابر 3 باشد.
ب فرض کنیم ما بلاکی را می‌خواهیم ماین کنیم و هش بلاک  باید اینگونه باشد:
hash: 000abc123

دوم ()init: در این متد، زنجیره با ایجاد بلاک اول (genesis block) شروع می‌شود و لیست تراکنش‌های در انتظار برای ماین کردن خالی می‌شود.

سوم:create_genesis_bloc()k: این متد بلاک اول یا genesis block را با شماره بلاک 0، هش بلاک قبلی صفر، زمان فعلی و بدون تراکنش ایجاد می‌کند. معمولا بلاک اول زنجیره رو خوومون درست میکنیم و بدون تراکنش و هش صفر

چهار: get_latest_block(): این متد آخرین بلاک در زنجیره را برمی‌گرداند.

پنج:add_transaction(transaction): این متد یک تراکنش را به لیست تراکنش‌های در انتظار برای ماین کردن اضافه می‌کند.

شش:mine_pending_transactions: این متد تمام تراکنش‌های در انتظار را ماین می‌کند و بلاک حاوی آن‌ها را به زنجیره اضافه می‌کند.

هفت:mine_block(block): این متد یک بلاک را با استفاده از الگوریتم Proof of Work ماین می‌کند، تا هش بلاک با تعداد صفرهای مشخص (بر اساس difficulty) شکل بگیرد.

هشت:()is_chain_valid: این متد بررسی می‌کند که زنجیره فعلی اعتبار دارد یا نه، با مقایسه هش‌های بلاک‌ها و هش‌های محاسبه شده.

#blockchain
سلام به همه دوستانی که تازه به جمع ما پیوستند ورودتون رو به جمع خانواده پایتون خوش آمد میگم
زیر این پست آخرین ورژن های مفسر پایتون و ویژوال استودیو کد رو قرار میدم برای استفاده البته دقت کنید این ورژن ها روی ویندوز ۸ به بعد نصب میشه بعد از اون ورژن های مخصوص ویندوز ۷ رو هم قرار میدم پیروز باشید
آخرین ورژن ویژوال استودیو کد نسخه ۶۴ بیتی (مخصوص ویندوز ۸.۱ به بعد ) 👇👇👇👇👇👇👇
آخرین ورژن ویژوال استودیو کد نسخه ۳۲ بیتی (مخصوص ویندوز ۸.۱ به بعد ) 👇👇👇👇👇👇👇
ورژن ۱.۷ ویژوال استودیو کد مخصوص ویندوز ۷ ، ۶۴ بیتی (مخصوص ویندوز ۷)
👇👇👇👇👇👇👇👇👇👇👇
آخرین نسخه ۶۴ بیتی مفسر پایتون ورژن ۳.۱۱.۴ برای ویندوز ۸ به بعد (روی ویندوز ۷ نصب نمیشه )
👇👇👇👇👇👇👇👇👇👇
آخرین نسخه ۳۲ بیتی مفسر پایتون ورژن ۳.۱۱.۴ برای ویندوز ۸ به بعد (روی ویندوز ۷ نصب نمیشه )
👇👇👇👇👇👇👇👇👇👇
👍1
نسخه ۳.۸.۱۰ مفسر پایتون ۶۴ بیتی مخصوص ویندوز ۷ (روی ویندوز ۸ به بعد نصب نمیشه )
👇👇👇👇👇👇👇👇👇👇👇👇
نسخه ۳.۸.۱۰ مفسر پایتون ۳۲ بیتی مخصوص ویندوز ۷ (روی ویندوز ۸ به بعد نصب نمیشه )
👇👇👇👇👇👇👇👇👇👇👇👇
برای ارتباط با من به این اکانت پیام بدید
حتما خودتون رو معرفی کنید و سوالتون رو تا حد امکان کوتاه بپرسید سوالات اصلی رو بذارید سر کلاس های حضوری
@MeisamShabani
* مهم *
بچه های دوره پایتون که دو هفته پیش دوره به پایان رسید و شروع دوره قبل از عید بود
با تمام تایم گرفتن از تهران تا پایان هفته بعد وقت دارید برای تحویل پروژه هاتون
عدم تحویل پروژه بر عدم نیاز به مدرک تلقی میشه در صورتی که زمان گذشته باشه از آخرین فرصت تحویل برای گرفتن مدرک و تحویل پروژه باید با مجتمع صحبت کنید اگر امکانش باشه با دادن یه هزینه دوباره دوره باز بشه و نمره شما ثبت بشه
برای اینکه درگیر این مشکلات نشید تا پایان هفته بعد حتما پروژه ها رو تحویل بدید

نکته : بچه‌هایی که دوره پیشرفته ثبت نام کردن بدلیل زمانی که باید برای ویدیوهای پیش نیاز که براشون ارسال شده و یا میشه بذارن چهار روز بیشتر فرصت دارند
موفق باشید 🎉🎉🎉🎉
ساخت ایمیل فیک برای ثبت نام در سایت های که نیاز به ثبت نام داره
@fakemailbot
👌2