# Deploy an Ethereum Smart Contract

By [ribion](https://paragraph.com/@ribion) · 2022-11-20

---

An Ethereum smart contract is basically a program that runs using the Ethereum Virtual Machine (EVM) in the Blockchain. An Ethereum address is assigned when it is created and each interaction uses a single transaction. The contract/application will have a state within the Blockchain and the state will change when you interact with it. It’s important to note that once the contract is sent to the Blockchain it can never be changed (it is immutable). You are able to upload the same contract again with changes but the previous contract will remain in place and they will run in parallel with no knowledge of each other. Quality assurance and testing smart contracts is essential before they go into the Mainnet. I did my [Certified Ethereum Developer](https://academy.b9lab.com/courses) and [Ethereum QA Engineer](https://academy.b9lab.com/courses) qualifications (amongst others) with [B9lab Academy](https://academy.b9lab.com/). The courses are really amazing and trainers are superb. If this is a topic of interest I highly recommend them.

---

*Originally published on [ribion](https://paragraph.com/@ribion/deploy-an-ethereum-smart-contract)*
