- дата публікації
Мережа R3E представила проект компілятора Neo Solidity для Neo N3
- джерело
- сайт
- neonewstoday.com
- відкрити джерело
Джиммі Ліао, один з основних розробників і засновник R3E Network, анонсував розробку компілятора Neo Solidity, який перетворюватиме смарт-контракти Solidity 0.8.x у байт-код Neo N3.
Цей проект дозволяє розробникам писати контракти на Solidity і розгортати їх у блокчейні Neo N3. Компилятор Neo Solidity перекладає смарт-контракти Solidity в байт-код, сумісний з Neo N3, і створює файл маніфесту.
Написаний переважно на Rust, він включає тестову інфраструктуру для базових та розширених функцій Solidity.
Головною метою є спростити перехід для розробників Ethereum, дозволивши їм використовувати свої знання Solidity для роботи з Neo N3, а не вчити нові мови смарт-контрактів Neo. Компилятор приймає вихідний код Solidity 0.8.x і виводить файли .nef байт-коду та .manifest.json.
Він виявляє шаблони стандартів токенів ERC (ERC-20, ERC-721) у контрактах Solidity і відображає їх на відповідні стандарти Neo (NEP-17, NEP-11).
Розробники можуть обрати один з чотирьох рівнів оптимізації (0-3) при компіляції контрактів. На відміну від проекту Neo X, Neo Solidity компілює код Solidity в байт-код, сумісний з Neo N3, що дозволяє розгортати контракти безпосередньо в основній мережі Neo N3.
Процес компіляції включає перетворення вихідного коду в посереднє представлення Yul, семантичний аналіз для перевірки типів та оптимізацію з Neo-специфічними перетвореннями. У репозиторії проекту також містяться кілька прикладів контрактів, що демонструють функціональність компілятора.
Станом на сьогодні, основний компілятор завершено на 85%, бібліотека виконання на 75%, інструменти для розробників на 70%, а документація на 80%.
Водночас у документації вказані обмеження, такі як часткова підтримка перевантаження функцій та ігнорування деяких EVM опцій. Розробники рекомендують тестування на TestNet перед розгортанням на MainNet.