Contract Kit: Making smart contract development faster and easier

The Oasis Labs Team
Oasis Labs
3 min readJan 8, 2019

--

When we launched the Oasis Devnet our goal was not only to provide a platform for privacy-preserving smart contracts, but also to make it easy for developers to build privacy-first applications. To do this, as a part of making releasing the Oasis Devnet we provided many features and resources including tutorials, sample code, support for multiple languages, backwards compatibility with Ethereum, and a brand new development tool called Contract Kit.

What is Contract Kit?

Contract Kit is a development environment including tools that our early developers — and that we internally — have found particularly useful for developing both simple and complex applications. Contract Kit makes building, testing, and deploying smart contracts for the Oasis Devnet faster and easier.

For example, Contract Kit allows developers to run a local blockchain to test smart contracts before they’re deployed to the Devnet. It also includes a set of tools and frameworks such as Truffle that are configured to work out of the box with the Oasis Devnet. As a result, developers can build and test their Oasis smart contracts in both Rust and Solidity, and can deploy confidentiality-preserving smart contracts, using these familiar development tools. This reduces the learning curve for building on the Oasis Devnet and ensures that existing Ethereum projects can be migrated to the Devnet with very few modifications.

You can learn more about how to use Contract Kit in this tutorial video by our co-founder and Chief Product Officer Noah Johnson.

Enabling an integrated development environment

In order to make Contract Kit a standalone environment, we’ve built it as a Docker image available for download. With a Docker image we can package highly interdependent tools, including our Web3C library as well as custom versions of third-party tools such as Truffle and Parity, while ensuring everything works seamlessly.

Internally, this was a major pain point for us prior to Contract Kit because these tools (i.e. Web3C, Truffle, Parity) require specific versions for compatibility. We’ve also added Devnet-specific enhancements that require additional dependencies (such as the Rust compiler for building Rust smart contracts).

By bundling the tools and dependencies into a Docker image, Contract Kit offers a pre-tested and reproducible environment for developers, allowing them to benefit from the full spectrum of Devnet functionality without manually installing and configuring each tool or worrying about version mismatches.

What does this mean for developers like you?

Contract Kit helps developers build and deploy smart contracts more efficiently. Internally we found that projects that could previously take a day or more can now be completed in just a few hours using Contract Kit. We hope Contract Kit lets you spend more time building exciting DApps and user experiences, and a whole lot less time learning new tools and configuring your development environment.

If you have feedback on Contract Kit, questions about how it works, or suggestions of how to make it better, let us know by going to feedback.oasiscloud.io. We can’t wait to hear from you and can’t wait to see what you build on the Devnet!

--

--