Developing on the Oasis Devnet
This page provides an overview of developing smart contracts on the Oasis Devnet.
The Oasis Devnet has been created specifically for developers. In contrast to an open testnet, the Devnet is hosted by Oasis Labs, making it an easy-to-use, developer-friendly environment to preview a number of foundational features unique to Oasis.
Key features include:
Confidentiality framework including libraries to develop and test confidential smart contracts.
Contract Kit, a toolkit to develop and test smart contracts locally before they’re deployed on-chain. Includes support for both Rust and Solidity.
Ethereum backwards compatibility with support for existing Ethereum smart contracts, wallets, and developer tools.
Tutorials and resources, including a tutorial on building a secret ballot DApp.
We expect to issue one major upgrade of the Oasis Devnet per quarter. In addition to new features and experiences, some of these upgrades may require us to reset the Devnet's state. We will be sure to provide you with ample time and instructions to ensure this affects your own work on the Devnet as little as possible.
Smart Contract Development
Oasis supports several different runtimes, allowing you to develop your smart contract in multiple languages. For example, you can develop in Solidity, a simple language designed for smart contracts, or Rust, a general-purpose language that provides more flexiblity.
The choice of language will determine the tools you will use to develop your smart contracts.
Which Language Should I Use?
Solidity is a language designed specifically for Ethereum smart contracts. Solidity is a good choice when
- Your DApp is relatively simple and is not computation intensive
- You want to benefit from a more stable platform of smart contract developer tools
Rust is a general-purpose language like C++ which offers great flexibility when writing smart contracts. Rust is a good choice when
- You already know or want to learn Rust
- Your DApp requires complicated data structures and general-purpose computation
- You want to take advantage of the rich set of libraries that we will make available as part of our platform, including libraries for machine learning
If you are new to the Rust programming language we highly recommend you start with the official Rust tutorial. Once you are comfortable writing Rust code you can learn to develop smart contracts in Rust.
Compatibility with Ethereum
Oasis is fully compatible with Ethereum, which means you can migrate existing Ethereum smart contracts to Oasis with minimal modifications, and you can use existing Ethereum tools such as Remix and Truffle for development.
When using existing tools, be sure to specify the RPC URL
https://web3.oasiscloud.io as your web3
provider so your contracts are deployed to the Oasis Devnet.
A WebSocket endpoint is also available at
The WebSocket endpoint exposes a pub/sub interface similar to Parity's eth_pubsub module.
We appreciate your feedback on the Devnet. As an early developer, your feedback is crucial for helping us build a successful community and platform.
Please report all bugs and feature requests using our issue tracker.
For other questions and feedback please email firstname.lastname@example.org.
Please check back frequently as the documentation is being continuously improved. More tutorials are coming soon including:
- How to build a machine learning smart contract
- How to develop a multiplayer game on Oasis
Ready to start building a DApp? We recommend you get started with the Oasis Contract Kit.