Skip to main content

Deploying a Smart Contract

Here we will deploy a Solidity smart contract on the Milkomeda C1 sidechain. In this example, we will use Remix to deploy the contract. You can access Remix by visiting the following link: Remix IDE

First, create the solidity smart contract file. Inside the Remix window, click the "Contracts" folder in the left panel, then click the "New File" button in the central panel.

Now you will be prompted to enter a filename for a new Solidity smart contract. The filename is arbitrary, but for the purposes of this example we will be deploying an ERC-20 smart contract so we will name the file "Test_ERC20.sol". Type the filename and press Enter. The cursor should move to the edit panel where you can input your Solidity code. Enter the following:

pragma solidity ^0.7.0;

import "";

contract Token is ERC20 {

constructor () ERC20("Token", "TKN") {
_mint(msg.sender, 1000000 * (10 ** uint256(decimals())));

Next, click the "Solidity compiler" icon on the left side of the screen, choose a compiler version (for this example we will use 0.7.6+commit.7338295f), and then click "Compile Test_ERC20.sol", as shown.

Click the "Deploy and run transactions" icon on the left, and from the "Environment" pulldown select "Injected Web3", as shown. This will bring up the MetaMask screen where you will need to click "Next" and then "Connect" to connect your C1 wallet with Remix.

With your MetaMask wallet now connected, click the "Deploy" button to deploy the smart contract to the Milkomeda C1 sidechain.

Confirm the transaction in MetaMask.

You should now see the following under "Deployed Contracts" on the left side of the Remix IDE screen.

Finally, let's look at how to unwrap our mTADA back into tADA on the Cardano Testnet.