23 زبان blockchain در آینده برنامه نویسی

ساخت وبلاگ

بیشتر اعتیاد به مواد مخدره در اطراف blockchain از ارزهای رمزپایه ساخته شده بر روی آنها ، افزایش خیره کننده آنها در ارزش و سقوط رسوب آنها ناشی می شود.

ثروت راهی برای جلب توجه ما دارد. اما در زیر رویاهای ثروت ظالمانه ، زبانهای جدید برنامه نویسی پیچیده ای هستند که نحوه فکر ما در مورد ارائه دستورالعمل به رایانه ها را تغییر می دهند.

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

مذاکرات پول - قراردادها مهم است

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

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

به عنوان مثال ، یک قرارداد هوشمند برای وام 5 ساله خودرو ، ممکن است مالکیت کامل را به وام گیرنده منتقل کند تنها در صورت ثبت 60 پرداخت ماهانه در blockchain. برخی حتی می خواهند این قرارداد بررسی کند که تمام هزینه های وزارت وسایل نقلیه موتوری به موقع پرداخت می شود و بیمه حفظ شده است ، در هر دو مورد پس از این واقعیت ها نیز در blockchain ثبت شده است.

زبانهای پشت blockchain

زبانهای برنامه نویسی مورد استفاده در این blockchains بسیار اساسی هستند ، اغلب پیچیده تر از ساده ترین کدی که به زودی پس از ساخت اولین رایانه ها وارد شدند. به عنوان مثال ، اسکریپت بیت کوین فقط چند عملیات مجاز دارد و داده ها از یک پشته مجازی هل داده و کشیده می شوند. هیچ سازه ای از سطح بالاتر مانند حلقه ها وجود ندارد ، محدودیتی برای اطمینان از اینکه کد به سرعت به نتیجه می رسد.

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

عواقب انجام یک اشتباه می تواند وحشتناک باشد، زیرا یک مجرم باهوش ممکن است راهی برای شروع پرداخت پیدا کند. این اتفاق در مورد یک گروه سرمایه گذاری به نام DAO افتاد. برخی تخمین زده اند که هکرها بیش از 50 میلیون دلار داشته باشند.

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

قدیمی اما خوب

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

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

Mutan یکی دیگر از زبان های اصلی برای اتریوم است که از سال 2015 کنار گذاشته شده است. این زبان از زبان شبکه محبوب Go الگوبرداری شده است، اما بسیاری از توسعه دهندگانی که از آن لذت می برند از آن زمان به Solidity نقل مکان کرده اند.

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

زبان اسکریپت بیت کوین

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

عملیات پیشرفته، عملیات رمزنگاری پیچیده را به یک بایت کاهش می دهد. Opcode 169 (0xa9) ورودی را ابتدا با SHA-256 و سپس با RIPEMD-160 برای امنیت بیشتر هش می کند.

Opcode 173 (0xad) یک امضای دیجیتال را بررسی می کند تا مطمئن شود که تراکنش به درستی مجاز بوده است. اگر می خواهید یک سکه را تا لحظه ای در آینده قفل کنید، می توانید کد را بپرسید تا مطمئن شوید زمان از یک آستانه بیشتر است.

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

مخفف عبارت Low-Level Lisp-Like Language است. این یک پوشش نازک از پرانتز و کد Lisp مانند برای پوشاندن دستورالعمل های مونتاژ اولیه که در ماشین مجازی اتریوم اجرا می شوند، ارائه می کند.

برخلاف Serpent همچنان محبوب است، زیرا به برنامه نویسان توانا دسترسی به تمام مکان های حافظه و سایر قدرت های پنهان در پایین ترین سطوح را ارائه می دهد. برنامه نویسان ماهر LLL ادعا می کنند که می توانند قراردادهایی به اندازه نصف یا حتی کوچکتر در مقایسه با زبان های سطح بالاتر مانند Serpent تولید کنند، چیزی که در دراز مدت همه را نجات می دهد.

وایپر

گفته می شود که این زبان سطح پایین برای زنجیره اتریوم "Pythonic" است، به این معنی که این زبان برای کسانی که از زبان Python استفاده می کنند آشناتر است. اگرچه علائم نگارشی و ساختار اولیه برای برنامه نویسان پایتون آشنا هستند، تعداد زیادی از ویژگی ها کنار گذاشته شدند تا نوشتن کدهای بسیار ساده آسان تر شود که در تئوری، درک و ممیزی نیز بسیار آسان است.

بسیاری از بزرگترین تغییرات محدودیت در نوع نام مستعار هوشمندانه ای است که برنامه نویسان دوست دارند انجام دهند. توسعه دهندگان Vyper سعی کردند تغییر نام و بارگذاری بیش از حد را که برنامه نویسان معمولی به کار می برند را حذف کنند تا کد خود را مختصر و - در ذهن آنها - زیبا و واضح کنند.

تیم Vyper این نوع اصلاح کننده ها و فرصت های بارگذاری بیش از حد را رد کرد، زیرا آنها همچنین فرصت هایی برای مبهم کردن و مبهم کردن، دو تکنیکی هستند که اغلب شریک کلاهبرداری هستند.

سادگی

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

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

غضب

blockchain eeity همچنین از وارنا پشتیبانی می کند ، یک زبان بسیار اساسی تر که از سادگی اسکریپت بیت کوین الهام گرفته شده است. این همچنان یک کار در حال پیشرفت هست.

وابسته به سوی

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

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

اسناد نشان می دهد که این زبان هنوز "در حال توسعه" است و برای استفاده عمومی آماده نیست.

استحکام

یکی از بالاترین زبانهای مشخص ، استحکام ، زبان استانداردی است که می تواند به blockchain Ethereum مستقر شود. به نظر می رسد بسیار شبیه یک زبان برنامه نویسی مدرن مانند JavaScript است ، و توابع ، اشیاء ، وراثت و تقریباً هر آنچه را که باعث می شود کد مانند جاوا ، C یا جاوا اسکریپت باشد ، توابع فرفری براکت را ارائه می دهد.

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

بسیاری از آنها زبان Turing-Complete می نامند ، یک اصطلاح فنی به این معنی که می توانید هر آنچه را که ممکن است به زبان های اصلی دیگر ایجاد کنید بنویسید. در عمل ، کد Ethereum فقط زمانی اجرا می شود که شما با استفاده از ارز داخلی به نام "گاز" زمان را در گره ها بپردازید و میزان گاز مورد استفاده شما بسیار محدود است.

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

WebAssembly یک دستگاه با حالت ساده است که برای سرعت بخشیدن به وب با ارائه کد ساده و از پیش ساخته شده برای جایگزینی JavaScript در صفحات وب طراحی شده است. این همچنین پایه و اساس قراردادهای blockchain EOSIO است. نسل اول قراردادها به صورت C ++ نوشته می شوند و به WASM گردآوری می شوند ، اما برای سایر زبانهای مشترک مانند زنگ زدگی ، پایتون و استحکام نیز کامپایلرهایی وجود دارد.

رولانگ

توسعه دهندگان ایجاد قراردادهای هوشمند برای تعاونی RChain باید از Rholang ، یک زبان عبور پیام با یک سیستم تایپ رفتار پیشرفته و رفتاری برای استاندارد سازی جریان قرارداد استفاده کنند. شرایط قرارداد دقیق را می توان از طریق مکانیسم نوع مدرن مورد مذاکره و اجرا کرد.

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

این زبان برای برنامه نویسان که از زبانهای کاربردی مانند هاکل لذت می برند ، بیشتر آشنا خواهد بود.

میشلسون

blockchain Tezos اثبات سهام با مکانیسم رأی صریح برای به روزرسانی پروتکل مبادله اساسی با گذشت زمان است. قراردادها در میشلسون نوشته شده است ، زبانی که از نظر آماری با نوع دقیق و دارای نوع دقیق است که در اطراف یک پشته ساخته شده است. در این مستندات آمده است که سازندگان از زبانهای پشته مانند رویکردهای چهارم و کاربردی مانند طرح و متا زبان (ML) الهام گرفته شده اند.

پلوتوس

blockchain Cardano یکی دیگر از رویکردهای اثبات سهام است-راهی برای دستیابی به اجماع توزیع شده-با چندین لایه که تسویه حساب را از هم جدا می کند (جایی که پول مبادله می شود) از کنترل (جایی که تصمیمات موجود در قراردادهای هوشمند گرفته می شود).

این قراردادها به صورت پلوتوس نوشته شده است ، که شباهت های بسیاری با هاکل ، زبان غالب در پشته دارد. کد قرارداد کاملاً کاربردی و قوی است و تایپ استاتیک برای جریان داده ها اجرا می شود.

سوفیا

blockchain eeity اثبات کار را با اثبات سهام مخلوط می کند و بر ارتباط با اشیاء دنیای واقعی در اینترنت اشیاء تأکید می کند. قراردادها و پیوند آنها به جهان ، به اصطلاح اوراکل ، در سوفیا نوشته شده است ، یک نسخه کاملاً تایپ شده از ML. Sophia شامل ویژگی های خاص blockchain مانند ساختارهای داده صریح قراردادها است که به زبان ساخته شده است.

قالب داده ها یک زبان نیست ، اما برخی از blockchains به طور موثری از طریق بسته های JSON کنترل می شوند. به عنوان مثال ، معاملات در دفترچه XRP Ripple از طریق ارسال داده های JSON آغاز و کنترل می شود. برای پر کردن قسمتها و سپس ارسال آن باید کد خود را بنویسید ، اما این بدان معنی است که می توانید از هر زبان و کتابخانه ای استفاده کنید که ارسال پیام های پست HTTP را آسان می کند.

Swift ، PHP ، Kotlin ، Lua ، Laravel یا Ruby

این زبانهای برنامه نویسی مشترک اغلب در این زمینه ذکر نشده است ، اما برخی از پروژه های blockchain در حال دستیابی به توسعه دهندگان هستند که با باز کردن API و انتشار کد نمونه ای که API را هدف قرار می دهد ، از آنها استفاده می کنند. به عنوان مثال ، ARK نمونه هایی را که با همه اینها کار می کند ، حفظ می کند.

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

جاذب

در حالی که قراردادهای هوشمند در حال اجرا Ethereum به زبانهای ویژه ای که برای اطمینان از صحت و کامل بودن ساخته شده اند نوشته شده است ، برخی از کارهای جانبی را می توان در JavaScript نوشت.

اگر می خواهید ابزارهایی را بنویسید که قراردادها را ردیابی کرده و وضعیت آنها را به وب سایت های زیبا و قابل خواندن با انسانی ترجمه کنید ، احتمالاً می خواهید با Web3 آزمایش کنید ، مجموعه ای از اشیاء JavaScript که در تعامل با blockchain هستند. می توانید کدی را که قراردادهای شما را ردیابی می کند ، بنویسید ، آنها را با گاز فعال نگه دارید.

این فقط شروع است. لیست کردن تمام blockchain های مختلف با کدی که بر روی Node. js ساخته شده است ، یک پلتفرم سمت سرور ساخته شده بر روی موتور JavaScript Google Chrome غیرممکن است. مشتری ، میانی و کد سمت سرور ، که همه در JavaScript نوشته شده اند ، در همه جا هستند.

ظروف

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

این امر توسعه را آسان تر می کند ، اما ممکن است مکانیسم ها را برای سوءاستفاده و کلاهبرداری باز کند. بسیاری از زبانهای ساخته شده برای blockchain به گونه ای طراحی شده اند که حسابرسی کد را ساده تر کند تا از نوع خطاهایی که می تواند منجر به از بین رفتن پول یا بدتر شود ، جلوگیری شود.

blockchain Stratis از کد NET و C# توسعه یافته در ویژوال استودیو پشتیبانی می کند ، چیزی که باید برای برنامه نویسان آشنا با استانداردهای مایکروسافت جذاب باشد. قراردادهای هوشمند در C# نوشته شده و سپس با یک قسمت جلویی مبتنی بر وب پیچیده می شوند.

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

فراتر از blockchain

بسیاری از این زبانها جدید هستند ، اما فعال کردن کد به خوبی تأیید شده ساخته شده از سازه های ساده تر در حال بازگشت به کد سنتی تر است. کدی که روی سرور اجرا می شود و بخش اعظم پردازش معامله را انجام می دهد ، اغلب به زبان های محبوب مانند C ++ ، Rust ، Java یا Python نوشته شده است.

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

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

و ، سرانجام ، همانطور که به آینده می رویم ، چگونه می توانیم همان دقت ناپایدار را از زبانهای قدیمی فشار دهیم؟

یادگیری را ادامه دهید

با راهنمای TechBeacon ، یک شیرجه عمیق را به حالت کیفیت وارد کنید. به علاوه: گزارش رایگان کیفیت جهانی 2022-23 را بارگیری کنید.

مهندسی عملکرد را با این 10 تکنیک برتر مهندسی عملکرد که کار می کنند ، عملی کنید.

استراتژی برای تجارت گزینه های...
ما را در سایت استراتژی برای تجارت گزینه های دنبال می کنید

برچسب : نویسنده : فریبا کامران بازدید : 32 تاريخ : دوشنبه 22 خرداد 1402 ساعت: 12:57