Sui — це публічна мережа L1, перероблена та побудована на основі перших принципів, спрямована на створення платформи розробки, здатної вмістити наступний мільярд користувачів у Web3 для творців і розробників.
Цього року рідна мова програмування Sui Move зазнала значних оновлень та модернізацій. Версія 2024 року представляє такі важливі функції, як переліки, макрофункції, синтаксис методу тощо. Ці важливі нові функції представляють нові способи визначення даних і виклику функцій в мові програмування Move, роблячи розробку додатків на Sui більш гнучкою і відповідає останнім очікуванням мов програмування.
Яка ключова роль мови Move в екосистемі Sui? Фактично, вся екосистема Sui побудована на основі трьох ключових концепцій, що забезпечують миттєві розрахунки за транзакціями та низькі транзакційні витрати — трьома основними стовпами є мова Move, паралельне виконання транзакцій та механізм консенсусу Sui.
Додатки на Sui засновані на мові смарт-контрактів Move, яка зосереджена на смартконтракти і повністю використовує масштабованість і середовище високої пропускної здатності Sui, дозволяючи розробникам швидко і економічно підтримка широкий спектр додатків.

У попередніх статтях ("Як Sui створює наступну платформу розробки для Web3 мільярдів користувачів?") TinTinLand детально представив базову ситуацію технічних переваг Sui, перспектив ринку та екологічного будівництва. Сьогодні ми зануримося в базовий шар Sui - мову Move, досліджуючи її унікальний стиль, який відрізняється від інших мов програмування блокчейну.

Мова Move на Sui дозволяє створювати індивідуальні смартконтракти, адаптовані до конкретних випадків використання, допомагаючи вдосконалювати різні процеси, пов'язані з розробкою та впровадженням проектів і додатків, а також допомагаючи зменшити витрати, пов'язані з традиційними посередниками. Очікується, що завдяки цьому більше розробників і користувачів увійдуть в екосистему Sui.
Крім того, дизайн мови Sui Move запобігає подвійні витрати. Таким чином, це може допомогти Sui створити одну з найбезпечніших платформ смарт-контрактів, усуваючи та покращуючи недоліки, властиві існуючим мовам програмування криптовалют.
Перш ніж розробити мову Move, Сем провів кілька місяців, ретельно вивчаючи Solidity і EVM. Він вважав, що мови смарт-контрактів повинні бути більше схожі на мови для конкретної предметної області (DSL), а не на мови програмування загального призначення. Ці мови зосереджені на конкретних завданнях, таких як створення об'єктів, передача та обмін об'єктами, а також виконання перевірок контролю доступу. Основні абстракції програмування смарт-контрактів повинні обертатися навколо цих завдань, щоб забезпечити безпеку та ефективність.

В результаті, Сем і його команда вирішили розробити нову мову під назвою Move замість того, щоб намагатися переглянути існуючі технології, такі як EVM або Solidity. Move починається з коду B і включає в себе такі функції, як безпека пам'яті, безпека типів, безпека ресурсів і зручна робота з об'єктами/активами.
Після успішного створення мови Move наступним важливим кроком є залучення більшої кількості розробників до використання Move для розробки шляхом надання привабливих стимулів. За їхніми словами, подолання таких бар'єрів, як складне керування ключами, встановлення гаманця та придбання нативних токенів, має вирішальне значення для залучення розробників.
Тому мета команди розробників Move полягає в тому, щоб перетворити ці проблеми на технічні проблеми, надаючи такі функції, як вхід у ZK, що дозволяє здійснювати транзакції без необхідності встановлювати гаманці та дозволяє транзакціям спонсорів сплачувати комісію за транзакції для інших, тим самим дозволяючи розробникам досліджувати багатші моделі доходу.
Мова Move в екосистемі Sui, яка є об'єктно-орієнтованою з такими функціями, як глобальне сховище, адресне представлення ідентифікаторів об'єктів та глобально унікальні ідентифікатори об'єктів, формує основу для інших технологічних інновацій у Sui.
Основні переваги мови Move
До основних переваг мови Move, що використовується мережею Sui, можна віднести:
Мова Move вводить ресурсну модель, і кожен Об'єкт розглядається як унікальна сутність, що робить його більш безпечним.
Move надає систему строгих типів і модель власності, яка допомагає виявляти та запобігати різним вразливостям під час компіляції, а також особливо підходить для обробки складних фінансових транзакцій.
Move підтримує високий ступінь модульності та компонування, дозволяючи розробникам створювати сумісні модулі та бібліотеки.
Move підтримує два основні об'єкти: смартконтракти (пакети Move, які є набором модулів Move) і цифрові активи (ресурси). Рідна підтримка ресурсів Sui виражається в таблицях перевірки байт-код. Після того, як вихідний код Move скомпільовано в байт-код, інструмент статичного аналізу під назвою Move Bytecode Verifier гарантує, що байт-код відповідає правилам безпеки типу, пам'яті та ресурсів Sui. Ця перевірка гарантує, що об'єкти не можуть бути створені, скопійовані або ненавмисно записані кодом за межами їх визначального модуля. Він також включає захист від певних вразливостей, таких як подвійні витрати та повторне входження.
*Слід зазначити, що безпека Move ґрунтується не лише на відсутності хакерських атак на сьогоднішній день; жодна мова смарт-контрактів не може перешкодити програмістам писати небезпечний код. Для виявлення таких вразливостей, як і раніше, потрібні аудити та інші перевірки.

Ключова ціннісна пропозиція Move полягає в його типізованих об'єктах і безпеці типів. Безпека типів застосовується не тільки всередині програми, але і при взаємодії із зовнішнім кодом або ненадійними джерелами.
Ще однією вбудованою функцією безпеки Move є верифікатор байт-код. Це гарантує, що байт-код смартконтракти є дійсним і безпечно виконуваним. Дизайн верифікатора байт-код призначений для запобігання виконанню шкідливого коду в ланцюжку, наприклад, створення фальшивих монет, штучного збільшення монета вартості або копіювання/спалювання існуючих монет.
Наприклад, Bucket Protocol будує DeFi проєкт на екосистемі Sui. Демонструючи архітектуру системи та її спільну роботу, вони окремо зазначили, що якщо вони напишуть проект на Solidity, це може зайняти вісім місяців, але використання Move займе лише два місяці, і вони дуже впевнені в його безпеці. Те, як працює Move, тісно пов'язане з їхнім уявленням про композицію проєкту.
Sui для стандартної мови Move
Інновації та дослідження
Sui Move еволюціонував з мови Move і призначений для кращого задоволення потреб нових високопродуктивних блокчейнів, тому він має певні відмінності від стандартної мови Move. Базуючись на стандартній мові Move, Sui використовує свою безпеку та гнучкість для значного покращення пропускної здатності та зменшення затримка остаточності, а також полегшує практику програмування Move.

Мова програмування Sui Move має безліч очевидних відмінностей від стандартного Move, серед яких:
Standard Move заснований на мові програмування Rust і є більш універсальним у порівнянні з існуючими мовами блокчейну, які часто прив'язані до конкретних блокчейнів. Мета Сема, творця мови Move, полягає в тому, щоб створити JavaScript Web3, кросплатформну мову, яка дозволяє розробникам застосовувати свої навички в кількох мережевих середовищах.

Основна увага Move зосереджена на смартконтракти, які включають типи та представлення цінності для активів та контролю доступу, дві фундаментальні концепції, з якими часто стикаються DApp розробники під час кодування. Першокласна абстракція типів Move робить програмування безпечнішим та ефективнішим.
Від Move до Sui Move
Хоча мова Move не залежить від платформи, вона обмежена моделлю, орієнтованою на рахунок. Коли Сем і його команда в Mysten Labs зосередилися на створенні Sui, вони зосередилися на створенні більш універсальної мережевої інфраструктури, а не на обмеженій сфері використання блокчейна Diem в проекті Libra.

Sui Move розроблений як відгалуження мови Move, щоб краще враховувати інновації Sui, такі як модель консенсусу, з найсуттєвішою відмінністю в прийнятті об'єктно-орієнтованої моделі зберігання даних. Використовуючи Sui Move як рідну мову програмування, мережа Sui досягає вражаючої продуктивності транзакцій за допомогою додатків, написаних на Sui Move, що використовують механізм консенсусу Sui.
Минулого року Сем докладно описав відмінності між Move і Sui Move у статті під назвою «Чому ми створили Sui Move», демонструючи функції та можливості Sui Move.
🔗 Повний текст статті читайте тут: https://blog.sui.io/why-we-created-sui-move
Зосереджуючись на об'єктах, стає можливою паралельна обробка транзакцій, пропонуючи кращу продуктивність порівняно з блокчейнами, обмеженими послідовною обробкою. На більш високому рівні середовище виконання Sui може безпосередньо визначати ексклюзивні об'єкти в порівнянні зі спільними об'єктами, виконуючи негайну перевірку на першому і застосовуючи перевірку консенсусу для другого.
З точки зору розробника, Sui усуває необхідність у великій роботі до та після транзакції, пов'язаної з володінням активами. У той час як оригінальна мова Move керує глобальним сховищем за допомогою адрес та імен типів, Sui Move використовує ідентифікатори об'єктів для глобального керування сховищем. Акцент на статусі об'єкта дає Sui Move безмежні можливості, такі як компонування, коли об'єкти можуть володіти іншими об'єктами.
Отже, як перейти від розробки зі стандартною мовою Move до Sui Move? Розробники, знайомі з оригінальним Move, додадуть дуже корисну, портативну мову до свого набору інструментів. Щоб заглибитися в Sui Move, потрібно думати з точки зору об'єктів і вивчати деякі нові інструкції, але такі інструменти, як Sui Move Analyzer і плагіни WELLDONE Code, можуть спростити цей процес.
🛠️ Плагін Sui Move Analyzer: https://zh.blog.sui.io/move-analyzer-tutorial/
🛠️ Плагін коду WELLDONE: https://zh.blog.sui.io/remix-ide-welldone-code/
🔍 Дізнайтеся більше про мовну розробку Move:
📄 Перейменувати документацію розробника: https://docs-zh.sui-book.com/concepts/sui-move-concepts/
📄 Документація для розробників Sui: https://docs.sui.io/guides/developer/sui-101
📄 Базові посібники з розробки: https://zh.blog.sui.io/encode-club-sui-series-1/





