For the first article in this series, we’ll be covering the process of deploying an existing decentralized application to an Elastic Sidechain.

Nothing New To Learn

One of the best parts of SKALE is that there's nothing new to learn if you are already doing Ethereum development! That's right - if you have ever used Truffle and MetaMask, this will be a breeze for you!

The only difference in your setup for deploying to SKALE is that you will be using a custom RPC address from one of the running Elastic Sidechain testnets. As we continue to test and make Elastic Sidechain more robust and user friendly, we ask that you join our Discord to provide any feedback you may have on your experience and how we can improve! You’ll also need to join that to use our testnet faucet :)

Note: If you are attending ETHDenver 2019 and plan on competing for one of SKALE’s prizes or bounties, make sure to reserve your SKALE Chain here.

Deploying to the Testnet

First thing is first - make sure to connect to one of our testnets with your favorite web3 provider / wallet (we like MetaMask). Next, go to our faucet to get some testnet ETH!

Updating truffle.js

After you’ve confirmed receipt of your testnet ETH, you'll be able to deploy to your chosen testnet. Just as truffle can be used to deploy your smart contracts on to Ethereum, it can also be used to deploy them to SKALE! Simply update your truffle configuration file (truffle.js) to point to your Elastic Sidechain's IP Address / port and include your private key or MetaMask mnemonic to sign your dApp’s transactions.

NOTE: If you prefer to sign with your MetaMask account, the truffle-hdwallet-provider package allows you to use your MetaMask mnemonic. Alternatively, if you simply want to use a private key, utilizing the truffle-privatekey-provider package will make this possible.

Deploying Your Contracts

After you’ve configured your truffle.js file, running truffle migrate — network skale will deploy your contracts (assuming they don’t have syntax errors).

Once you've successfully deployed to SKALE - try experimenting a bit with some more complex smart contracts — remember, SKALE can handle much greater computation abilities at a fraction of the cost! So, any compromises you made on your code to fit it into the EVM can likely be reverted :)

Calling Your Contracts

As if that wasn't easy enough, after your code has been deployed, you can use web3.js or whatever you were already using to call your contracts as before! Because SKALE is written on the EVM, all existing tooling is 100% compatible — allowing you to continue focusing on #buidling instead of having to learn yet another toolset.

Congratulations, you are now running and calling contracts on a PoS testnet!

Learn More

If you are interested in trying out SKALE’s Elastic Sidechains out, make sure to join the SKALE community on Discord and check out the Developer Documentation! Also, feel free to also check out SKALE’s Technical Overview and Consensus Overview for a deeper dive into how SKALE works and is able to provide 20,000 TPS.


SKALE’s mission is to make it quick and easy to set up a cost-effective, high-performance sidechain that runs full-state smart contracts. We aim to deliver a performant experience to developers that offers speed and functionality without giving up security or decentralization. Follow us here on Telegram, Twitter, Discord, and sign up for updates via this form on the SKALE website.