Solidity smart contract on Acala chain

Ankit Raj
7 min readNov 23, 2020

If you have written any solidity smart contract then you must be knowing about Gavin Wood’s new project Polkadot. It’s one of the most promising projects in the blockchain ecosystem. Many new projects (infrastructure/ dapps ) are getting developed on top of Polkadot. One of them is Acala Network .

Acala is a one-stop end to end DeFi infra solution. The best part about this project is the speed of development. Within a short period, they have deployed the running network where different dapps can be built out. Also, Recently they have announced few bounties on gitcoin. There, you can upgrade your Rust skill and get some rewards.

Another best part about Acala is its EVM compatibility. Anyone having familiarity with the solidity can also deploy their dapp on Achala Network. In this article, I will guide you all the steps to deploy solidity smart contract on Acala testnet.

1. Set up your computer.

Acala core is been developed on Rust. To run the test net its mandatory to do Rust setup on your system. Open your favorite terminal and follow the process.

  1. Install CMake , pkg-config, OpenSSL & Git
sudo apt update# May prompt for location informationsudo apt install -y cmake pkg-config libssl-dev git build-essential clang libclang-dev curl

2. Install Rust. Add path to to shell startup script.

# Install
curl -sSf | sh
# Add the rust compiler and other tools to your PATH.
# Make sure to add this to your shell startup script, too.
source ~/.cargo/env

3. Initialize your WebAssembly build environment.

# Load settings into the current shell script if you can't use rustup command
# If you've run this before, you don't need to run it again. But doing so is harmless.
source ~/.cargo/env

# Update Rust
rustup update nightly
rustup update stable

# Add Wasm target
rustup target add wasm32-unknown-unknown --toolchain nightly

4. Configure the Rust toolchain to default to the latest stable version:

rustup default stable

2. Wasm compilation.

Acala uses WebAssembly (Wasm) to produce portable blockchain runtimes. You will need to configure your Rust compiler to use nightly builds to allow…

Ankit Raj

Blockchain Engineer | Distributed system | Ex- Red Hat | Ethereum foundation grantee