当前位置: 首页 > news >正文

Move Registry 发布,实现 Sui 的超级互操作性

Move Registry(MVR)的到来对 Sui 来说是一件大事。MVR 是一个功能齐全的链上包管理系统,提升了整个生态的可发现性、可信度和互操作性。Sui 本身就是最具互操作性的链之一,凭借 Move 语言和可编程交易区块(PTBs),Sui 构建者能够轻松利用日益扩展的生态。而有了 MVR,这种互操作性将更加强大。

如果你用过 npm 或 crates.io 等工具,你会发现一些熟悉的概念。MVR 为 Sui 带来了类似的功能,包括版本管理、依赖解析和元数据关联。它还提升了透明度,可展示实际使用数据,让你一眼就能看出各个包的使用情况。

MVR 是专为 Sui 构建的,它允许开发者通过人类可读的名称来管理包,在测试网与主网之间无缝切换,并可选择锁定特定版本或跟随最新更新。而且由于其底层集成了 SuiNS,每个包名都可验证、持久,并在链上拥有归属权。

MVR 对生态的重要意义

无论是开发者还是普通用户,MVR 都是迈向更透明、用户友好生态的重要一步。过去,集成或理解一个基于区块链的应用,往往意味着要处理冗长、难懂的对象地址。这些地址难以辨认且容易出错,尤其是在开发者需要更新包或在测试网与主网间切换时更是如此。处理一堆晦涩的标识符,本该是计算机的活,而不是人类的任务。

借助 MVR,这些复杂性都被隐藏在了幕后。开发者现在可以通过清晰的名称(如 @deepbook/core)引用包,使源代码更易理解和维护。同时,用户和生态参与者也受益于更高的透明度:哪些包在被使用、由谁维护、采用程度如何,都一目了然。这一切都增强了信任,促进了更开放的发展环境。

虽然 MVR 是基于 SuiNS 构建的,用于命名和归属,但它远不止于简单的名称与地址映射。它引入了包版本管理系统、信任信号展示和链上使用追踪等功能,使其成为真正的“注册中心”,而不仅仅是一个目录。最终,MVR 将成为 Sui 包的所有元数据的归属地,维护者、审计者和社区成员都可以在此协作,共同完善 Sui 的开源生态。

更简单的 Move 构建方式

MVR 是为互操作性而生的。Sui 的以对象为中心的架构和 Move 语言本就鼓励开发者充分利用 Sui 强大的互操作能力,MVR 进一步简化了依赖管理的方式,从而强化了这一优势。

开发者无需再在每个配置文件中复制包地址,也不必每次有更改都手动更新。现在,只需使用一个名称,MVR 就能将其解析为相应的地址。你可以选择引用某个包的最新版本,以持续获得更新,或者锁定到特定版本,以确保稳定性。在测试网与主网之间切换包的版本也变得非常简单,仅需更改网络设置,无需再为了测试新环境而修改代码。

如果你是前端开发者,可能会觉得这与你无关,但别担心:MVR 带来的是面向所有人的超级互操作性。构建 PTB 或运行读取查询时可以直接使用包名,无需频繁手动替换,减少了调用代码的混淆,同时也让你的代码更易于新开发者上手理解。

const transaction = new Transaction();
// testnet
// Notice how the suifren type has a V1 outer package id, and a V2 inner type package id,
// even if they are part of the same package upgrades.
transaction.moveCall({target: `0xe177697e191327901637f8d2c5ffbbde8b1aaac27ec1024c4b62d1ebd1cd7430::accessories::equip`,arguments: [..],typeArguments: [`0x80d7de9c4a56194087e0ba0bf59492aa8e6a5ee881606226930827085ddf2332::suifren::SuiFren<0x297d8afb6ede450529d347cf9254caeea2b685c8baef67b084122291ebaefb38::bullshark::Bullshark>`]
});// mainnet
transaction.moveCall({target: `0x54800ebb4606fd0c03b4554976264373b3374eeb3fd63e7ff69f31cac786ba8c::accessories::equip`,arguments: [..],typeArguments: [`0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1::suifren::SuiFren<0x8894fa02fc6f36cbc485ae9145d05f247a78e220814fb8419ab261bd81f08f32::bullshark::Bullshark>`]
});

使用 MVR 前的源码

const transaction = new Transaction();// Now we can use `@suifrens/core` across all package upgrades for type reference.
// And we also have the guarantee to call the latest version of the accessories package.
transaction.moveCall({target: `@suifrens/accessories::accessories::equip`,arguments: [..],typeArguments: [`@suifrens/core::suifren::SuiFren<@suifrens/core::bullshark::Bullshark>`]
})

使用 MVR 后的源码

但 MVR 的意义远不止于发布代码、管理依赖、减少开发过程中恼人的重复操作。MVR 是所有 Sui 包元数据的链上家园,包括源码、维护者联系方式,甚至图标。你,作为维护者,是 MVR 中自己元数据的拥有者和主权者。它不仅是命名工具,更是我们正在构建的去中心化 Sui 代码地图。

我们的愿景是:MVR 成为所有 Sui 包的有价值信息中心。其中最重要的信息之一就是使用情况。这些信息虽然早已存在于链上,但直到有了 MVR 才变得清晰可读。不久后我们将公布这些数据,以排行榜的形式展示 Sui 生态中最受欢迎的构建包 — — 这是全球性的 MVR 排行榜,首次全面展示哪些包正在为生态提供动力。这不仅包括直接调用的数据,还包括间接依赖关系,首次真正让库和工具包的作者获得应有的认可,给予那些为整个生态奠定基础的构建者们应有的赞誉。

为信任、透明与增长而生

MVR 呈现的是实际的链上使用数据,而不仅仅是下载量或 GitHub 星标,它能让开发者与用户对所选包更有信心。维护者可以为包关联源码仓库、网站或联系信息,便于验证真实性,并在出现问题时快速响应。这也有助于防止恶意克隆,为社区提供哪些包在持续维护的清晰视图。

MVR 不只是开发工具,它是为超级互操作世界打造的基础设施。我们正在创建的是一个链上的“集市” — — 一个真正的开源共享社区,在这里,开源代码可以被广泛分享、复用和信任。

开始使用

如果你准备好了探索,最好的起点就是 Move Registry 门户。在那里,你可以注册包名、浏览已有包,并开始将命名依赖集成到你的应用中。Move Registry 文档提供了使用 MVR 所需的一切信息,无论你是初学者还是准备迁移现有代码库。

想看详细操作流程?可参考 Onboarding Guide 指南。

参与构建 Move Registry

给所有 Move 开发者:如果你在 Sui 上维护一个包,现在就是注册的好时机。使用命名包不仅能改善整个开发体验,还能让你的代码更易被社区访问和使用。

对与合作伙伴共建的团队说:请把 MVR 纳入你的主网启动流程中。帮助合作方注册包,不仅提升了可发现性,也加强了良好的开源实践,巩固整个生态。

MVR 的使命是消除不必要的摩擦,让互操作性在 Sui 上蓬勃发展。让我们一起打造这层全新的开放基础设施吧!


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网|英文Twitter|中文Twitter|Discord|英文电报群|中文电报群

http://www.xdnf.cn/news/137323.html

相关文章:

  • 大模型微调 - transformer架构
  • flume整合Kafka和spark-streaming核心编程
  • 什么是可重入锁ReentrantLock?
  • 使用el-table表格动态渲染表头数据之后,导致设置fixed的列渲染出现问题
  • 如何在IDEA中高效使用Test注解进行单元测试?
  • Linux 怎么找Java程序的监听的端口
  • 企业级AI开发利器:Spring AI框架深度解析与实战
  • 解释器体系结构风格-笔记
  • Vuex 和 Pinia 的区别
  • 第2讲:R语言中的色彩美学——科研图表配色指南
  • 用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
  • C语言指针5
  • Swift中Class和Struct的深度对比分析
  • VS Code搭建C/C++开发环境
  • CAD版本之——DwgVersion 与 AutoCAD 版本的对应关系
  • UOJ 228 基础数据结构练习题 Solution
  • 【Java学习笔记】冒泡排序
  • 【网工第6版】第5章 网络互联⑪
  • Python 3.14:探索新版本的魅力与革新
  • 同样机身尺寸下伺服电机比无刷电机扭矩更大的原因
  • Mybatis-Plus,IDEA2024版本
  • top 命令里面可以看到进程哪些状态?
  • 浏览器常用快捷键
  • MDF标准
  • 高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
  • 关于开源大模型(如 LLaMA、InternLM、Baichuan、DeepSeek、Qwen 等)二次开发或训练经验的关键点和概述
  • Java基础第四章、面向对象
  • 从零开始用Turtle绘制分形树,数学与编程的完美结合!
  • 声音分离人声和配乐base,vocals,drums -从头设计数字生命第6课, demucs——仙盟创梦IDE
  • element-ui tabs 组件源码分享