Where do nodes run a smart contract code?
Nodes run smart contracts code on Ethereum Virtual Machine (EVM). It is a virtual machine designed to operate as a runtime environment for Ethereum-based smart contracts.
EVM is operated in a sandboxed environment (isolated from the main network). This is a perfect testing environment.