Intro
The feature is a work in progress. A preview version is deployed to the Westend Asset Hub Parachain to gather feedback during development. This documentation is also temporary and will be moved to docs.polkadot.com in 2025 once the feature is in production.
This documentation teaches you everything you need to know about smart contracts on Polkadot.
Our solution is Ethereum-compatible: You can write your contracts in Solidity and interact with the node using Ethereum JSON RPC alongside an Ethereum wallet like MetaMask. Under the hood, we recompile the contracts from YUL (EVM assembly) to RISC-V to run them using PolkaVM instead of EVM.
To keep things simple for now, you need to use our REMIX web frontend to compile your contracts to RISC-V and deploy them to Westend. Eventually, we will provide tools to accomplish this process locally. See this page for more information about Ethereum compatibility.
To develop an app that interacts with your contract, you can use any Ethereum JavaScript library of your choice. We
are using ethers.js
in our tests, which is the most popular library as of this writing.
Get in Touch
If you’d like to talk to us, please join Polkadot Discord, find our support channel under Technical -> solidity-smart-contracts
and say hello.
This is also where we handle support questions. If you found a bug, please report it,
but make sure to check the known issues first.
Contribute to this documentation
If you want to improve this documentation, please open a pull request here.