How to Deploy a Contract on the IELE Testnet

EMURGO
EMURGO Annoucements
3 min readSep 12, 2018

Brief Intro to IELE

Security exploits and multi-million dollars bugs in Ethereum smart contracts are a common occurrence and often times these bugs are the result of poor design decisions that were made when creating the EVM and Solidity. These kinds of design mistakes often happen in a first-to-market implementation, but it is time for us to move towards a more secure alternative to the EVM. IELE was designed to remove mistakes made in the design of the EVM and create a more secure smart contract environment that will run on the Cardano blockchain.

Brief intro to Remix

Remix is an IDE funded by the Ethereum Foundation to allow users to author and publish their smart contracts directly from the browser. Although it was originally designed for the EVM, a fork was created to instead support the IELE VM and that is what we will use in this blog post.

Link: https://iele-testnet.iohkdev.io/remix/

Authoring your contract

On the compiler tab, you can write your own smart contract in a (slightly modified version of) Solidity. We will not go into the differences of Solidity in the EVM vs. Solidity in IELE but more information about this can be found online (see the bottom of this article to read more).

From the “Details” button, you can see the IELE Assembly that is generated by your Solidity smart contract.

This may look familiar if you have previous experience in ARM assembly or have previously looked at LLVM IR. Again, we won’t go into how to write IELE Assembly in this blog post, but more information can be found online.

Deploying / running your contract

Once you click on the “Run” tab, you will see the following:

To be able to deploy / run your smart contract, you will have to

  1. Create an account (you need a password. Forgetting it is not a big deal on the testnet).
  2. Press “Get Funds” to receive your testnet tokens.
  3. Press the “Deploy” function (after filling any constructor arguments).
  4. Enter a reasonable gas price and confirm the transaction.

Now that your smart contract is deployed, you should see some functions appear that allow you to interact with your smart contract.

  • Green buttons represent calls that do not require a transaction to process (readonly).
  • Blue buttons represent calls that need to be done through the blockchain.

Writing in IELE directly

If you want to write your smart contract in IELE directly, you can do so by pressing the + button on the top-left. Create a new file with a name such as “test.iele” and simply start coding!

Find out more

Author: Sebastien Guillemot

--

--

EMURGO
EMURGO Annoucements

EMURGO drives the adoption of Cardano and adds value to ADA holders by building, investing in, and advising projects that adopt Cardano’s blockchain ecosystem.