تسلط بر بلاک چین در زمان کوتاه بخش 2 – پیاده سازی هوش داده پلاتوبلاک چین. جستجوی عمودی Ai.

تسلط بر بلاک چین در زمان کوتاه بخش 2 - پیاده سازی

پوربریندی

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

تسلط بر بلاک چین در زمان کوتاه بخش 2 – پیاده سازی هوش داده پلاتوبلاک چین. جستجوی عمودی Ai.
منبع : bitdegree

نصبش کردی؟ باشه، بیا انجامش بدیم!

اگر پروژه را ایجاد کرده اید یک فایل ایجاد کنید main.go . oke lets code، ابتدا از main.go شروع می کنیم. بیایید با بخش ساختار Block "blockchain" شروع کنیم. در بلاک چین، ذخیره اطلاعات ارزشمند را مسدود می کند. به عنوان مثال، بیت کوین تراکنش های فروشگاهی را که جوهر هر ارز دیجیتال است، مسدود می کند. علاوه بر این، یک بلوک حاوی برخی اطلاعات فنی مانند نسخه آن، مهر زمانی فعلی و هش بلوک قبلی است. در این مقاله قصد نداریم بلاک را همانطور که در مشخصات بلاک چین یا بیت کوین توضیح داده شده پیاده سازی کنیم، در عوض، از یک نسخه ساده شده آن استفاده خواهیم کرد که فقط حاوی اطلاعات قابل توجهی است. در اینجا به نظر می رسد. در اینجا ما یک بلوک ساختاری داریم:

Block struct {

Timestamp مُهر زمان فعلی است (زمانی که بلوک ایجاد می شود)، transactions اطلاعات با ارزش واقعی موجود در بلوک است، prevhas هش بلوک قبلی را ذخیره می کند و Hash هش بلوک است. در مشخصات بیت کوین Timestamp, prevhashو Hash هدرهای بلوکی هستند که یک ساختار داده جداگانه را تشکیل می دهند و تراکنش ها (transaction در مورد ما) یک ساختار داده جداگانه است. بنابراین ما آنها را در اینجا برای سادگی با هم مخلوط می کنیم.

پس چگونه هش ها را محاسبه کنیم؟ نحوه محاسبه هش ها یکی از ویژگی های بسیار مهم بلاک چین است و همین ویژگی است که بلاک چین را ایمن می کند. مسئله این است که محاسبه هش از نظر محاسباتی یک عملیات دشوار است، حتی در رایانه‌های سریع هم زمان می‌برد (به همین دلیل است که مردم برای استخراج بیت‌کوین پردازنده‌های گرافیکی قدرتمندی می‌خرند). این یک طراحی معماری عمدی است که افزودن بلوک‌های جدید را دشوار می‌کند، بنابراین از تغییر آن‌ها پس از اضافه شدن جلوگیری می‌کند. ما در مقاله آینده درباره این مکانیسم بحث و اجرا خواهیم کرد.

در حال حاضر، ما فقط فیلدهای بلوک را می گیریم، آنها را به هم متصل می کنیم و یک هش SHA-256 را روی ترکیب الحاقی محاسبه می کنیم. بیایید این کار را در Newhash روش:

func NewHash(زمان زمان. زمان، تراکنش ها []رشته، پیش هش []بایت) []بایت {

در مرحله بعد، به دنبال یک قرارداد Golang، تابعی را پیاده سازی می کنیم که ایجاد یک بلوک و پایان را ساده می کند:

بلوک‌های func(معاملات []رشته، prevhash []بایت) *Block {

ما به ایجاد یک تابع چاپ ادامه می دهیم. تابع چاپ برای چاپ محتویات هر بلوکی که تراکنش را انجام می دهد مفید است. این هم کد:

func Print(block *Block) {

و تراکنش تابع برای تراکنش چاپی:

Func Transaction(block *Block) {

پس از تکمیل تمام توابع مورد نیاز، از آن در تابع اصلی استفاده خواهیم کرد:

func main () {

خوب همه کدهایی که ما نوشتن را به پایان رساندیم. اجازه دهید آن را با تایپ go run main.go در ترمینال اجرا کنیم. خروجی:

نتیجه

ما یک نمونه اولیه بلاک چین بسیار ساده ساختیم: این فقط یک آرایه از بلوک ها است که هر بلوک یک اتصال به بلوک قبلی دارد. با این حال، بلاک چین واقعی بسیار پیچیده تر است. در بلاک چین ما، افزودن بلوک‌های جدید آسان و سریع است، اما در بلاک‌چین واقعی، افزودن بلوک‌های جدید به مقداری کار نیاز دارد: قبل از دریافت مجوز برای افزودن بلوک‌ها، باید محاسبات سنگینی انجام داد (این مکانیسم اثبات کار نامیده می‌شود). همچنین، بلاک چین یک پایگاه داده توزیع شده است که هیچ تصمیم گیرنده واحدی ندارد. بنابراین، یک بلوک جدید باید توسط سایر شرکت کنندگان شبکه تأیید و تأیید شود (این مکانیسم اجماع نامیده می شود). و هنوز هیچ تراکنشی در بلاک چین ما انجام نشده است!

Source: https://medium.com/@purbaryandi/mastering-blockchain-in-no-time-part-2-implementation-433dc7967fe8?source=rss——cryptocurrency-5

تمبر زمان:

بیشتر از متوسط