Comment on page
Deploy a Solidity Smart Contract
In this tutorial, we will learn how to deploy a Solidity Smart Contract on the CESS blockchain. Solidity smart contracts are widely deployed on EVM-compatible chains, notably Ethereum. CESS blockchain is also EVM-compatible and allows Solidity developers to deploy their contracts on CESS with no or minimal changes.
You will need the following to deploy a Solidity smart contract to CESS.
- MetaMask: Required to get an Ethereum address and to connect to the CESS chain
- Access to CESS Node: Make sure the node allows access from MetaMask.
The following steps will guide you to deploy a Solidity contract on the CESS testnet.
Open the MetaMask setting tab, click on the Networks tab, click on Add a network and then Add a network manually.
Metamask: Adding a Network
On Add a network manually page, enter the following details:
Metamask: Adding CESS Testnet
Copy the account address from MetaMask.
Metamask: My Account
Substrate Address Converter
Input the following:
- Current Address Scheme: H160
- Change Address Prefix: *11330
- Intput address: your metamask account
Get the EVM address output.
CESS Explorer: Transfer Amount
To validate the funds are in the Ethereum account, open MetaMask and check that account has the funds transferred
Metamask: Check My Account
In File explorer, open the smart contract you wish to compile and then deploy.
Remix: Deploy a Contract
Once the file is selected, go to tab Solidity Compiler, you should see the selected file, press the Compile button to compile the contract. Once compiled, you’ll see the "green tick" mark and compiled (*.sol) file.
Remix: Contract Compiled
Go to Deploy and run Transactions, once the compilation is successful, you should see the compiled *.sol file selected, ready to be deployed. In the Environments drop-down, select Injected Provider - MetaMask and click deploy.
Remix: Deploy Contract to CESS
When you click Deploy, you will need to confirm in MetaMask to allow Remix to access the account and submit the transaction.
Click Confirm to submit the transaction to deploy the smart contract.
Metamask: Confirm Deploy Transaction
After the transaction is deployed and processed on-chain, you’ll see the following message.
Remix: Deployment Succeeded
In the Deployed Contracts section in the Remix, you can call the function of the smart contract.
Remix: Interact with the Contract
Substrate-EVM Address Converter
Copy the Ethereum equivalent address and use MetaMask to transfer fund.
CESS Explorer: Get Balance
To withdraw the balance from the Ethereum account to CESS account, follow the route Developer => Extrinsics => evm => withdraw.
CESS Explorer: Sending evm:withdraw Transaction
Validate the balances in Accounts tab of CESS Explorer.
CESS Explorer: Account Updated