Starting from today (May 4, around 13:00 UTC), you’ll be able to give Waves smart contracts’ outstanding functionality a try on testnet.

Waves has taken a carefully-considered approach to the implementation of smart contracts. The rollout of the long-anticipated Waves smart contracts is divided into two stages. The first one is already coming—non-Turing complete smart contracts were launched on 28 April on testnet, with activation following tomorrow. The initial release will allow the community to test non-Turing complete contracts, which will enable various account controls and other functionality. Only when these features have been thoroughly tested and activated on mainnet will fully Turing complete contracts follow.

Non-Turing complete smart contracts will cover the majority of the common use cases. It will be a universal and handy tool for implementing any business tasks you potentially might need—from exchanging tokens hosted on different blockchains to establishing precise mechanisms and terms for controlling a shared budget for your project or enterprise. Besides that, non-Turing complete smart contracts are fully secure: the user simply won’t be able to make mistake, so the contract will never be fulfilled incorrectly.

What Will Smart Contracts Bring to the Waves Platform?

"Waves smart contracts will initially include account and token controls, providing functionality for implementing the most-needed scenarios like multi-signature wallets, atomic swaps, two-factor authentication, as well as more elaborate protections for coins," comments Ilya Smagin, Head of Development for smart contracts. "We’ll also introduce a Data Transaction: a way to post Oracle data to blockchain, of course, available from within our smart contracts code."

"It’s really important to do this right. Non-Turing complete contracts will cover a large proportion of use cases, including smart accounts and smart tokens. These will be available from the Waves client for all users and will not require any specialist knowledge or expertise. Waves smart contracts will be much more user-friendly and safer to use, compared to alternatives," Waves CEO and founder Sasha Ivanov says.

So what kind of operations will it be possible to carry out with Waves smart accounts? One of the first and likely most immediately popular use cases for Waves smart contracts will be multi-signature accounts. These will require two or more users to approve a transaction before a transfer is made. This is a hugely important security feature and makes it possible for teams to manage their own finances securely and without giving control to any one individual. This will be particularly useful for token sales since funds can be held safely pending deployment.

Another useful application will be token freezing. This involves sending a token to a user, but ensuring it remains non-transferable and unspendable for a period of time. The most obvious use case for this is as a vesting mechanism or for team/contractor payments after an ICO takes place.

A further application of account controls is balance management. A user might want to make regular monthly payments, but to ensure that their account does not fall below a certain balance. Or they might want to keep a fixed amount of funds in one address and move everything above that to a separate account.

Sounds great, right? No wonder members of the crypto community have been repeating this mantra non-stop recently: "Waves to the moon!" Already the fastest blockchain in the world, with the release of smart contracts the Waves platform will become another step closer to becoming the most powerful and feature-rich blockchain ecosystem in existence. You can find out more about Waves’ implementation of smart contracts here. The white paper can be found here. You can try out the language of non-Turing complete Waves smart contracts here.