پیاده سازی دیتابیس اختصاصی بلاکچین با گولنگ

هدف من از این آموزش هم آشنایی با دنیای بلاکچین و کاربردهاش هستش و هم اینکه از ویژگی های گولنگ استفاده کنم و با استفاده از اون یه دیتابیس اختصاصی رو پیاده سازی کنم.

خب اولین چیزی که باید توضیح بدم این هستش که خود بلاکچین چی هستش. بلاکچین یک دیتابیس (ledger ، دفتر کل ) توزیع شده distributed و غیر متمرکز decentralized هستش که از یک سری بلاک‌ها تشکیل شده است ، همه این بلاک ها به صورت زنجیروار به همدیگه متصل هستن یعنی به بلاک قبل و بعد خودشون وصل هستن به جز بلاک اول که استثنا هستش و فقط به بلاک‌ها بعدی خودش متصل هستش. هر بلاک میتونه حاوی یه سری دیتا باشه.

هدف ما این هستش که سیستم فروشگاه ساز پیشرفته رو با گولنگ پیاده سازی کنیم و در نهایت روی کوبرنتیز دیپلوی اجرا کنیم یعنی ۰ تا ۱۰۰ یه پروژه گولنگی . به زودی ویدیوی این آموزش ها در وبسایت uncodev منتشر خواهند شد.

همون طور که توی تصویر بالا مشاهده میکنید بلاک اول بلاک جنسیس هستش که فقط به بلاک های بعد خودش متصل هستش. هر بلاک یه سری متا دیتا داره مثلا hash و last hash که این هش دقیقا همون زنجیر اتصال دو بلاک هستش و last hash هم که میشه هش بلاک قبلی. بلاک ها با همین کلید ها که مثل زنجیر هستند به هم متصل هستن .

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

هر نود جدید (هر کامیپوتر یا ... ) که به شبکه بلاکچین متصل میشه میتونه یه کپی از این دیتابیس رو داشته باشه و هر تغییری که انجام بشه تو یکی از این نودها تمامی نودهای شبکه اپدیت خواهند شد.


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

کانال تگلرام

https://t.me/uncodev

لینک ریپازیتوری گیت هاب :

https://github.com/uncodev/go-blockchain-starter