Public Testing For The Shimmer Network Has Started
Today marks the start of the Shimmer Beta Network, a significant step towards the launch of the Shimmer network. We invite all pioneering developers, innovators, token lovers, and those seeking exciting opportunities during our bear market to come and try out the brand new Stardust protocol and its token utility features that will power the Shimmer network at launch.
Shimmer is a Layer (L1) network that together with IOTA is building a new ledger architecture, which will become the foundational layer for new scalable and composable decentralized economies. Building on IOTA's parallelized DAG (Directed Acyclic Graph) ledger known as the “Tangle”, the protocol will be upgraded through a series of releases that will add new features such as native tokenization, output types, Layer 2 smart contract networks, and (eventually) full decentralization through a leaderless consensus algorithm. Shimmer will be an innovation network with early access to cutting-edge developments in order to help validate them before they get released on the IOTA mainnet.
Today, with Shimmer's beta version, the first big milestone is released.
The first iteration of these new developments is the Stardust upgrade, which enables tokenization and smart contract chain deployment (including EVM compatibility and WASM) on the base protocol, opening up previously unforeseen levels of utility on the Tangle.
Stardust is only the first upgrade that leverages the staging network setup: modularized Coordicide components will also debut on Shimmer before being ported to the IOTA mainnet. Let’s take a step back and explore what the general protocol development and software release cycles look like.
- The first phase is research and prototyping. Conceptual designs are laid out and a prototype implementation is developed to study the solution. Once results are satisfactory, specifications are written and reviewed by the general public.
- The next step is software development and internal testing. Engineers implement necessary components in node software, libraries, and tooling according to the specifications from the previous step. Select community members are invited to take part in closed group testing once the alpha stage software is usable.
- Testing of feature-complete beta software is opened up in the form of a public testnet, namely here the Shimmer Beta Network. Any necessary bug fixes and minor improvements are carried out to increase stability. Performance measurements and benchmarking take place to determine suitable network configuration parameters.
- Software matures to release candidate status and is deployed on the Shimmer network. New protocol features are battle-tested in a live network with value ($SMR token).
- Release candidates that withstand the test of time in the Shimmer network are matured to the status of stable release and ported to the IOTA mainnet.
The Stardust upgrade has completed the first two phases and today enters the third phase, public testing, with the launch of the Shimmer Beta Network. This is the final phase before the eventual Shimmer network and token launch. It’s a great opportunity for anyone who wants to contribute to the effort or start building solutions today.
Builders: take-off in 3… 2… 1… go!
Stardust introduces something the IOTA ledger and builders have long been craving: increased utility. The new, extended UTXO ledger model makes it possible to:
- Create your own smart contract chains, essentially layer 2 blockchains on top of the Tangle that use L1 to trustlessly transact data and value between each other, fully EVM-compatible and with WASM support.
- Feelessly mint and transfer custom native tokens and NFTs directly on the base layer.
- Execute conditional transfers, for instance sending payments with an automatic bounce-back feature.
- Use the Tangle as a distributed, permissionless, always available data storage layer in exchange for locking up storage deposits.
While the tools for running the L2 blockchains (Wasp) are still in internal testing, the utility offered by the base layer can be leveraged today. An integration partner and community projects are already working on building applications on top of Stardust to support the Shimmer network on day one with custom token and NFT minting, trading, and much more.
The launch of the Shimmer Beta Network also means a feature-complete protocol, tools, and libraries to work with for developers. So what are you waiting for? It’s time to get your hands dirty, dig into Stardust’s new exciting features and build something awesome!
The Tangle Improvement Proposal (TIP) repository contains all necessary information about the Stardust upgrade and properties of the upcoming Shimmer network.
New community wiki
Read more about Shimmer and the Stardust upgrade on the new wiki site.
Hornet v2.0.0–beta.1 is the feature-complete Stardust compatible version of the Hornet node software. It contains many improvements and has been completely re-architected to ease the development of node extension applications (INX). You may write any application-specific logic as an INX extension that has direct access to the internals of a node. Even better, you may develop INX extensions in a language of your choice! A blog post outlining the new Hornet version will be published later.
The Bee node software is also Stardust ready with the core components, but tooling support is less extensive. Nevertheless, Bee can sync up and validate the new Stardust-based network. Implementing the INX interface may happen later so node extensions written in the INX framework will work with either node implementation.
Client libraries are stateless interfaces implemented in several languages to help developers interact with the network, construct blocks and send transactions.
As a developer, you may choose from the following libraries:
- Rust: iota.rs library is a stable and secure implementation of the client interface.
- Go: iota.go library is also used to build the Hornet node software.
- Python: iota.rs python bindings
- Java: iota.rs java bindings
- TypeScript: iota.js library
Wallet libraries are stateful application libraries built with the help of client libraries. The IOTA Foundation provides wallet.rs and its bindings currently available in NodeJS and Python as a general wallet backend covering most of the new protocol features of Stardust.
When it comes to wallet backend logic, there is clearly no one-size-fits-all solution. Therefore, we encourage the community to build alternative solutions, preferably in an open-source manner.
Command line wallet
CLI-Wallet is a developer tool to execute simple or conditional transfers, mint, melt and burn custom native tokens or handle NFTs all on L1. It is a wrapper around wallet.rs exposing limited functionality, so you can get a feeling of what is possible with Stardust. It is also a great tool for integration-testing your Shimmer/IOTA application. Find the latest beta release here.
A new network explorer has been developed greatly enhancing the browsing experience of historical Tangle data. Some of the newly added features are address history, associated outputs, foundry, or NFT pages. Network metrics and analytics have also been improved to show more meaningful data. The explorer for Shimmer Beta is currently available at explorer.shimmer.network and will be integrated into the main explorer in the future.
Chronicle has also been re-engineered into an INX node extension to make it easier to maintain and develop. The new permanode uses MongoDB internally in favor of the previous ScyllaDB and currently exposes three types of interfaces:
- Node Core API (TIP-25).
- History API (TIP-36) for data that has been pruned away by normal network nodes.
- Analytics API to fetch network analytics data.
Firefly Stardust is the official wallet application of the Shimmer network. Ledger hardware wallet integration will be supported from day one.
New Stardust features such as conditional transfers, native tokens, NFT support, and smart contract interaction will be added iteratively to Firefly Stardust in smaller release packages. An early build can be found here.
The IOTA Foundation provides load-balanced node API endpoints for development and testing. The API endpoints are:
- Node API: https://api.testnet.shimmer.network
- Faucet App: https://faucet.testnet.shimmer.network
- Faucet API: https://faucet.testnet.shimmer.network/api/enqueue
- Chronicle API: https://chronicle.testnet.shimmer.network
- MQTT Stream: wss://api.testnet.shimmer.network:443/api/mqtt/v1
In the coming period, the Shimmer Beta Network will be used to benchmark network performance and fine-tune network configuration parameters, such as virtual byte cost or block proof-of-work difficulty threshold. While Shimmer is meant to be a staging network for new innovations, the security of the network (and of any assets and smart contracts relying on it) is our utmost priority. We will take the necessary time to properly test the entire software stack for a successful and safe launch of the Shimmer network. After internal testing, today’s launch of the Shimmer Beta is a public continuation of this process under the scrutiny of our community.
We invite everyone, developers and builders, to try out the new Stardust protocol and help us iron out the last remaining issues before the launch. Have you noticed a bug in any of the components? In that case, please report it via the component's GitHub repository. Do you have any questions or want to share feedback – or even suggestions for improvement? Find us on our Discord.