آموزش ایجاد چندین تراکنش در بلاک چین پایتون

3 سال پیش
امتیاز دهید post

آموزش ایجاد چندین تراکنش در بلاک چین پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش ایجاد چندین تراکنش در بلاک چین پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون

تراکنش های انجام شده توسط مشتریان مختلف در سیستم در صف قرار می گیرند. ماینرها تراکنش ها را از این صف می گیرند و به بلوک اضافه می کنند. سپس آن‌ها بلاک را ماین می‌کنند و ماینر برنده این امتیاز را خواهد داشت که بلاک را به بلاک چین اضافه کند و از این طریق مقداری پول برای خود به دست آورد.

ما بعداً هنگامی که در مورد ایجاد بلاک چین صحبت می کنیم، این فرآیند استخراج را شرح خواهیم داد. قبل از نوشتن کد برای چندین تراکنش، اجازه دهید یک تابع کاربردی کوچک برای چاپ محتویات یک تراکنش مشخص اضافه کنیم.

نمایش تراکنش

تابع display_transaction یک پارامتر واحد از نوع تراکنش را می پذیرد. شی دیکشنری در تراکنش دریافتی در یک متغیر موقت به نام dict کپی می شود و با استفاده از کلیدهای دیکشنری ، مقادیر مختلف روی کنسول چاپ می شود.

 

در مرحله بعد، یک صف تراکنش برای ذخیره اشیاء تراکنش تعریف می کنیم.

صف معاملات

برای ایجاد یک صف، یک متغیر فهرست جهانی به نام تراکنش ها را به صورت زیر اعلام می کنیم

 

ما به سادگی هر تراکنش تازه ایجاد شده را به این صف اضافه می کنیم. لطفاً توجه داشته باشید که برای اختصار، منطق مدیریت صف را در این آموزش پیاده سازی نمی کنیم.

ایجاد چندین مشتری

اکنون، ما شروع به ایجاد تراکنش خواهیم کرد. ابتدا چهار مشتری ایجاد می کنیم که برای دریافت خدمات یا کالاهای مختلف از دیگران برای یکدیگر پول ارسال می کنند.

 

در این مرحله ما چهار مشتری به نام های دینش، رامش، سیما و ویجی داریم. ما در حال حاضر فرض می‌کنیم که هر یک از این مشتریان مقداری TPCoin را برای تراکنش در کیف پول خود نگه می‌دارند. هویت هر یک از این مشتریان با استفاده از ویژگی هویت این اشیا مشخص می شود.

ایجاد اولین تراکنش

اکنون، اولین تراکنش خود را به صورت زیر آغاز می کنیم –

 

در این تراکنش دینش 5 TPCoin برای رامش ارسال می کند. برای موفقیت آمیز بودن تراکنش، باید اطمینان حاصل کنیم که دینش برای این پرداخت پول کافی در کیف پول خود دارد. توجه داشته باشید که برای شروع گردش TPCoin در سیستم به یک تراکنش genesis نیاز داریم. با خواندن ادامه، در مدت کوتاهی کد تراکنش را برای این تراکنش پیدایش خواهید نوشت.

ما این تراکنش را با استفاده از کلید خصوصی Dinesh امضا می کنیم و به ترتیب زیر به صف تراکنش اضافه می کنیم –

 

پس از اولین تراکنش انجام شده توسط دینش، چندین تراکنش دیگر بین کلاینت های مختلف که در بالا ایجاد کردیم ایجاد خواهیم کرد.

افزودن تراکنش های بیشتر

اکنون چندین تراکنش دیگر ایجاد خواهیم کرد، که هر تراکنش چند TPCoin به طرف دیگر می دهد. وقتی شخصی پول خرج می کند، لازم نیست که موجودی کافی در این کیف پول را بررسی کند. ماینر به هر حال هر تراکنش را برای موجودی که فرستنده در هنگام شروع تراکنش دارد اعتبار می‌بخشد.

در صورت عدم تعادل کافی، ماینر این تراکنش را به عنوان نامعتبر علامت گذاری می کند و آن را به این بلوک اضافه نمی کند.

کد زیر نه تراکنش دیگر را ایجاد کرده و به صف ما اضافه می کند.

 

هنگامی که کد بالا را اجرا می کنید، ده تراکنش در صف ماینرها برای ایجاد بلاک های خود خواهید داشت.

تراکنش های دامپینگ

به عنوان یک مدیر بلاک چین، ممکن است بخواهید به صورت دوره ای محتویات صف تراکنش ها را مرور کنید. برای این منظور می توانید از تابع display_transaction که قبلا توسعه دادیم استفاده کنید. برای تخلیه تمام تراکنش‌ها در صف، فقط فهرست تراکنش‌ها را تکرار کنید و برای هر تراکنش ارجاع‌شده، تابع display_transaction را همانطور که در اینجا نشان داده شده است، فراخوانی کنید.

 

معاملات با یک خط چین برای تمایز از هم جدا می شوند. اگر کد بالا را اجرا کنید، لیست تراکنش ها را مانند شکل زیر مشاهده خواهید کرد

 

برای اختصار، من فقط چند تراکنش اول را در لیست چاپ کرده ام. در کد بالا، همه تراکنش‌هایی که با اولین تراکنش شروع می‌شوند را چاپ می‌کنیم، به جز تراکنش پیدایش که هرگز به این لیست اضافه نشد. از آنجایی که تراکنش‌ها به صورت دوره‌ای به بلوک‌ها اضافه می‌شوند، عموماً علاقه‌مند به مشاهده لیست تراکنش‌هایی هستید که هنوز استخراج نشده‌اند. در آن صورت، باید یک حلقه مناسب برای تکرار از طریق تراکنش‌هایی که هنوز استخراج نشده‌اند ایجاد کنید.

تا کنون، شما یاد گرفته اید که چگونه مشتری ایجاد کنید، به آنها اجازه دهید در بین خود حضور داشته باشند و صفی از تراکنش های معلق را که قرار است استخراج شوند، حفظ کنید. اکنون، مهمترین بخش این آموزش است و آن ایجاد یک بلاک چین است. این را در درس بعدی خواهید آموخت.

 

منبع.

 

لیست جلسات قبل آموزش بلاک چین پایتون

  1. آموزش بلاک چین پایتون
  2. آموزش مقدماتی بلاک چین پایتون
  3. آموزش کلاینت در حال توسعه در بلاک چین پایتون
  4. آموزش کلاس مشتری در بلاک چین پایتون
  5. آموزش کلاس تراکنش در بلاک چین پایتون
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه