Les EVM sont des machines virtuelles. Elles sont hébergées sur le réseau principal d'Ethereum pour des développeurs souhaitant tester leurs smart contracts. Celles déployées sur le réseau principal consomme du gas, c'est une taxe en ETH en échange de l'utilisation CPU des machines virtuelles.
Avant tout, il faut savoir dans quel but installer une EVM. Si vous êtes développeur de smart contracts, vous souhaitez surement tester votre application sans dépenser vos précieux ETHs.
C'est d'ailleurs la raison principale d'existence des EVM locales : Tester son application.
Il faut en premier lieu compiler le code Solidity. Le bytecode ici complié agit comme un constructeur du contrat. Ainsi, le contrat est déployable à tous moments. Ensuite, ce code est envoyé sur le réseau principal Ethereum à l'aide de Web3js.
Lors de l'exécution du contrat dans l'EVM. La machine execute des opcodes (Code machine) afin de définir le champ d'action du contrat tel que sa consommation en gas, sa mémoire allouée, etc.

On peut par la suite accèder au contrat grâce à une ABI (Application Binary Interface)
