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

ساخت وبلاگ

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

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

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

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

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

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

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

زبانهای پشت blockchain

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

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

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

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

قدیمی ها اما چیزهای خوب

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

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

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

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

زبان برنامه نویسی بیت کوین

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

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

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

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

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

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

جنجال

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

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

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

سادگی

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

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

وارنا

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

ابسیدین

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

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

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

استحکام

یکی از پرمخاطب ترین زبان ها Solidity است، زبان استانداردی که می تواند در بلاک چین اتریوم مستقر شود. این زبان بسیار شبیه یک زبان برنامه نویسی مدرن مانند جاوا اسکریپت است و توابع، اشیاء، وراثت، و تقریباً هر چیزی که کد را شبیه جاوا، سی یا جاوا اسکریپت می کند، با براکت مجعد ارائه می دهد.

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

بسیاری این زبان را Turing-complete می نامند، یک اصطلاح فنی که به این معنی است که می توانید هر چیزی را که ممکن است در سایر زبان های اصلی ایجاد کنید بنویسید. در عمل، کد اتریوم تنها زمانی می‌تواند اجرا شود که با استفاده از یک ارز داخلی به نام «گاز»، زمان را برای گره‌ها پرداخت کنید – و مقدار گازی که می‌توانید استفاده کنید کاملاً محدود است.

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

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 تکنیک برتر مهندسی عملکرد که کار می کنند ، عملی کنید.

راز جذب ثروت...
ما را در سایت راز جذب ثروت دنبال می کنید

برچسب : نویسنده : نیما شاهرخ شاهی بازدید : 1428 تاريخ : چهارشنبه 9 فروردين 1402 ساعت: 11:08