شبکه R3E از کامپایلر Neo Solidity برای استقرار قراردادهای سالیدیتی روی Neo N3 رونمایی کرد
به گزارش مالی3، شبکه R3E از توسعه یک ابزار جدید برای اکوسیستم Neo خبر داد؛ ابزاری که میتواند مسیر ورود توسعهدهندگان سالیدیتی به این شبکه را هموار کند. جیمی لیائو، بنیانگذار و توسعهدهنده اصلی R3E، اعلام کرده است که این تیم در حال ساخت کامپایلری است که قراردادهای هوشمند Solidity نسخه 0.8.x را به بایتکد سازگار با Neo N3 تبدیل میکند. این ابزار با عنوان «Neo Solidity Compiler» معرفی شده و هدف آن فراهم کردن امکان استقرار مستقیم قراردادهای نوشتهشده با سالیدیتی روی شبکه Neo N3 است.
Neo Solidity چیست و چه کاربردی دارد؟
کامپایلر Neo Solidity ابزاری است که کد منبع Solidity را دریافت کرده و آن را به فایلهای بایتکد با فرمت .nef و همچنین فایلهای مانیفست .manifest.json سازگار با Neo N3 تبدیل میکند. این پروژه عمدتاً با زبان Rust توسعه یافته و شامل زیرساختهای آزمایشی برای پشتیبانی از قابلیتهای پایه و پیشرفته Solidity است.
هدف اصلی این پروژه، جذب توسعهدهندگان فعال در اکوسیستم Ethereum است تا بتوانند بدون نیاز به یادگیری زبانهای بومی Neo، با همان دانش سالیدیتی روی شبکه Neo N3 توسعه انجام دهند. کامپایلر همچنین الگوهای استاندارد ERC-20 و ERC-721 را شناسایی کرده و آنها را به استانداردهای معادل Neo یعنی NEP-17 و NEP-11 نگاشت میکند.
توسعهدهندگان هنگام کامپایل قراردادها میتوانند از میان چهار سطح بهینهسازی انتخاب کنند. این ابزار از طریق رابط خط فرمان اجرا میشود و قابلیت ادغام با فریمورکهای رایج توسعه اتریوم مانند Hardhat و Foundry را نیز فراهم میکند.
تفاوت با Neo X
در این گزارش تأکید شده است که Neo Solidity با پروژه Neo X تفاوت دارد. Neo X یک زنجیره جانبی سازگار با EVM است که قراردادهای سالیدیتی را بدون تغییر اجرا میکند. اما Neo Solidity رویکرد متفاوتی دارد؛ در این روش، کد سالیدیتی مستقیماً به بایتکد سازگار با NeoVM تبدیل شده و به صورت بومی روی شبکه اصلی Neo N3 مستقر میشود، نه روی یک زنجیره جانبی جداگانه.
معماری فنی کامپایلر
فرایند کامپایل در این پروژه چند مرحلهای است. ابتدا کد Solidity به نمایش میانی Yul تبدیل میشود. سپس تحلیل معنایی برای بررسی نوع دادهها و اعتبارسنجی ساختار انجام میگیرد. در ادامه، یک بهینهساز چندسطحی تبدیلهای خاص Neo را اعمال میکند و در نهایت بایتکد NeoVM و فایل مانیفست تولید میشود.
این کامپایلر دارای کتابخانه زمان اجرا نیز هست که مدیریت حافظه، عملیات ذخیرهسازی، رمزگذاری ABI و توابع رمزنگاری را فراهم میکند تا رفتار قراردادها تا حد ممکن مشابه محیط EVM باشد.
قراردادهای نمونه و قابلیتها
مخزن پروژه شامل چندین قرارداد نمونه است که کارایی کامپایلر را نشان میدهد. از جمله این نمونهها میتوان به پیادهسازی توکن WGAS مطابق با استاندارد NEP-17، استخر وام فلش با ساختاری مشابه Aave V2، بازارساز خودکار با طراحی مشابه Uniswap V2، قرارداد TokenVesting با ساختاری نزدیک به VestingWallet و همچنین نمونههایی از سیستمهای وامدهی و حاکمیتی اشاره کرد.
طبق اعلام تیم توسعه، تمامی این قراردادها در محیط Neo Express مستقر و آزمایش شدهاند.
وضعیت توسعه و محدودیتها
بر اساس مستندات رسمی، هسته کامپایلر حدود 85 درصد تکمیل شده و آماده استفاده در محیط تولید توصیف شده است. کتابخانه زمان اجرا، ابزارهای توسعهدهنده و مستندات نیز به ترتیب در مراحل پیشرفته توسعه قرار دارند.
با این حال، برخی محدودیتها همچنان وجود دارد. پشتیبانی از بارگذاری بیش از حد توابع بهصورت کامل انجام نشده و برخی گزینههای فراخوانی EVM پذیرفته میشوند اما نادیده گرفته میشوند. همچنین انتقال ارزش غیر صفر نیازمند استفاده از تماسهای بومی NEP-17 است. دقت محاسبه گاز نیز در حال حاضر حدود هشتاد درصد اعلام شده است.
در مجموع، معرفی Neo Solidity میتواند گامی مهم در همگرایی بیشتر اکوسیستمهای اتریوم و Neo باشد و مسیر جدیدی برای توسعه قراردادهای هوشمند در شبکه Neo N3 ایجاد کند.

نظرات کاربران