Sui 的下一个版本 V0.28 引入一些不兼容更新,包括新增功能和调整原有功能,可能需要更新您的应用或调整程序,才能正常运行。
要了解如何更新您的项目以适用 V0.28 版本中的相关调整,请参阅Sui Migration Guide 迁移指南。
2023 年 3 月 20 日增加以下条目:
【重要不兼容更新】- Sui 现在使用flag||pubkey中 Blake2b 哈希的前 32 个字节来计算SuiAddress而不是 SHA3_256 哈希。有关详细信息,请参阅PR 9262。
【重要不兼容更新】- 此版本用新的sui_getLatestSuiSystemState函数代替了sui_getValidators和sui_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 引用,除非客户端请求明确指定其他数据,例如type、owner或bcs。要了解更多信息,请参阅PR 8817。
【重要不兼容更新】- 在管理 Sui Move 代码中各UID使用的 ID 泄漏校验已被重写和推翻,新的 Object 现在必须获得在创建 Object 的函数中创建的“全新”UID,但是当 Object 的结构被销毁时,UID 可以像 Object 被包装一样存储(但没有它的内容)。相比之下,之前的规则规定UID可以来自任何地方,但必须在 Object 被解包时被销毁。我们进行此更改是为了使动态字段的使用更符合人体工程学,因此如果您希望在将 Object 解包到其构成字段后保留对动态字段的访问权限,则并不总是需要Bag或Table。有关详细信息和迁移示例,请参阅PR 8026。
【重要不兼容更新】- 新的 Programmable Transactions 功能引入了一种新型交易,它取代了批处理交易和普通交易(特殊系统交易除外)。这些交易允许执行一系列命令(各种 mini transaction),其中命令的结果可用于后续命令。有关详细信息,请参阅ProgrammableTransactionsRFC。
【重要不兼容更新】- SuiAddress和ObjectID现在是 32 字节长而不是 20 字节(在十六进制中len从 40 增加到 64)。如果您的软件与任何ObjectID和SuiAddress交互,您必须更新它以使用更新的地址并重新部署它。请参阅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::ecrecover和ecdsa_k1::secp256k1_verify现在要求您输入原始信息而不是哈希后的信息。您还必须提供由 u8 数组表示的 hash_function 名称。有关详细信息,请参阅PR 7773。
【重要不兼容更新】- ValidatorMetadata函数现在包含一个 p2p_address 字段,该字段的值是验证节点用于 P2P 活动(例如状态同步)的地址,要了解更多信息,请参阅PR 8636。
【交易格式重要不兼容更新】- 向TransactionData添加一个新的过期时间字段,以允许用户指定交易到期的时间,这意味着验证节点将不再有资格签署和执行。在此版本中,过期时间字段唯一受支持的值是 epoch。如果未提供,则不会为关联交易设置过期时间。
【次要不兼容更新】- 此版本修改了ConsensusCommitPrologue交易的格式。这是一个系统生成的交易,它更新Clock Object 上的时间戳,允许 Sui Move 智能合约从链上读取最新的时间戳。
【次要不兼容更新】- 从 Sui Framework 中删除了bulletproofs和elliptic_curve模块。有关详细信息,请参阅PR 8660。
【次要不兼容更新】- 从 Sui Framework 架中删除了Randomness,从 JSON RPC 中删除sui_tblsSignRandomnessObject。有关详细信息,请参阅PR 8977。
【次要更新】- PoP 的生成发生了变化,改变了创世快照,因为所有验证 PoP 现在都在validator::validate_metadata中完成,它还删除了bls12381::bls12381_min_sig_verify_with_domain和validator::verify_proof_of_possession。
【API 重要不兼容更新】- GetTransaction API重构
有关详细信息,请参阅PR 8888。
【API 重要不兼容更新】- sui_executeTransactionBlock重构
要了解更多信息,请参阅PR 9068。
【RPC API 重要不兼容更新】- JSON-RPC 治理 API 的各种变化:
有关详细信息,请参阅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。这是因为验证节点不能再保证返回交易认证。此版本还统一了SuiTransactionBlockResponse和SuiExecuteTransactionResponse以简化 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_getTransactionBlock和sui_submitTransaction最终返回的SuiTransactionBlockResponse中。有关详细信息,请参阅PR 7822。
【API 重要不兼容更新】- StakedSui Object 现在包含质押池的 ID,pool_id。有关详细信息,请参阅PR 8371。
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.
【相关文章】
本文地址:https://www.qubaike.com/qlk/tj1bhnzu.html
声明:本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。