Sui Network发布的永久测试网,在生态中扮演什么角色?
原文:SUI Foundation
编译:SUI World
今天,Sui Network 在官方推特上宣布推出永久测试网,这是一个长期运行、去中心化和无需许可的测试网,与过去的Waves 1和Waves 2测试网不同,这个新的测试网即使在主网启动后也会继续运行。通过这个永久测试网,SUI Network 将会给社区带来许多重要的功能更新。
核心网络
动态验证者集:满足足够权益要求的候选验证者可以在 epoch 边界加入网络,活跃的验证者可以在 epoch 边界离开网络,这个验证者访问模型真正实现了无需许可。
支持协议软件和 Sui 框架升级:与 Devnet 不同,Testnet 不会在每次软件更新时被删除(除非有特殊原因),在 Testnet 上任何软件更新或数据删除之前,社区将得到通知。
从数据库快照恢复全节点:节点运行者可以利用检查点快速启动全节点,而不是等待全节点同步。
地址和签名更新:账户地址、对象 ID 和交易 ID 从 20 字节升级到 32 字节,以防止哈希冲突。此外,Sui 的默认哈希函数现在是 Blake2b 而不是 SHA3,因为 Blake2b的性能更高。为了支持广泛的交易规模,签名现在应用于哈希摘要而不是序列化的 BCS 数据,这使得 Sui 与硬件钱包兼容,硬件钱包的签名者 API 通常允许有限大小的输入。
开发者经验
为了实现让 Sui 成为公链中开发者最友好平台的愿望,Sui 将这次的永久测试网视为 Sui DevX 1.0 的最早化身,其中汇集了许多核心开发人员原语和语义:
1)整个SUI 发展过程中,开发者和建设者反馈的汇集;
2)开发人员效率的基础元素将继续细化;
3)设计的目的是实现一个去中心化但不碎片化的SUI 生态系统
这些原语是:
1)可编程交易块
https://docs.sui.io/build/prog-trans-ts-sdk
这种强大的结构可以将一系列交易——splitCoin mergeCoins transferObjects moveCall makeMoveVec publish——链接在一起,以创建一个特别适合应用程序需求的自定义原子交易块。由于 moveCall 可以指定任何现有的链上功能,可编程交易块本质上提供了临时交易组合,极大的增强了 Sui Move 编程模型的通用性。
可编程交易块还简化了GAS Coin 对象管理,因为应用程序可以传入GAS Coin 对象 向量并在可编程交易块内执行 Coin 拆分/合并,而不必在提交前执行 Coin 选择。
2)赞助交易和gas station
https://docs.sui.io/learn/sponsored-transactions
虽然自SUI 0.27 版以来就支持赞助交易,现在 Shinami 的gas station
https://github.com/MystenLabs/sui/releases/tag/devnet-0.27.0
可以与 Sui 的永久测试网一起使用!
3)对象显示标准
https://docs.sui.io/build/sui-object-display
一组命名模板标准化了相同类型对象的链下显示,Sui 浏览器和 Sui 钱包现在都支持对象显示标准,Sui API 和 Typescript/Rust SDK 也支持对象显示标准。这是一项来自 Sui 社区的大量想法和头脑风暴的共同努力——特别要感谢 Capsules 和 OriginByte 以及他们对这个标准的投入。
4)Kiosk Standard
https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/kiosk.md
Kiosk 是一种功能强大的新原语,支持列出待售对象并在对象售出时强制执行创建者定义的版税政策。Object Display 和 Kiosk 的结合填补了人们在 Sui 上构建收藏品和交易平台的两个关键空白。我们鼓励生态系统钱包、浏览器和市场探索对象显示标准和 Kiosk 标准,以实现整个生态系统的无缝兼容性。
5)RPC 改造
现在有更多基于聚合的 RPC get* 方法:getEpoch、getNetworkMetrics、getMoveCallMetrics、queryObjects。JSON RPC 批处理请求已弃用,取而代之的是 MultiGet* 方法。系统事件已弃用,取而代之的是交易响应中的专用字段。最后,一些遗留的 RPC 方法(标有 unsafe_*)被弃用,取而代之的是可编程交易块。
6)零知识证明
现在有 Move API 支持使用 BN254 椭圆曲线和 BLS12-381(两种最广泛使用的曲线)验证 Groth16 ZKP。这提供了 Sui 智能合约中的计算证明,并支持隐私保护应用程序。
7)两种粒度的时间戳
https://docs.sui.io/build/move/time
一个细粒度的Clock模块,支持近实时应用程序的2-3秒粒度,以及一个粗粒度的Epoch时间戳。
8)Move Package Upgrade
这是开发者升级他们Move 智能合约和导入相关包的基本功能,移动包升级将与下一次软件更新一起在测试网上可用(暂定在4月的第一周),请保持关注!
除了使用Devnet和Testnet,我们还鼓励构建者使用本地环境进行初始开发和更快的迭代。sui-test-validator二进制文件已得到改进,以帮助本地开发。
Sui Devnet VS Testnet
下表描述了截至本文发布之日,Devnet 和永久测试网之间不同的网络特征。