Sui officially releases a permanent testnet, how will it improve the developer experience?
Original Title: "Sui Officially Releases 'Sui Permanent Testnet'"
Author: Sui Network
The long-awaited 'Sui Permanent Testnet' has finally arrived! Unlike the previous testnets Wave 1 and Wave 2, this version of the testnet will run long-term, be decentralized, and permissionless, and it will continue to operate even after the mainnet goes live.
With the launch of this version of the network, some important feature updates will be brought to the community.
Core Network
Dynamic Validator Node Set Candidate validator nodes that meet the staking requirements can join the network at epoch boundaries, and validators that have joined can leave the network at epoch boundaries. This validator node model truly achieves permissionlessness. Protocol Software and Sui Framework Upgrade Support Unlike Devnet, the Testnet will not be wiped with each software update (unless in special circumstances). If a software update or data wipe is planned on the testnet, the community will be notified in advance. Full Nodes Can Be Restored from Data Snapshots Node operators can quickly start full nodes using checkpoints, rather than waiting for full nodes to sync from scratch. Address and Signature Updates Account addresses, object IDs, and transaction IDs have been upgraded from 20 bytes to 32 bytes to avoid hash collisions. Additionally, considering performance optimizations, the default hash function has been updated from SHA3 to Blake2b. To support large-scale transactions, digital signatures now use hash signatures instead of serialized BCS data, enabling compatibility between Sui and hardware wallets, where the signing API typically has very limited input size.
Developer Experience To realize the vision of making Sui the most developer-friendly platform, we view the permanent testnet as an important milestone, referred to as Sui DevX 1.0, with core developer primitives:
Gather developer feedback
Improve infrastructure to enhance Sui developer efficiency
Achieve a decentralized but not fragmented Sui ecosystem
Developer Primitives Include: Programmable Transaction Blocks This data structure can chain a series of transactions together, including splitCoin, mergeCoins, transferObjects, moveCall, makeMoveVec, and publish, to create custom atomic transaction blocks that better meet application needs. Therefore, moveCall can customize calls to existing on-chain functions, and programmable transaction blocks essentially provide transaction composability, enhancing the universality of the Sui Move programming model.
It also simplifies gas fee management, allowing applications to pass in an array of Coin Objects as gas fees and execute the splitting/merging of Coins within the programmable transaction block without having to select Coins before submission. Sponsored Transactions & Gas Station Since the launch of version V0.27, sponsored transactions have been supported, and we are excited to announce that Shinami's gas station (guide, API) is now available for Sui's permanent testnet! Object Display Standard Using a set of naming templates to standardize the off-chain display of the same type of Object. Sui Explorer and Sui Wallet now support the Object Display standard. Sui APIs and Typescript/Rust SDKs also support the Object Display standard. This data structure was completed through multiple communications and collaborative writing efforts from the Sui community, with special thanks to Capsules and OriginByte for their contributions to this standard. Kiosk Standard Kiosk is a powerful new module that supports listing Objects for sale and executing creator-defined royalty policies when Objects are sold. The combination of Object Display and Kiosk fills two key gaps in building collectibles and trading platforms on Sui. We encourage ecosystem wallets, browsers, and marketplaces to explore the Object Display standard and Kiosk standard for seamless compatibility across the ecosystem. RPC Revamp There are now more aggregation-based RPC get* functions: getEpoch, getNetworkMetrics, getMoveCallMetrics, queryObjects. JSON RPC batch requests have been deprecated, replaced by MultiGet* methods. System events have been deprecated, replaced by dedicated fields in transaction responses. Finally, some legacy RPC functions (marked with unsafe_*) have been deprecated, replaced by Programmable Transaction Blocks. Zero-Knowledge Proofs Move API now supports verifying Groth16 ZKP using the BN254 elliptic curve and BLS12-381 (the two most widely used curves). This provides computational proofs in Sui smart contracts and supports privacy-preserving applications. Two Granularity of Timestamps A fine-grained clock (Clock) module supports 2-3 second granularity for near-real-time applications, as well as a coarse-grained Epoch timestamp. Move Package Upgrade This is a fundamental feature that enables developers to update Move contract dependencies related to package updates. Contract updates will be launched in the next update on the testnet (tentatively scheduled for the first week of April)! Stay tuned!
In addition to using Devnet and Testnet, we also encourage developers to use local environments for development and iteration. The sui-test-validator binary has been improved to assist with local development processes.
Devnet vs. Permanent Testnet The following table lists the differences between Devnet and the permanent testnet (as of the time of writing this article). Join the Action As you can see, many powerful new features can now be implemented on a decentralized and permissionless network. If you are interested in becoming a validator node or full node operator, we sincerely welcome you to join the network. If you are an application developer, we are eager to see your creativity on Sui DevX 1.0 (especially regarding programmable transaction blocks and sponsored transactions)!
Thank you for being a part of the Sui community, and we sincerely appreciate your contributions to the future Sui mainnet.
Sui is a Layer 1 public chain redesigned and built from first principles, aimed at providing a development platform capable of supporting the next billion users in Web3 for creators and developers. Applications on Sui are based on the Move smart contract language and feature horizontal scalability, allowing developers to support a wide range of application development quickly and at low cost.