Допис
Діліться своїми знаннями.
Все, що вам потрібно знати про переміщення реєстру
Якщо ви розробник в екосистемі Sui або тільки починаєте вивчати силу мови Move, настав час ознайомитися з чимось, що повністю змінить те, як ви керуєте, інтегруєте та довіряєте смарт-контрактам:Move Registry (MVR).
Розроблена Mysten Labs,** MVR**- це система управління пакетами в ланцюжку - схожа на npm для Move - але створена спеціально для децентралізованого, складеного світу Sui. Це приносить розум і структуру в простір, який раніше відчувався хаотичним і загадковим. Більше не копати адреси об'єктів. Більше не потрібно здогадуватися, яку версію пакета ви використовуєте. За допомогою MVR ви працюєте зі справжніми іменами, надійними метаданими та прозорістю ланцюга за замовчуванням.
Крім того, це не просто реєстр. Це інфраструктура для радикально сумісного світу.
#Біль перед МВР
До MVR виклик зовнішніх пакунків у Move був схожий на розгортання необроблених шестигранних рядків.
Вам доводилося вручну копіювати та вставляти довгі адреси об'єктів, відстежувати оновлення версій вручну та молитися, щоб не змішували середовища під час перегортання між тест-мережею та основною мережею. Досвід розробника, хоча і потужний, точно не був зручним для початківців. Це навіть не було зручним для розробників.
Це тертя не просто витрачало час. Це запровадило помилки, сповільнило впровадження та ускладнило підтримку кодових баз, особливо в командах.
Можливо, ви написали таку транзакцію:
transaction.moveCall({
target: "0xe177697e19...::accessories::equip",
typeArguments: [
"0x80d7de9c4a5...::suifren::SuiFren<0x297d8a...::bullshark::Bullshark>"
],
arguments: [...]
});
Ви б не мали уявлення, що насправді означає кожна з цих адрес, якщо ви не ретельно їх задокументували, і давайте будемо чесними, ми це робимо рідко.
#Введіть реєстр переміщення
MVR вирішує все це. За допомогою MVR вам більше не потрібно запам'ятовувати або керувати необробленими адресами об'єктів. Замість цього ви пишете:
transaction.moveCall({
target: "@suifrens/accessories::accessories::equip",
typeArguments: [
"@suifrens/core::suifren::SuiFren<@suifrens/core::bullshark::Bullshark>"
],
arguments: [...]
});
Читається. Відстежується. Семантичний. Ось як виглядає дизайн розробника в першу чергу.
Але MVR виходить за рамки назв. Він вводить реальний пакетверсія,вирішення залежностітаметадані onchain, що дозволяє міркувати про код, який ви імпортуєте. Ви можете заблокувати певну версію, стежити за останньою стабільною версією та легко тестувати в мережах без перезапису коду.
Оскільки він інтегрований зSUINS, кожне ім'я пакета є перевіреним, належним у ланцюжку та стійким. Ніхто не може його підробляти. Ви володієте тим, що публікуєте.
#Реальне використання, реальна прозорість
Однією з найбільших перемог, яку приносить MVR, єпомітність.
У Web2 у нас були зірки та вилки. У Web3 нам потрібно більше, ніж це. MVR відстежуєреальне використання в ланцюжкуне лише завантаження, алефактичні взаємодії, залежності та непрямі відносини. Це означає, що незабаром ви зможете побачити, які пакети насправді використовуються у виробництві, які з них можна скласти, і хто будує фундаментальні бібліотеки, які живлять всю екосистему Sui.
Mysten Labs навіть запускаєглобальну таблицю лідерів MVR, щоб виділити, які пакети є найбільш надійними та повторно використовуваними, надаючи менеджерам належну заслуженість, а будівельникам впевненість, яка їм потрібна при виборі залежностей.
##Метадані, які мають значення
Кожен пакет MVR може містити більше, ніж код. Ви можете пов'язати запис реєстру з вашим репозиторієм GitHub, документами, логотипом, веб-сайтом і навіть контактною точкою. Це полегшує командам перевіряти, що вони інтегрують, авторам зв'язатися, а екосистемі зрозуміти, хто чим володіє.
Це також допомагає захиститися від шкідливих клонів та кодови�� баз rugpull, які претендують на те, що вони не є. З належними метаданими та власністю в ланцюжку довіра також стає складаною.
##Для розробників, від розробників
MVR побудований з урахуванням розробника. Це не якийсь абстрактний стандарт або «зрештою корисний» інструмент. Це те, що ви можете використати**прямо зараз, щоб очистити свої контракти, покращити ремонтопридатність та спростити робочі процеси інтеграції.
Якщо ви пишете багаторазові бібліотеки, зареєструйте їх на MVR. Якщо ви створюєте виробничу програму, перейдіть на іменовані пакети. Якщо ви працюєте з іншими командами, зробіть MVR частиною контрольного списку запуску.
Мова йде не тільки про відкритість. Йдеться про масштабування співпраці у відкритій екосистемі.
##Під капюшоною
Переміщення реєстру (абоMVR, вимовляється * «mover» *) працює як єдина служба іменування та реєстр як уMainnet, так іTestnet. Незалежно від того, чи пишете ви PTB, складаєте складні типи переміщення або інтегруєте сторонні пакети, MVR вирішує складну частину: зіставлення чистих імен до правильних адрес ланцюга.
Ви можете:
- Посилання як пакетів, так і типів за назвою.
- Автоматично вирішувати залежності.
- Заблокувати версії - або кататися на останньому потоці оновлень.
- Плавно переміщатися між мережами.
Якщо ви не вкажете версію, MVR за замовчуванням матиме останню доступну версію, що робить оновлення безперебійними для багатьох випадків використання.
Існує також резервна стратегія стійкості: оскільки MVR наразі працює наекспериментальному індексіру, розробникам рекомендується структурувати програми так, щоб навіть якщо індексатор тимчасово не працює, критична функціональність не зламається. Ви можете:
- Використовуйте резервні адреси в інтеграції TypeScript SDK.
- Дизайн для часткової доступності.
- Відстежувати репозиторій реєстру для оновлень і поліпшень.
А веб-інтерфейс доступний за адресою moveregistry.com/apps - де ви можете зареєструватися, досліджувати та інтегрувати пакети з усієї екосистеми.
- Sui
- Architecture
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- ... SUIBigSneh+1339
- ... SUISuiLover+1273
- ... SUI0xduckmove+1207
- ... SUIThorfin+1202
- ... SUIOwen+970
- ... SUIharry phan+849
- ... SUIMeaning.Sui+675
- Чому BCS вимагає точного порядку полів для десеріалізації, коли структури Move мають названі поля?53
- Помилки перевірки кількох джерел» у публікаціях модуля Sui Move - автоматичне вирішення помилок43
- Невдала операція Sui: об'єкти, зарезервовані для іншої транзакції25
- Як обмеження здібностей взаємодіють з динамічними полями в гетерогенних колекціях?05