Dev-X Status Update
As you know, we’re currently hard at work doing the R&D for upgrade proposals to the Enigma Blockchain-- specifically, introducing secret contracts. The first step, however, will be to add smart contracts. The Enigma Blockchain will use cosmwasm as the foundation for smart contracts. Our first goals were to learn:
- What’s the current process for setting up a developer environment for the Enigma Blockchain?
- What’s the process for writing a smart contract for execution with cosmwasm?
- How is this different from Enigma Discovery or Ethereum? What are the new concepts and architectures developers will need to learn?
We want to get the answers to these questions because our next goal is to release a simple guide for getting started with contracts on the Enigma Blockchain within a developer sandbox.
Once we add secret contract functionality, we expect that contracts written without it will be able to easily add privacy.
Our WIP walkthrough:
When making this walkthrough, we started off using a simple contract for incrementing a counter.
As we continued to delve into cosmwasm, and work with their examples, we realized that the “kitchen sink” example of creating a “name service” would help us touch on all the different aspects that are required – for example, creating and working with wallets.
Our current plan is now to create a walkthrough for the name app tutorial specifically for the Enigma Blockchain developer environment. This should enable users to:
- Set up a developer environment
- Write a contract
- Deploy and instantiate a contract
- Talk with the contract from a dApp
- Create and use wallets
Here are a few of the things @taariq has been working on as part of this process:
- Adding a SCRT faucet to the developer network
- Modifying prefixes so examples point to the Enigma Blockchain
- Including the cosmwasm CLI in our examples
- Enable the docker Enigma Blockchain build to work on mac
We’ll have a few developers follow our guide before we publish it, to make sure we’ve covered everything. Would you like to be a beta tester for this process? Leave a note!