- An alpha version of the IOTA smart contracts for the X-Team community is about to be launched.
- At the beginning, the two programming languages Rust and Go will be available.
As IOTA co-founder Dominik Schiener announced yesterday via Discord, the launch of an alpha version of the IOTA Smart Contracts Protocol (ISCP) is imminent. After the IOTA Foundation had already published a first pre-alpha version in October last year, the long-awaited second-layer solution could now soon be available to a select group of testers.
As with previous projects, IOTA Foundation will use the “X teams,” a group of dedicated community members who work with IOTA Foundation staff at various stages of development, to get initial feedback. Schiener wrote via Discord:
Everyone that wants to start building IOTA Smart Contracts together with us for our Alpha release, please get ready. The X Teams will launch very soon.
IOTA relies on Rust and Go
In October, the IOTA Foundation unveiled three Proof of Concepts (PoC) developed to demonstrate the “state-of-the-art implementation of the IOTA Smart Contract Protocol (ISCP).” Along with this, the foundation also released a set of tools for developers to explore IOTA’s smart contract functionality.
The alpha release for X team will now allow external developers beyond the IOTA Foundation to write smart contracts for the first time. As Eric Hop, senior product owner for smart contracts at IOTA Foundation, revealed, both Rust and Go programming languages will be available at launch. “We’re working on documentation,” Hop added.
Other programming languages are conceivable, but will require an interface library to Wasm:
It’s not as straightforward as a language supporting Wasm. You still need to connect that specific language to the sandbox environment of the Wasp node. Think of it as providing the interface library for that language. We currently have the interface libraries for Rust and Go.
The design of our library is such that it should be straight-forward to create on other languages, but these other languages will need a proper Wasm code generation. Which is where most languages currently still lack. Even the Go implementation has a few packages that do not translate properly yet.
When asked if the sandbox environment will be “exactly” the same as the smart contracts will have on the mainnet, Hop revealed that it will be possible to migrate the smart contract from the testnet to the mainnet:
Yes. Once we can run on the mainnet the SCs you created on the testnet will simply run The design of the ISCP is very much compartimentalized. The consensus and VM modules are completely independent of the underlying Tangle implementation. Which in turn means that the Wasm VM is also completely independent of the underlying network.
Right now we use goshimmer because it provides the basic requirements we need (UTXO, colored tokens, and BLS signatures). But once those are available in Chrysalis we adapt the ISCP network layer to that and have it running there.