برنامه نویسی بلاکچین با php ، در مقاله زیر قصد داریم درباره برنامه نویسی بلاکچین با زبان php با شما سخن بگوییم . برای این کار نیاز است ابتدا شما دانش php را تا حدودی داشته باشید همچنین برای اینکار شما با ساختار بلاکچین آشنایی اشته باشید . پس در ابتدا ما درباره ساختار بلاکچین با شما سخن می گوییم . سپس به شما آموزش می دهیم که چگونه دیتایی را از بلاکچین بخوانید و همچنین چگونه داده ای را در بلاکچین بنویسید .
لیست عناوینی که در این مقاله برای شما زوم ارزی عزیز آماده کرده ایم:
نگاهی به ساختار بلاکچین
در ابتا باید بگویم بلاکچین یک سیستم برای ذخیره اطلاعات است . دقیقا مانند یک دیتا بیس است. اما تفاوت اصلی بلاکچین با دیتابیس این است که اطلاعات ذخیره شده میان همه اعضای یک شبکه به اشتراک گذاشته می شود .
اگر بخواهیم درباره ساختار بلاکچین بگوییم ، باید بگوییم بلاک ها در بلاکچین به صورت زنجیره وار به هم متصل هستند . که مجموعه ای از این زنجیره ها بلاکچین را تشکیل می دهند . همچنین شایان ذکر است که این بلاک ها بری جلوگیری از تغییر اطلاعات ، داده های آن رمز نگاری می شوند. که به این رمز نگاری هش می گویند . هر بلاک دارای یک هش است و هر بلاک هش بلاک قبل را در خود ذخیره می کند .البته نکته بسیار مهم این است که بلاک اول چون بلاک قبلی ندارد پس هش بلاک قبلی را نیز ندارد . و اصولا به بلاک اول جنسیس نیز می گویند .
باید در این قسمت این مطلب را بازگو کرد که با تغییر کوچک در هر بلاک حتما هش آن بلاک تغییر می کند در نتیجه با تغییر هش بلاک ، بلاک های بعدی نیز بی اعتبار می شوند . البته می توان داده های داخل یک بلاک را بروزرسانی کرد . اگر اکثریت با آن موافق باشند .
حال به سراغ برنامه نویسی میرویم . ما در این قسمت از json بنیز استفاده می کنیم.همانطور که در بالا گفته شد ما در این مطلب سه گام را به شما آموزش می دهیم .
- ساخت یک بلاک چین
- خواندن از یک بلاکچین
- نوشتن در بلاکچین
آموزش ساخت یک بلاکچین با زبان php
ابتدا نیاز است به ساخت اولین بلوک بپردازیم و داخل بلوک خود یک فایل جدید بنام block1 ایجاد می کنیم .برای ایجاد فایل از کد زیر استفاده می کنیم .
|
حال می خواهیم خطوط کد بالا را برای شما شرح دهیم .
index : منظور از index یک id است که هر بار یک عدد به آن اضافه می شه . و اصولا از صفر شروع می شود .
hashid : همانطور که در بالا بیان شد ما به بلاک اول هیچ هشی اختصاص نمی دهیم . چون بلاک اول هیچ بلوکی قبل از خود ندارد که بخواهد هش آن را بردارد. اصطلاحا به بلاک اول جنسیس گفته می شود .
Timestamp: اگر شما تا حدی با برنامه نویسی آشنایی داشته باشید . متوجه می شوید که از Timestamp برای نگهداری تاریخ و ساعت استفاده می شود . پس قائدتا در اینجا نیز برای ذخیره تاریخ زمان ایجاد هر بلوک نیز از این متغیر استفاده می کنیم .
Proof-of-work : الگوریتم pow یا همان proof of stack یک الگوریتم اجماع است ، که اصطلاحا به آن اثبات کار نیز می گویند که در این روش برای تایید تراکنش ها از pow استفاده می شود .که برای ارز هایی استفاده می شود که می توانیم آنها را استخراج کنیم . ما در بحث رمز ارز ها می توانیم از الگوریتم های متفاوتی مانند pos نیز استفاده کینم . که هر کدام ساختار خود را دارند .
شایان ذکر است که بگوییم کوین هایی که از الگوریتم pow استفاده می کنند . قابلیت استخراج نیز دارند .
Content : در این قسمت ما موارد ساختار یافته ای را وارد می کنیم مثلا ما در این محتوا اطلاعات یک تراکنش را وارد کردیم که مثلا از یک ارسال کننده به یک گیرنده به تعداد x ارز ارسال شده است .مثلا در کد بالا گفتیم که از زوم ارز به علی تعداد ۱ ارز ارسال شده است .
حال در قسمت بالا شما با یک کد ساده آشنا شدید که بتوانید یک بلوک را ایجاد کنید و داخل آن یک فایل قرار دهید . در ادامه می خواهیم به شما بگوییم چگونه اطلاعات داخل فایل را می توانید بخوانید .
خواندن اطلاعات از بلاکچین با زبان php
در بالا ما ساختار یک بلاکچین را در ساده ترین حالت نوشتیم. حال نیاز داریم کمی به دانش شی گرایی برای این کارنیاز داریم یک کلاس تعریف کنیم بنام DAO سپس داخل آن ۳ تابع را تعریف کنیم که کارهای زیر را انجام دهند .
- خواندن بلاکچین
- خواندن دادههایی در مورد آخرین بلوک در بلاکچین
- محاسبه هش بلوک که از سوی یک بلوک استفاده میشود و درج آن در بلاکچین
توضیح تایع خواندن بلاکچین :
برای این کار نام تابع read_all() قرار دادیم .در این تابع قصد دارد کل بلاکچین را بخواند و نتیجه را در یک آرایه چند بعدی قرار دهد .جهت انجام این کار کد ها را برای بالا بردن اطمینان داخل try – catch نوشتیم .کد را داخل این دستورات قرار دادیم تا در صورت خطا کد داخل catch مشخص شود و ما از خطا موجود با خبر شویم . کد های اصلی داخلی دستور try قرار گرفتن .
شرح کد بر این اساس است که با استفاده از دستور (file_get_contents) محتوای فایل خوانده می شود .چون فایل که در بالا نوشتیم ساختار json داشت ، پس باید از طریق کد (json_decode) فایل را دی کد کنیم .و در نهایت در یک متغیر $arr_data ریخته شده است و در نهایت بر گردونده محتویات داخل آرایه را .
حال می رویم سراغ اینکه بتوانیم داده های بلاک آخر را بخوانیم . دو مقداری که برای ما بسیار مهم است ایندکس بلاک قبل و همچنین هش بلاک قبل . که برای اینکار از دو تابع زیر استفاده می کنیم ( () get_previous_hashid و ()get_previous_index )
سپس با استفاده از تابع ( function get_new_hashid ) هش آی دی بلاک جدید را محاسبه می کنیم .ما در این کد برای رمز نگاری از الگوریتم SHA-256 استفاده می کنیم .و این هش ای دی از طریق ۴ رشته زی محاسبه می شود :
- hashid بلوک قبل
- timestamp
- index
- و محتوای داخل بلاک
ودر نهایت از یک تابع استفاده کردیم به نام (read_content) با استفاده از این تابع قصد داریم محتوای یک بلوک را رمز گشایی کند سپس دیتا را در یک آرایه قرار دهد.
آموزش نوشتن در یک بلوک جدید:
در ابتدا از تعدادی کتابخانه استفاده می کنیم .سپس یک کلاس را تعریف می کنیم . و در نهایت لود می کنیم کل بلاکچین را در یک آرایه و نمایش می دهیم خروجی را در یک وب پیج.کد های این قسمت را در پایین برای شما به نمایش گذاشتیم .
حال نیاز داریم که هش بلاک قبلی را بخوانیم . سپس باید بخوانیم ایندکس آخرین بلاک را و محاسیه کنیم ایندکس بلاک جدید را . برای محاسبه هم نیاز است که ایندکس بلاک قبلی را با عدد ۱ جمع کنیم.
حال ما توانستیم مشخصات مربوط به بلوک جدید را محاسبه کنیم .سپس نیاز است بتوانیم hashid جدید را محاسبه کنیم.و برای اینکار نیاز به ۴ متغیر داریم که این متغیر ها به شرح زیر است .
($previous_hashid,$next_index,$timestamp,$content)
ما در باره تک تک متغیر ها ر بالا شرح دهیم .
حال نیاز است که از طریق یک ابزار محتوا خود را وارد کنیم که ما در این کد از ابزار textarea استفاده می کنیم .و داخل آن محتوای یک تراکنش را وارد می کنیم . که شامل مشخصات ارسال کننده، مشخصات دریافت کننده . مقدار تراکنش است . کدها درون یک فرم نوشتیم و همچنین دیتا ها را از طریق یک textarea وراد م یکنمی و همچنین از طریق یک دکمه اطلاعات را وارد دیتا بیس می کنیم .
شما می توانید کل کد را از داخل گیت هاب بردارید و برای تست نهایی از آن کد ها استفاده نماید.
سخن پایانی برنامه نویسی بلاکچین با php
ما در قسمت بالا به شما آموزش دادیم که چگونه می توانید با زبان برنامه نویسی بلاکچین یک بلاک را در بلاکچین ایجاد کنید و همچنین اطلاعات آن بلاک را بخوانید و اطلاعاتی را در یک بلوک از بلاکچین بنویسید .صرفا برای مطالعه این مقاله نیاز بود یک اطلاعات اندکی دربارذه زبان برنامه نویسی بلاکچین و php داشتید .
ممنون از اینکه تا پایان ” برنامه نویسی بلاکچین با php ” همراه ما بودید.
منبع : زوم ارز
لینک مطلب : http://bit.do/fLYhk
بیشتر بخوانید
نظرات کاربران
برای یادگیری برنامه نویسی بلاکچین با php باید دانش پایه ای چه چیزهایی را داشته باشیم؟
آیا یادگیری برنامه نویسی بلاکچین php می توان یک کوین یا توکن ایجاد کرد
اره داخل منابع خارجی مطالب و ویدیو های زیادی در این باره هست
چگونه می توانم یک مرجع خوب جهت یاد گیری برنامه نویسی بلاکچین با php پیدا کنم
تفاوت برنامه نویسی بلاکچین از طریق زبان php با برنامه نویسی بلاکچین از طریق پایتون مبیت و کدامیک سرعت عمل بیشتری باحلا است؟
جهت برنامه نویسی بلاکچین میشه از زبان غیر از php استفاده کرد؟
لطفا آموزش برنامه نویسی بلاکچین با php را در سایت خود قرار دهید؟
برنامه نویسی بلاکچین را از کجا یادبگیرم؟
مقاله های آموزش برنامه نویسی مارا دنبال کنید
برنامه نویسی بلاک چین با php منطقی تراست یا با یایتون
پایتون
منظور از برنامه نویسی بلاک چین چیه؟
برنامه نویسی php از چه محیطی استفاده کنم؟
Sublime
Phpstorm
البته از notepad هم میشود استفاده کرد
برنامه نویسی php برای بلاکچین منطقی است؟
زبان های برنامه نویسی قدرتمندتری مانند پایتون نیز هستند که برای برنامه نویسی بلاکچین استفاده می شود اما هدف از این مقاله آموزش برنامه نویسی با php بوده چراکه افراد زیادی علاقمند به یادگیری این اموزش هستند
بله, بسیاری از پروژه هایی که بر پایه بلاکچین هستن با PHP نوشته شدن. حتی خیلی از صرافی های انلاین ارز دیجیتال هم برپایه PHP هستن که کیف پئل بلاکچین شون با PHP نوشته شده
برنامه نویسی بلاک چین ساده است یا سخت؟
نیازمند دانش برنامه نویسی پایه هست
سلام یه سوالمن قبلا برنامه نوسی انجام میدادم الان میخوام یه فیلتر برای ارز های دیجیتال درست کنم امکان داره کتاب یا سایت هست کمک کنه
ممنون از مطلب کامل شما
با پایتون هم می توان به برنامه نویسی بلاک چین ورود پیدا کرد؟
بله