Sui V0.28 版本中的重要更新

首页 > 区块链2023-03-31 15:45:45
OKX欧意app
欧意app

欧意是知名虚拟币交易所,提供上百种虚拟币交易平台。

APP下载  官网地址
导读:Sui V0.28 版本中的重要更新?以下是小编为大家带来的介绍。

Sui 的下一个版本 V0.28 引入一些不兼容更新,包括新增功能和调整原有功能,可能需要更新您的应用或调整程序,才能正常运行。

要了解如何更新您的项目以适用 V0.28 版本中的相关调整,请参阅Sui Migration Guide 迁移指南。

2023 年 3 月 20 日增加以下条目:

【重要不兼容更新】- Sui 现在使用flag||pubkey中 Blake2b 哈希的前 32 个字节来计算SuiAddress而不是 SHA3_256 哈希。有关详细信息,请参阅PR 9262。

【重要不兼容更新】- 此版本用新的sui_getLatestSuiSystemState函数代替了sui_getValidatorssui_getSuiSystemState函数。新函数返回一个平铺类型,其中包含来自链上最新SuiSystemState Object 的所有信息,类型为SuiSystemStateSummary。它还包含一个SuiValidatorSummary类型的数组,该数组汇总来自每个验证节点的信息,包括:元数据、质押池和其他数据。此版本还在每个验证节点的元数据中添加了一个p2p_address,该字段的值是验证节点用于 P2P 活动(例如状态同步)的地址。

【重要不兼容更新】- 此版本更改了 Sui Object 类型的序列化格式。Sui 现在对Coin<SUI>、Coin<T>StakedSui等常见类型使用更紧凑的序列化格式,将 Object 大小减少多达 40%。这一类型的 Object,将降低存储时的 gas 成本。这不会影响使用 JSON-RPC API 读取函数的客户端,但直接读取原始 Sui Object 的客户端需要了解新的类型编码。请注意,Sui Move 结构的编码保持不变。有关详细信息,请参阅PR 9055。

【重要不兼容更新】- sui_getObject端点现在采用SuiObjectDataOptions类型的附加配置参数来控制端点所检索的字段。默认情况下,端点仅检索 Object 引用,除非客户端请求明确指定其他数据,例如typeownerbcs。要了解更多信息,请参阅PR 8817。

【重要不兼容更新】- 在管理 Sui Move 代码中各UID使用的 ID 泄漏校验已被重写和推翻,新的 Object 现在必须获得在创建 Object 的函数中创建的“全新”UID,但是当 Object 的结构被销毁时,UID 可以像 Object 被包装一样存储(但没有它的内容)。相比之下,之前的规则规定UID可以来自任何地方,但必须在 Object 被解包时被销毁。我们进行此更改是为了使动态字段的使用更符合人体工程学,因此如果您希望在将 Object 解包到其构成字段后保留对动态字段的访问权限,则并不总是需要BagTable。有关详细信息和迁移示例,请参阅PR 8026。

【重要不兼容更新】- 新的 Programmable Transactions 功能引入了一种新型交易,它取代了批处理交易和普通交易(特殊系统交易除外)。这些交易允许执行一系列命令(各种 mini transaction),其中命令的结果可用于后续命令。有关详细信息,请参阅ProgrammableTransactionsRFC。

【重要不兼容更新】- SuiAddressObjectID现在是 32 字节长而不是 20 字节(在十六进制中len从 40 增加到 64)。如果您的软件与任何ObjectIDSuiAddress交互,您必须更新它以使用更新的地址并重新部署它。请参阅PR8542。

【重要不兼容更新】- 此版本对交易和交易执行引入了几个限制。其中许多限制可能会在 Sui 主网之前发生变化。要查看 V0.28 版本中的限制列表,请参阅源代码。

【重要不兼容更新】- 更改 Gas 预算以使用 Sui 而不是 Gas 单位。这从任何与用户相关的 API 操作中删除了 Gas 单位的概念。这不会更改TransactionData(u64) 的格式。从当前格式不再有效的意义上说,这不是重大调整,而是要求您重新考虑如何使用 Gas 预算。

【重要不兼容更新】- 在发布 V0.28 之前,交易需要某一 Coin 来支付 gas 费,有时需要用户在完成交易之前进行单独的交易(例如PaySui)来合并 Coin,这也会增加交易成本。此版本将在TransactionData中的字段值类型从gas_payment:ObjectRef更改为gas_payment:Vec<ObjectRef>,其中Vec<ObjectRef>是拥有的 SuiObject 的非空向量。这将所有 Coin 组合成一类 Coin,使用向量中第一个 Coin 的ObjectID表示该合集中的所有硬币。

【重要不兼容更新】- ecdsa_k1::ecrecoverecdsa_k1::secp256k1_verify现在要求您输入原始信息而不是哈希后的信息。您还必须提供由 u8 数组表示的 hash_function 名称。有关详细信息,请参阅PR 7773。

【重要不兼容更新】- ValidatorMetadata函数现在包含一个 p2p_address 字段,该字段的值是验证节点用于 P2P 活动(例如状态同步)的地址,要了解更多信息,请参阅PR 8636。

【交易格式重要不兼容更新】- 向TransactionData添加一个新的过期时间字段,以允许用户指定交易到期的时间,这意味着验证节点将不再有资格签署和执行。在此版本中,过期时间字段唯一受支持的值是 epoch。如果未提供,则不会为关联交易设置过期时间。

【次要不兼容更新】- 此版本修改了ConsensusCommitPrologue交易的格式。这是一个系统生成的交易,它更新Clock Object 上的时间戳,允许 Sui Move 智能合约从链上读取最新的时间戳。

【次要不兼容更新】- 从 Sui Framework 中删除了bulletproofselliptic_curve模块。有关详细信息,请参阅PR 8660。

【次要不兼容更新】- 从 Sui Framework 架中删除了Randomness,从 JSON RPC 中删除sui_tblsSignRandomnessObject。有关详细信息,请参阅PR 8977。

【次要更新】- PoP 的生成发生了变化,改变了创世快照,因为所有验证 PoP 现在都在validator::validate_metadata中完成,它还删除了bls12381::bls12381_min_sig_verify_with_domainvalidator::verify_proof_of_possession

【API 重要不兼容更新】- GetTransaction API重构

  • [RPC] sui_getTransactionsui_multiGetTransaction现在接受一个名为options的附加可选参数,该参数指定要检索的字段(例如transactioneffectsevents等)。默认情况下,这些操作仅返回交易签名。
  • [TS SDK] 将provider.getTransactionWithEffects重命名为provider.getTransactionResponse。新函数采用新增参数SuiTransactionResponseOptions,以配置要检索的字段(例如transactioneffectsevents等)。默认情况下,此函数仅返回交易签名。

有关详细信息,请参阅PR 8888。

【API 重要不兼容更新】- sui_executeTransactionBlock重构

  • 删除了sui_executeTransactionSerializedSigsui_submitTransaction操作。
  • sui_executeTransaction操作现在采用签名数组而不是单个签名来支持 Sponsored Transactions。

要了解更多信息,请参阅PR 9068。

【RPC API 重要不兼容更新】- JSON-RPC 治理 API 的各种变化:

  • sui_getDelegatedStakes升级为新的质押流程
  • 通过质押池对所有StakedSui进行分组,以减少响应中重复的验证节点信息
  • 改进ValidatorMetadata响应,使其更易于阅读,这也会影响getSuiSystemState
  • 使SuiSystemState JSON 响应camelCased
  • 为 Sui 初始化设置添加了 — epoch-duration-ms选项,用于配置本地网络 epoch 时长周期

有关详细信息,请参阅PR 8848。

2023 年 3 月 20 日添加以下条目:

【API 重要不兼容更新】- 在传递给任何签名 API 之前,必须将有效签名提交给消息的 Blake2b 哈希。如果在别处创建签名,请确保首先对交易数据进行哈希处理。有关详细信息,请参阅PR 9561。

【API 重要不兼容更新】- 此版本删除了对用于质押锁定 Coin 的支持,并修改了 StakedSui Object 的结构以删除锁定周期字段。有关详细信息,请参阅PR 9046。

【API 重要不兼容更新】- 所有在其名称中包含delegation的函数都使用stake替代,例如,request_add_delegation现在是request_add_stake。有关详细信息,请参阅PR 9059。

【API 重要不兼容更新】- 此版本将 SuiTransactionBlockResponse中的SuiCertifiedTransaction替换为SuiTransactionBlock。这是因为验证节点不能再保证返回交易认证。此版本还统一了SuiTransactionBlockResponseSuiExecuteTransactionResponse以简化 API。有关详细信息,请参阅PR 8369。

【API 重要不兼容更新】- 更新动态字段名称的结构,使其更容易在sui_getDynamicFieldObject中使用。有关详细信息,请参阅PR 7318

【API 重要不兼容更新】- 此版本从 Transaction Builder API 中删除了request_switch_delegation函数。它还从 Sui SDK 的验证节点集合类型中删除了pending_delegation_switches字段。有关详细信息,请参阅PR 8435。

【API 重要不兼容更新】- 为了减少 Sui 全节点同步负载的大小,此版本从TransactionEffect中删除了事件。这些事件仍包含在sui_getTransactionBlocksui_submitTransaction最终返回的SuiTransactionBlockResponse中。有关详细信息,请参阅PR 7822。

【API 重要不兼容更新】- StakedSui Object 现在包含质押池的 ID,pool_id。有关详细信息,请参阅PR 8371。

关于 Sui Network

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

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


Sui V0.28 版本中的重要更新 was originally published in Sui Network CN on Medium, where people are continuing the conversation by highlighting and responding to this story.

币安Binance
币安Binance

币安交易所app是全球顶尖的虚拟货币交易平台。

APP下载  官网地址
上一篇

热门阅读