Let’s write and deploy our first Ethereum smart contract in Solidity.
The process looks like this:
- we write our contract (in a high level language)
- compile it
- and deploy it to the network
- and after it’s been deployed we can interact with it
In order to write contracts on Ethereum, it’s really important to understand the context in which they are run.
The first thing that we’ll start with is the Ethereum Virtual Machine, or EVM for short.
The EVM is a low-level, assembly-like programming environment. It can perform arbitrary computations, put data in storage, read that data out, etc.
When we write code for Ethereum, we generally don’t write the bytecode directly. Instead we use a higher-level language that compiles down to these basic operations.
But under the hood, it’s this EVM bytecode that gets run.